import { z } from 'zod'; export declare const FCP_VERSION = 1; export declare const ActorSchema: z.ZodObject<{ /** Stable identifier of the calling agent, e.g. "phaibel:gary@clift-labs". */ agent_id: z.ZodString; /** Optional Ed25519 signature of the canonical request, base64-encoded. */ signature: z.ZodOptional; /** Optional public-key reference (for peer discovery). */ pubkey: z.ZodOptional; }, "strip", z.ZodTypeAny, { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }, { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }>; export type Actor = z.infer; /** * Probe modes: * keyword — full-text search using provided keywords (default) * date — return entities for a specific date or range (use time_range) * todo — return open tasks / action items * latest — return most recently created/updated entities */ export declare const ProbeModeSchema: z.ZodEnum<["keyword", "date", "todo", "latest"]>; export type ProbeMode = z.infer; export declare const ProbeQuerySchema: z.ZodObject<{ /** Probe mode — controls how the source interprets the request. Default: "keyword". */ mode: z.ZodDefault>; /** Extracted keywords (stop words already removed). Required for mode="keyword", ignored otherwise. */ keywords: z.ZodDefault>; /** Optional hints to narrow the search. */ hints: z.ZodOptional>; }, "strip", z.ZodTypeAny, { entity_types?: string[] | undefined; }, { entity_types?: string[] | undefined; }>>; /** Optional time range — ISO-8601 dates. Used for mode="date". */ time_range: z.ZodOptional; to: z.ZodOptional; }, "strip", z.ZodTypeAny, { from?: string | undefined; to?: string | undefined; }, { from?: string | undefined; to?: string | undefined; }>>; /** Max results to return. Used for mode="latest". Default: 10. */ limit: z.ZodDefault; }, "strip", z.ZodTypeAny, { mode: "date" | "todo" | "keyword" | "latest"; keywords: string[]; limit: number; hints?: { entity_types?: string[] | undefined; } | undefined; time_range?: { from?: string | undefined; to?: string | undefined; } | undefined; }, { mode?: "date" | "todo" | "keyword" | "latest" | undefined; keywords?: string[] | undefined; hints?: { entity_types?: string[] | undefined; } | undefined; time_range?: { from?: string | undefined; to?: string | undefined; } | undefined; limit?: number | undefined; }>; export type ProbeQuery = z.infer; export declare const ProbeBudgetSchema: z.ZodObject<{ /** Soft deadline for the source to respond. */ max_latency_ms: z.ZodDefault; /** Cap the number of sample titles returned per type. */ max_matches_per_type: z.ZodDefault; }, "strip", z.ZodTypeAny, { max_latency_ms: number; max_matches_per_type: number; }, { max_latency_ms?: number | undefined; max_matches_per_type?: number | undefined; }>; export type ProbeBudget = z.infer; export declare const ProbeRequestSchema: z.ZodObject<{ fcp_version: z.ZodLiteral<1>; query: z.ZodObject<{ /** Probe mode — controls how the source interprets the request. Default: "keyword". */ mode: z.ZodDefault>; /** Extracted keywords (stop words already removed). Required for mode="keyword", ignored otherwise. */ keywords: z.ZodDefault>; /** Optional hints to narrow the search. */ hints: z.ZodOptional>; }, "strip", z.ZodTypeAny, { entity_types?: string[] | undefined; }, { entity_types?: string[] | undefined; }>>; /** Optional time range — ISO-8601 dates. Used for mode="date". */ time_range: z.ZodOptional; to: z.ZodOptional; }, "strip", z.ZodTypeAny, { from?: string | undefined; to?: string | undefined; }, { from?: string | undefined; to?: string | undefined; }>>; /** Max results to return. Used for mode="latest". Default: 10. */ limit: z.ZodDefault; }, "strip", z.ZodTypeAny, { mode: "date" | "todo" | "keyword" | "latest"; keywords: string[]; limit: number; hints?: { entity_types?: string[] | undefined; } | undefined; time_range?: { from?: string | undefined; to?: string | undefined; } | undefined; }, { mode?: "date" | "todo" | "keyword" | "latest" | undefined; keywords?: string[] | undefined; hints?: { entity_types?: string[] | undefined; } | undefined; time_range?: { from?: string | undefined; to?: string | undefined; } | undefined; limit?: number | undefined; }>; actor: z.ZodObject<{ /** Stable identifier of the calling agent, e.g. "phaibel:gary@clift-labs". */ agent_id: z.ZodString; /** Optional Ed25519 signature of the canonical request, base64-encoded. */ signature: z.ZodOptional; /** Optional public-key reference (for peer discovery). */ pubkey: z.ZodOptional; }, "strip", z.ZodTypeAny, { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }, { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }>; budget: z.ZodOptional; /** Cap the number of sample titles returned per type. */ max_matches_per_type: z.ZodDefault; }, "strip", z.ZodTypeAny, { max_latency_ms: number; max_matches_per_type: number; }, { max_latency_ms?: number | undefined; max_matches_per_type?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { query: { mode: "date" | "todo" | "keyword" | "latest"; keywords: string[]; limit: number; hints?: { entity_types?: string[] | undefined; } | undefined; time_range?: { from?: string | undefined; to?: string | undefined; } | undefined; }; fcp_version: 1; actor: { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }; budget?: { max_latency_ms: number; max_matches_per_type: number; } | undefined; }, { query: { mode?: "date" | "todo" | "keyword" | "latest" | undefined; keywords?: string[] | undefined; hints?: { entity_types?: string[] | undefined; } | undefined; time_range?: { from?: string | undefined; to?: string | undefined; } | undefined; limit?: number | undefined; }; fcp_version: 1; actor: { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }; budget?: { max_latency_ms?: number | undefined; max_matches_per_type?: number | undefined; } | undefined; }>; export type ProbeRequest = z.infer; export declare const ProbeMatchSampleSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; /** Relevance score 0..1. Source-specific ranking. */ score: z.ZodNumber; }, "strip", z.ZodTypeAny, { title: string; id: string; score: number; }, { title: string; id: string; score: number; }>; export type ProbeMatchSample = z.infer; export declare const ProbeMatchSchema: z.ZodObject<{ type: z.ZodString; count: z.ZodNumber; samples: z.ZodArray, "many">; }, "strip", z.ZodTypeAny, { type: string; count: number; samples: { title: string; id: string; score: number; }[]; }, { type: string; count: number; samples: { title: string; id: string; score: number; }[]; }>; export type ProbeMatch = z.infer; export declare const ProbeResponseSchema: z.ZodObject<{ fcp_version: z.ZodLiteral<1>; source: z.ZodString; source_trust: z.ZodOptional>; probed_at: z.ZodString; ttl_seconds: z.ZodDefault; matches: z.ZodArray, "many">; }, "strip", z.ZodTypeAny, { type: string; count: number; samples: { title: string; id: string; score: number; }[]; }, { type: string; count: number; samples: { title: string; id: string; score: number; }[]; }>, "many">; token_estimate: z.ZodOptional>; }, "strip", z.ZodTypeAny, { source: string; fcp_version: 1; probed_at: string; ttl_seconds: number; matches: { type: string; count: number; samples: { title: string; id: string; score: number; }[]; }[]; source_trust?: "public" | "own" | "team" | "peer" | undefined; token_estimate?: { probe: number; fetch_full: number; } | undefined; }, { source: string; fcp_version: 1; probed_at: string; matches: { type: string; count: number; samples: { title: string; id: string; score: number; }[]; }[]; source_trust?: "public" | "own" | "team" | "peer" | undefined; ttl_seconds?: number | undefined; token_estimate?: { probe: number; fetch_full: number; } | undefined; }>; export type ProbeResponse = z.infer; export declare const FetchDetailSchema: z.ZodEnum<["summary", "full"]>; export type FetchDetail = z.infer; export declare const FetchRequestSchema: z.ZodObject<{ fcp_version: z.ZodLiteral<1>; /** IDs previously returned by /fcp/probe samples. */ ids: z.ZodArray; detail: z.ZodDefault>; actor: z.ZodObject<{ /** Stable identifier of the calling agent, e.g. "phaibel:gary@clift-labs". */ agent_id: z.ZodString; /** Optional Ed25519 signature of the canonical request, base64-encoded. */ signature: z.ZodOptional; /** Optional public-key reference (for peer discovery). */ pubkey: z.ZodOptional; }, "strip", z.ZodTypeAny, { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }, { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }>; /** Free-text purpose string — used for audit logs. */ purpose: z.ZodOptional; }, "strip", z.ZodTypeAny, { fcp_version: 1; actor: { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }; ids: string[]; detail: "summary" | "full"; purpose?: string | undefined; }, { fcp_version: 1; actor: { agent_id: string; signature?: string | undefined; pubkey?: string | undefined; }; ids: string[]; detail?: "summary" | "full" | undefined; purpose?: string | undefined; }>; export type FetchRequest = z.infer; export declare const FetchedNodeSchema: z.ZodObject<{ id: z.ZodString; type: z.ZodString; title: z.ZodString; summary: z.ZodOptional; body: z.ZodOptional; meta: z.ZodOptional>; links: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: string; id: string; relation?: string | undefined; }, { type: string; id: string; relation?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { title: string; type: string; id: string; summary?: string | undefined; meta?: Record | undefined; links?: { type: string; id: string; relation?: string | undefined; }[] | undefined; body?: string | undefined; }, { title: string; type: string; id: string; summary?: string | undefined; meta?: Record | undefined; links?: { type: string; id: string; relation?: string | undefined; }[] | undefined; body?: string | undefined; }>; export type FetchedNode = z.infer; export declare const FetchResponseSchema: z.ZodObject<{ fcp_version: z.ZodLiteral<1>; source: z.ZodString; nodes: z.ZodArray; body: z.ZodOptional; meta: z.ZodOptional>; links: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: string; id: string; relation?: string | undefined; }, { type: string; id: string; relation?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { title: string; type: string; id: string; summary?: string | undefined; meta?: Record | undefined; links?: { type: string; id: string; relation?: string | undefined; }[] | undefined; body?: string | undefined; }, { title: string; type: string; id: string; summary?: string | undefined; meta?: Record | undefined; links?: { type: string; id: string; relation?: string | undefined; }[] | undefined; body?: string | undefined; }>, "many">; /** IDs the actor is not authorized to see. */ denied_ids: z.ZodDefault>; /** True if the response was truncated (too many results). */ truncated: z.ZodDefault; }, "strip", z.ZodTypeAny, { source: string; fcp_version: 1; nodes: { title: string; type: string; id: string; summary?: string | undefined; meta?: Record | undefined; links?: { type: string; id: string; relation?: string | undefined; }[] | undefined; body?: string | undefined; }[]; denied_ids: string[]; truncated: boolean; }, { source: string; fcp_version: 1; nodes: { title: string; type: string; id: string; summary?: string | undefined; meta?: Record | undefined; links?: { type: string; id: string; relation?: string | undefined; }[] | undefined; body?: string | undefined; }[]; denied_ids?: string[] | undefined; truncated?: boolean | undefined; }>; export type FetchResponse = z.infer; export declare const ManifestSchema: z.ZodObject<{ fcp_version: z.ZodLiteral<1>; /** Source identifier — must match the `source` in probe/fetch responses. */ source: z.ZodString; /** Human-readable name. */ name: z.ZodString; /** Entity types this source exposes. */ entity_types: z.ZodArray; /** Scopes supported — callers must request within these. */ scopes: z.ZodArray; /** Authentication methods accepted. */ auth_methods: z.ZodArray, "many">; /** Default trust tier this source self-declares. */ trust: z.ZodEnum<["own", "team", "peer", "public"]>; /** Optional contact info for operators. */ contact: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; entity_types: string[]; source: string; fcp_version: 1; scopes: string[]; auth_methods: ("none" | "bearer" | "signed")[]; trust: "public" | "own" | "team" | "peer"; contact?: string | undefined; }, { name: string; entity_types: string[]; source: string; fcp_version: 1; scopes: string[]; auth_methods: ("none" | "bearer" | "signed")[]; trust: "public" | "own" | "team" | "peer"; contact?: string | undefined; }>; export type Manifest = z.infer; export declare const SourceConfigSchema: z.ZodObject<{ /** Stable source ID — matches Manifest.source. */ id: z.ZodString; /** Base URL — endpoints are {url}/probe, {url}/fetch, {url}/manifest. */ url: z.ZodString; /** Human-readable description of what this source contains, e.g. "Employee directory". */ description: z.ZodOptional; /** Access mode — read: probe/fetch only; readwrite: can also create/update/delete nodes. */ mode: z.ZodDefault>; /** Trust tier assigned locally — may differ from source's self-declared trust. */ trust: z.ZodEnum<["own", "team", "peer", "public"]>; /** Authentication config. */ auth: z.ZodObject<{ type: z.ZodEnum<["bearer", "signed", "none"]>; token_ref: z.ZodOptional; pubkey_ref: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }, { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }>; /** Whitelist of entity types to probe. Empty = all. */ scopes: z.ZodDefault>; /** Disable without deleting the entry. */ enabled: z.ZodDefault; }, "strip", z.ZodTypeAny, { id: string; url: string; enabled: boolean; mode: "read" | "readwrite"; scopes: string[]; trust: "public" | "own" | "team" | "peer"; auth: { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }; description?: string | undefined; }, { id: string; url: string; trust: "public" | "own" | "team" | "peer"; auth: { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }; description?: string | undefined; enabled?: boolean | undefined; mode?: "read" | "readwrite" | undefined; scopes?: string[] | undefined; }>; export type SourceConfig = z.infer; export declare const SourceRegistrySchema: z.ZodObject<{ sources: z.ZodArray; /** Access mode — read: probe/fetch only; readwrite: can also create/update/delete nodes. */ mode: z.ZodDefault>; /** Trust tier assigned locally — may differ from source's self-declared trust. */ trust: z.ZodEnum<["own", "team", "peer", "public"]>; /** Authentication config. */ auth: z.ZodObject<{ type: z.ZodEnum<["bearer", "signed", "none"]>; token_ref: z.ZodOptional; pubkey_ref: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }, { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }>; /** Whitelist of entity types to probe. Empty = all. */ scopes: z.ZodDefault>; /** Disable without deleting the entry. */ enabled: z.ZodDefault; }, "strip", z.ZodTypeAny, { id: string; url: string; enabled: boolean; mode: "read" | "readwrite"; scopes: string[]; trust: "public" | "own" | "team" | "peer"; auth: { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }; description?: string | undefined; }, { id: string; url: string; trust: "public" | "own" | "team" | "peer"; auth: { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }; description?: string | undefined; enabled?: boolean | undefined; mode?: "read" | "readwrite" | undefined; scopes?: string[] | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { sources: { id: string; url: string; enabled: boolean; mode: "read" | "readwrite"; scopes: string[]; trust: "public" | "own" | "team" | "peer"; auth: { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }; description?: string | undefined; }[]; }, { sources: { id: string; url: string; trust: "public" | "own" | "team" | "peer"; auth: { type: "none" | "bearer" | "signed"; token_ref?: string | undefined; pubkey_ref?: string | undefined; }; description?: string | undefined; enabled?: boolean | undefined; mode?: "read" | "readwrite" | undefined; scopes?: string[] | undefined; }[]; }>; export type SourceRegistry = z.infer; //# sourceMappingURL=fcp-types.d.ts.map