// AUTO-GENERATED by scripts/generate.ts from .generated-specs. Do not edit. import * as S from "@distilled.cloud/core/schema"; import * as API from "@distilled.cloud/core/api"; import * as T from "../traits.ts"; import { CloudflareProtocol, CloudflarePaginatedProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { cloudflarePaginate, ResultInfo } from "../pagination.ts"; import { CloudflareError, CloudflareRateLimited } from "../errors.ts"; import * as Retry from "../retry.ts"; export type { CloudflareOpError, CloudflareOpContext }; /** Fallback camelCase→wire mapping for opaque content (mined from the distilled SDK). */ const KEY_DICTIONARY: Record> = { aiGatewayId: "ai_gateway_id", aiSearchModel: "ai_search_model", aiSearchOptions: "ai_search_options", authorizedHosts: "authorized_hosts", boostBy: "boost_by", cacheThreshold: "cache_threshold", cacheTtl: "cache_ttl", cfApiId: "cf_api_id", cfApiKey: "cf_api_key", chatCompletionsEndpoint: "chat_completions_endpoint", chunkOverlap: "chunk_overlap", chunkSize: "chunk_size", chunksCount: "chunks_count", contentSelector: "content_selector", contextExpansion: "context_expansion", crawlOptions: "crawl_options", createdAt: "created_at", createdBy: "created_by", createdFromAisearchWizard: "created_from_aisearch_wizard", customMetadata: "custom_metadata", dataType: "data_type", embeddingModel: "embedding_model", endByte: "end_byte", endReason: "end_reason", endedAt: "ended_at", engineVersion: "engine_version", excludeItems: "exclude_items", fieldName: "field_name", fileEmbedErrors: "file_embed_errors", fileSize: "file_size", fusionMethod: "fusion_method", hybridSearchEnabled: "hybrid_search_enabled", imageUrl: "image_url", includeExternalLinks: "include_external_links", includeHeaders: "include_headers", includeImages: "include_images", includeItems: "include_items", includeSubdomains: "include_subdomains", indexMethod: "index_method", indexSourceErrors: "index_source_errors", indexingOptions: "indexing_options", instanceId: "instance_id", instanceIds: "instance_ids", keywordMatchMode: "keyword_match_mode", keywordRank: "keyword_rank", keywordScore: "keyword_score", keywordTokenizer: "keyword_tokenizer", lastActivity: "last_activity", lastSeenAt: "last_seen_at", matchThreshold: "match_threshold", maxAge: "max_age", maxNumResults: "max_num_results", messageType: "message_type", modifiedAt: "modified_at", modifiedBy: "modified_by", nextAction: "next_action", parseOptions: "parse_options", parseType: "parse_type", perPage: "per_page", periodMs: "period_ms", publicEndpointId: "public_endpoint_id", publicEndpointParams: "public_endpoint_params", queryKind: "query_kind", queryRewrite: "query_rewrite", r2Jurisdiction: "r2_jurisdiction", rateLimit: "rate_limit", rerankingModel: "reranking_model", rerankingScore: "reranking_score", resultInfo: "result_info", retrievalOptions: "retrieval_options", retrievalType: "retrieval_type", returnOnFailure: "return_on_failure", rewriteModel: "rewrite_model", rewritePrompt: "rewrite_prompt", rewriteQuery: "rewrite_query", scoreThreshold: "score_threshold", scoringDetails: "scoring_details", searchEndpoint: "search_endpoint", searchQuery: "search_query", sourceId: "source_id", sourceParams: "source_params", specificSitemaps: "specific_sitemaps", startByte: "start_byte", startedAt: "started_at", storageId: "storage_id", storageType: "storage_type", storeOptions: "store_options", summarizationModel: "summarization_model", syncInterval: "sync_interval", systemPromptAiSearch: "system_prompt_ai_search", systemPromptIndexSummarization: "system_prompt_index_summarization", systemPromptRewriteQuery: "system_prompt_rewrite_query", tokenId: "token_id", totalCount: "total_count", useBrowserRendering: "use_browser_rendering", vectorRank: "vector_rank", vectorScore: "vector_score", waitForCompletion: "wait_for_completion", webCrawler: "web_crawler", workerDomain: "worker_domain", }; export class AiSearchInstanceNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "AiSearchInstanceNotFound", { code: S.Number, message: S.String, }, ), [ { code: 7002 }, { status: 404, message: { includes: "ai_search_not_found" } }, ], ) {} export class Forbidden extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("Forbidden", { code: S.Number, message: S.String, }), [{ status: 403 }], ) {} export class InstanceAlreadyExists extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "InstanceAlreadyExists", { code: S.Number, message: S.String, }, ), [{ status: 400, message: { includes: "already_exist" } }], ) {} export class InvalidRoute extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("InvalidRoute", { code: S.Number, message: S.String, }), [{ code: 7003 }], ) {} export class InvalidTokenCredentials extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "InvalidTokenCredentials", { code: S.Number, message: S.String, }, ), [{ code: 7012 }, { status: 400, message: { includes: "invalid_token" } }], ) {} export class MissingSitemap extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("MissingSitemap", { code: S.Number, message: S.String, }), [{ status: 400, message: { includes: "missing_sitemap" } }], ) {} export class NamespaceAlreadyExists extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "NamespaceAlreadyExists", { code: S.Number, message: S.String, }, ), [{ code: 7064 }], ) {} export class NamespaceNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("NamespaceNotFound", { code: S.Number, message: S.String, }), [ { code: 7063 }, { status: 404, message: { includes: "namespace_not_found" } }, ], ) {} export class NotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("NotFound", { code: S.Number, message: S.String, }), [{ code: 7002 }], ) {} export class SyncInCooldown extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("SyncInCooldown", { code: S.Number, message: S.String, }), [{ code: 7020 }], ) {} export class TokenInUseByInstances extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "TokenInUseByInstances", { code: S.Number, message: S.String, }, ), [{ status: 409, message: { includes: "token_in_use_by_instances" } }], ) {} export class TokenNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("TokenNotFound", { code: S.Number, message: S.String, }), [{ code: 7075 }], ) {} export class UnableToConnect extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("UnableToConnect", { code: S.Number, message: S.String, }), [{ code: 7017 }], ) {} export class ValidationError extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("ValidationError", { code: S.Number, message: S.String, }), [{ code: 7001 }], ) {} export class WebCrawlerDomainNotOwned extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "WebCrawlerDomainNotOwned", { code: S.Number, message: S.String, }, ), [{ status: 400, message: { includes: "domain_not_owned_by_user" } }], ) {} export type InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type = "text"; export const InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0 { text: string; type: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type; } export const InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type, }), ).annotate({ identifier: "InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0", }) as any as S.Schema; export interface InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl { url: string; } export const InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl = /*@__PURE__*/ S.suspend(() => S.Struct({ url: S.String, }), ).annotate({ identifier: "InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl", }) as any as S.Schema; export type InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type = "image_url"; export const InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type; } export const InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type, }), ).annotate({ identifier: "InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1", }) as any as S.Schema; export type InstancesChatCompletionsRequestMessagesItemContentCase1Item = | InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0 | InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1; export const InstancesChatCompletionsRequestMessagesItemContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type InstancesChatCompletionsRequestMessagesItemContentCase1List = Array; export const InstancesChatCompletionsRequestMessagesItemContentCase1List = /*@__PURE__*/ S.Array( InstancesChatCompletionsRequestMessagesItemContentCase1Item, ) as any as S.Schema; export type InstancesChatCompletionsRequestMessagesItemContent = | string | InstancesChatCompletionsRequestMessagesItemContentCase1List; export const InstancesChatCompletionsRequestMessagesItemContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type InstancesChatCompletionsRequestMessagesItemRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const InstancesChatCompletionsRequestMessagesItemRole = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsRequestMessagesItem { content?: InstancesChatCompletionsRequestMessagesItemContent | null; role: InstancesChatCompletionsRequestMessagesItemRole | (string & {}); } export const InstancesChatCompletionsRequestMessagesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ content: S.optional( S.NullOr(InstancesChatCompletionsRequestMessagesItemContent), ), role: InstancesChatCompletionsRequestMessagesItemRole, }), ).annotate({ identifier: "InstancesChatCompletionsRequestMessagesItem", }) as any as S.Schema; export type InstancesChatCompletionsRequestMessagesList = Array; export const InstancesChatCompletionsRequestMessagesList = /*@__PURE__*/ S.Array( InstancesChatCompletionsRequestMessagesItem, ) as any as S.Schema; export type InstancesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsRequestAiSearchOptionsCache { cacheThreshold?: | InstancesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold | (string & {}); enabled?: boolean; } export const InstancesChatCompletionsRequestAiSearchOptionsCache = /*@__PURE__*/ S.suspend(() => S.Struct({ cacheThreshold: S.optional( InstancesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold.pipe( T.Body("cache_threshold"), ), ), enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "InstancesChatCompletionsRequestAiSearchOptionsCache", }) as any as S.Schema; export type InstancesChatCompletionsRequestAiSearchOptionsQueryRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesChatCompletionsRequestAiSearchOptionsQueryRewriteModel = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsRequestAiSearchOptionsQueryRewrite { enabled?: boolean; model?: | InstancesChatCompletionsRequestAiSearchOptionsQueryRewriteModel | (string & {}); rewritePrompt?: string; } export const InstancesChatCompletionsRequestAiSearchOptionsQueryRewrite = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), model: S.optional( InstancesChatCompletionsRequestAiSearchOptionsQueryRewriteModel, ), rewritePrompt: S.optional(S.String.pipe(T.Body("rewrite_prompt"))), }), ).annotate({ identifier: "InstancesChatCompletionsRequestAiSearchOptionsQueryRewrite", }) as any as S.Schema; export type InstancesChatCompletionsRequestAiSearchOptionsRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesChatCompletionsRequestAiSearchOptionsRerankingModel = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsRequestAiSearchOptionsReranking { enabled?: boolean; matchThreshold?: number; model?: | InstancesChatCompletionsRequestAiSearchOptionsRerankingModel | (string & {}); } export const InstancesChatCompletionsRequestAiSearchOptionsReranking = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), model: S.optional( InstancesChatCompletionsRequestAiSearchOptionsRerankingModel, ), }), ).annotate({ identifier: "InstancesChatCompletionsRequestAiSearchOptionsReranking", }) as any as S.Schema; export type InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection | (string & {}); } export const InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection, ), }), ).annotate({ identifier: "InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem", }) as any as S.Schema; export type InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList = Array; export const InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList = /*@__PURE__*/ S.Array( InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem, ) as any as S.Schema; export type InstancesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap = { [key: string]: unknown | undefined }; export const InstancesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type InstancesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod = | "max" | "rrf"; export const InstancesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod = /*@__PURE__*/ S.String; export type InstancesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode = | "and" | "or"; export const InstancesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode = /*@__PURE__*/ S.String; export type InstancesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType = | "vector" | "keyword" | "hybrid"; export const InstancesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsRequestAiSearchOptionsRetrieval { /** Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList; contextExpansion?: number; filters?: InstancesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap; fusionMethod?: | InstancesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod | (string & {}); /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. When omitted, falls back to the instance-level retrieval_options.keyword_match_mode, then to 'and'. */ keywordMatchMode?: | InstancesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode | (string & {}); matchThreshold?: number; maxNumResults?: number; retrievalType?: | InstancesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType | (string & {}); returnOnFailure?: boolean; } export const InstancesChatCompletionsRequestAiSearchOptionsRetrieval = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( InstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList.pipe( T.Body("boost_by"), ), ), contextExpansion: S.optional(S.Number.pipe(T.Body("context_expansion"))), filters: S.optional( InstancesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap, ), fusionMethod: S.optional( InstancesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod.pipe( T.Body("fusion_method"), ), ), keywordMatchMode: S.optional( InstancesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), retrievalType: S.optional( InstancesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType.pipe( T.Body("retrieval_type"), ), ), returnOnFailure: S.optional(S.Boolean.pipe(T.Body("return_on_failure"))), }), ).annotate({ identifier: "InstancesChatCompletionsRequestAiSearchOptionsRetrieval", }) as any as S.Schema; export interface InstancesChatCompletionsRequestAiSearchOptions { cache?: InstancesChatCompletionsRequestAiSearchOptionsCache; queryRewrite?: InstancesChatCompletionsRequestAiSearchOptionsQueryRewrite; reranking?: InstancesChatCompletionsRequestAiSearchOptionsReranking; retrieval?: InstancesChatCompletionsRequestAiSearchOptionsRetrieval; } export const InstancesChatCompletionsRequestAiSearchOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ cache: S.optional(InstancesChatCompletionsRequestAiSearchOptionsCache), queryRewrite: S.optional( InstancesChatCompletionsRequestAiSearchOptionsQueryRewrite.pipe( T.Body("query_rewrite"), ), ), reranking: S.optional( InstancesChatCompletionsRequestAiSearchOptionsReranking, ), retrieval: S.optional( InstancesChatCompletionsRequestAiSearchOptionsRetrieval, ), }), ).annotate({ identifier: "InstancesChatCompletionsRequestAiSearchOptions", }) as any as S.Schema; export type InstancesChatCompletionsRequestModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesChatCompletionsRequestModel = /*@__PURE__*/ S.String; export interface ChatCompletionsInstanceRequest { accountId: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; messages: InstancesChatCompletionsRequestMessagesList; aiSearchOptions?: InstancesChatCompletionsRequestAiSearchOptions; model?: InstancesChatCompletionsRequestModel | (string & {}); stream?: boolean; } export const ChatCompletionsInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), messages: InstancesChatCompletionsRequestMessagesList, aiSearchOptions: S.optional( InstancesChatCompletionsRequestAiSearchOptions.pipe( T.Body("ai_search_options"), ), ), model: S.optional(InstancesChatCompletionsRequestModel), stream: S.optional(S.Boolean), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/instances/{id}/chat/completions", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChatCompletionsInstanceRequest", }) as any as S.Schema; export type InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type = "text"; export const InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 { text: string; type: InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type; } export const InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type, }), ).annotate({ identifier: "InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0", }) as any as S.Schema; export type InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export const InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export type InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type = "image_url"; export const InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type; } export const InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type, }), ).annotate({ identifier: "InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1", }) as any as S.Schema; export type InstancesChatCompletionsResponseChoicesItemMessageContentCase1Item = | InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 | InstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1; export const InstancesChatCompletionsResponseChoicesItemMessageContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type InstancesChatCompletionsResponseChoicesItemMessageContentCase1List = Array; export const InstancesChatCompletionsResponseChoicesItemMessageContentCase1List = /*@__PURE__*/ S.Array( InstancesChatCompletionsResponseChoicesItemMessageContentCase1Item, ) as any as S.Schema; export type InstancesChatCompletionsResponseChoicesItemMessageContent = | string | InstancesChatCompletionsResponseChoicesItemMessageContentCase1List; export const InstancesChatCompletionsResponseChoicesItemMessageContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type InstancesChatCompletionsResponseChoicesItemMessageRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const InstancesChatCompletionsResponseChoicesItemMessageRole = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsResponseChoicesItemMessage { content: InstancesChatCompletionsResponseChoicesItemMessageContent; role: InstancesChatCompletionsResponseChoicesItemMessageRole; } export const InstancesChatCompletionsResponseChoicesItemMessage = /*@__PURE__*/ S.suspend(() => S.Struct({ content: InstancesChatCompletionsResponseChoicesItemMessageContent, role: InstancesChatCompletionsResponseChoicesItemMessageRole, }), ).annotate({ identifier: "InstancesChatCompletionsResponseChoicesItemMessage", }) as any as S.Schema; export interface InstancesChatCompletionsResponseChoicesItem { message: InstancesChatCompletionsResponseChoicesItemMessage; index?: number | null; } export const InstancesChatCompletionsResponseChoicesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ message: InstancesChatCompletionsResponseChoicesItemMessage, index: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "InstancesChatCompletionsResponseChoicesItem", }) as any as S.Schema; export type InstancesChatCompletionsResponseChoicesList = Array; export const InstancesChatCompletionsResponseChoicesList = /*@__PURE__*/ S.Array( InstancesChatCompletionsResponseChoicesItem, ) as any as S.Schema; export type InstancesChatCompletionsResponseChunksItemItemMetadataMap = { [key: string]: unknown | undefined; }; export const InstancesChatCompletionsResponseChunksItemItemMetadataMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export interface InstancesChatCompletionsResponseChunksItemItem { key: string; metadata?: InstancesChatCompletionsResponseChunksItemItemMetadataMap | null; timestamp?: number | null; } export const InstancesChatCompletionsResponseChunksItemItem = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.String, metadata: S.optional( S.NullOr(InstancesChatCompletionsResponseChunksItemItemMetadataMap), ), timestamp: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "InstancesChatCompletionsResponseChunksItemItem", }) as any as S.Schema; export type InstancesChatCompletionsResponseChunksItemScoringDetailsFusionMethod = | "rrf" | "max"; export const InstancesChatCompletionsResponseChunksItemScoringDetailsFusionMethod = /*@__PURE__*/ S.String; export interface InstancesChatCompletionsResponseChunksItemScoringDetails { fusionMethod?: InstancesChatCompletionsResponseChunksItemScoringDetailsFusionMethod | null; keywordRank?: number | null; keywordScore?: number | null; rerankingScore?: number | null; vectorRank?: number | null; vectorScore?: number | null; } export const InstancesChatCompletionsResponseChunksItemScoringDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ fusionMethod: S.optional( S.NullOr( InstancesChatCompletionsResponseChunksItemScoringDetailsFusionMethod, ).pipe(T.Body("fusion_method")), ), keywordRank: S.optional(S.NullOr(S.Number).pipe(T.Body("keyword_rank"))), keywordScore: S.optional( S.NullOr(S.Number).pipe(T.Body("keyword_score")), ), rerankingScore: S.optional( S.NullOr(S.Number).pipe(T.Body("reranking_score")), ), vectorRank: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_rank"))), vectorScore: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_score"))), }), ).annotate({ identifier: "InstancesChatCompletionsResponseChunksItemScoringDetails", }) as any as S.Schema; export interface InstancesChatCompletionsResponseChunksItem { id: string; score: number; text: string; type: string; item?: InstancesChatCompletionsResponseChunksItemItem | null; scoringDetails?: InstancesChatCompletionsResponseChunksItemScoringDetails | null; } export const InstancesChatCompletionsResponseChunksItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, score: S.Number, text: S.String, type: S.String, item: S.optional( S.NullOr(InstancesChatCompletionsResponseChunksItemItem), ), scoringDetails: S.optional( S.NullOr(InstancesChatCompletionsResponseChunksItemScoringDetails).pipe( T.Body("scoring_details"), ), ), }), ).annotate({ identifier: "InstancesChatCompletionsResponseChunksItem", }) as any as S.Schema; export type InstancesChatCompletionsResponseChunksList = Array; export const InstancesChatCompletionsResponseChunksList = /*@__PURE__*/ S.Array( InstancesChatCompletionsResponseChunksItem, ) as any as S.Schema; /** Raw response payload (operation does not use the standard v4 result envelope). */ export interface ChatCompletionsInstanceResponse { choices: InstancesChatCompletionsResponseChoicesList; chunks: InstancesChatCompletionsResponseChunksList; id?: string | null; model?: string | null; object?: string | null; } export const ChatCompletionsInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ choices: InstancesChatCompletionsResponseChoicesList, chunks: InstancesChatCompletionsResponseChunksList, id: S.optional(S.NullOr(S.String)), model: S.optional(S.NullOr(S.String)), object: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChatCompletionsInstanceResponse", }) as any as S.Schema; export type NamespacesChatCompletionsRequestAiSearchOptionsInstanceIdsList = Array; export const NamespacesChatCompletionsRequestAiSearchOptionsInstanceIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsRequestAiSearchOptionsCache { cacheThreshold?: | NamespacesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold | (string & {}); enabled?: boolean; } export const NamespacesChatCompletionsRequestAiSearchOptionsCache = /*@__PURE__*/ S.suspend(() => S.Struct({ cacheThreshold: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold.pipe( T.Body("cache_threshold"), ), ), enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "NamespacesChatCompletionsRequestAiSearchOptionsCache", }) as any as S.Schema; export type NamespacesChatCompletionsRequestAiSearchOptionsQueryRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesChatCompletionsRequestAiSearchOptionsQueryRewriteModel = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsRequestAiSearchOptionsQueryRewrite { enabled?: boolean; model?: | NamespacesChatCompletionsRequestAiSearchOptionsQueryRewriteModel | (string & {}); rewritePrompt?: string; } export const NamespacesChatCompletionsRequestAiSearchOptionsQueryRewrite = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), model: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsQueryRewriteModel, ), rewritePrompt: S.optional(S.String.pipe(T.Body("rewrite_prompt"))), }), ).annotate({ identifier: "NamespacesChatCompletionsRequestAiSearchOptionsQueryRewrite", }) as any as S.Schema; export type NamespacesChatCompletionsRequestAiSearchOptionsRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesChatCompletionsRequestAiSearchOptionsRerankingModel = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsRequestAiSearchOptionsReranking { enabled?: boolean; matchThreshold?: number; model?: | NamespacesChatCompletionsRequestAiSearchOptionsRerankingModel | (string & {}); } export const NamespacesChatCompletionsRequestAiSearchOptionsReranking = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), model: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsRerankingModel, ), }), ).annotate({ identifier: "NamespacesChatCompletionsRequestAiSearchOptionsReranking", }) as any as S.Schema; export type NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection | (string & {}); } export const NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection, ), }), ).annotate({ identifier: "NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem", }) as any as S.Schema; export type NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList = Array; export const NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList = /*@__PURE__*/ S.Array( NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem, ) as any as S.Schema; export type NamespacesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap = { [key: string]: unknown | undefined }; export const NamespacesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type NamespacesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod = | "max" | "rrf"; export const NamespacesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod = /*@__PURE__*/ S.String; export type NamespacesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode = | "and" | "or"; export const NamespacesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode = /*@__PURE__*/ S.String; export type NamespacesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType = | "vector" | "keyword" | "hybrid"; export const NamespacesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsRequestAiSearchOptionsRetrieval { /** Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList; contextExpansion?: number; filters?: NamespacesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap; fusionMethod?: | NamespacesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod | (string & {}); /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. When omitted, falls back to the instance-level retrieval_options.keyword_match_mode, then to 'and'. */ keywordMatchMode?: | NamespacesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode | (string & {}); matchThreshold?: number; maxNumResults?: number; retrievalType?: | NamespacesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType | (string & {}); returnOnFailure?: boolean; } export const NamespacesChatCompletionsRequestAiSearchOptionsRetrieval = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList.pipe( T.Body("boost_by"), ), ), contextExpansion: S.optional(S.Number.pipe(T.Body("context_expansion"))), filters: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap, ), fusionMethod: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod.pipe( T.Body("fusion_method"), ), ), keywordMatchMode: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), retrievalType: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType.pipe( T.Body("retrieval_type"), ), ), returnOnFailure: S.optional(S.Boolean.pipe(T.Body("return_on_failure"))), }), ).annotate({ identifier: "NamespacesChatCompletionsRequestAiSearchOptionsRetrieval", }) as any as S.Schema; export interface NamespacesChatCompletionsRequestAiSearchOptions { instanceIds: NamespacesChatCompletionsRequestAiSearchOptionsInstanceIdsList; cache?: NamespacesChatCompletionsRequestAiSearchOptionsCache; queryRewrite?: NamespacesChatCompletionsRequestAiSearchOptionsQueryRewrite; reranking?: NamespacesChatCompletionsRequestAiSearchOptionsReranking; retrieval?: NamespacesChatCompletionsRequestAiSearchOptionsRetrieval; } export const NamespacesChatCompletionsRequestAiSearchOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ instanceIds: NamespacesChatCompletionsRequestAiSearchOptionsInstanceIdsList.pipe( T.Body("instance_ids"), ), cache: S.optional(NamespacesChatCompletionsRequestAiSearchOptionsCache), queryRewrite: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsQueryRewrite.pipe( T.Body("query_rewrite"), ), ), reranking: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsReranking, ), retrieval: S.optional( NamespacesChatCompletionsRequestAiSearchOptionsRetrieval, ), }), ).annotate({ identifier: "NamespacesChatCompletionsRequestAiSearchOptions", }) as any as S.Schema; export type NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type = "text"; export const NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase0 { text: string; type: NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type; } export const NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type, }), ).annotate({ identifier: "NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase0", }) as any as S.Schema; export type NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export const NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export type NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type = "image_url"; export const NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type; } export const NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type, }), ).annotate({ identifier: "NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1", }) as any as S.Schema; export type NamespacesChatCompletionsRequestMessagesItemContentCase1Item = | NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase0 | NamespacesChatCompletionsRequestMessagesItemContentCase1ItemCase1; export const NamespacesChatCompletionsRequestMessagesItemContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type NamespacesChatCompletionsRequestMessagesItemContentCase1List = Array; export const NamespacesChatCompletionsRequestMessagesItemContentCase1List = /*@__PURE__*/ S.Array( NamespacesChatCompletionsRequestMessagesItemContentCase1Item, ) as any as S.Schema; export type NamespacesChatCompletionsRequestMessagesItemContent = | string | NamespacesChatCompletionsRequestMessagesItemContentCase1List; export const NamespacesChatCompletionsRequestMessagesItemContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type NamespacesChatCompletionsRequestMessagesItemRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const NamespacesChatCompletionsRequestMessagesItemRole = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsRequestMessagesItem { content?: NamespacesChatCompletionsRequestMessagesItemContent | null; role: NamespacesChatCompletionsRequestMessagesItemRole | (string & {}); } export const NamespacesChatCompletionsRequestMessagesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ content: S.optional( S.NullOr(NamespacesChatCompletionsRequestMessagesItemContent), ), role: NamespacesChatCompletionsRequestMessagesItemRole, }), ).annotate({ identifier: "NamespacesChatCompletionsRequestMessagesItem", }) as any as S.Schema; export type NamespacesChatCompletionsRequestMessagesList = Array; export const NamespacesChatCompletionsRequestMessagesList = /*@__PURE__*/ S.Array( NamespacesChatCompletionsRequestMessagesItem, ) as any as S.Schema; export type NamespacesChatCompletionsRequestModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesChatCompletionsRequestModel = /*@__PURE__*/ S.String; export interface ChatCompletionsNamespaceRequest { accountId: string; name: string; aiSearchOptions: NamespacesChatCompletionsRequestAiSearchOptions; messages: NamespacesChatCompletionsRequestMessagesList; model?: NamespacesChatCompletionsRequestModel | (string & {}); stream?: boolean; } export const ChatCompletionsNamespaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), aiSearchOptions: NamespacesChatCompletionsRequestAiSearchOptions.pipe( T.Body("ai_search_options"), ), messages: NamespacesChatCompletionsRequestMessagesList, model: S.optional(NamespacesChatCompletionsRequestModel), stream: S.optional(S.Boolean), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/chat/completions", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChatCompletionsNamespaceRequest", }) as any as S.Schema; export type NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type = "text"; export const NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 { text: string; type: NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type; } export const NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type, }), ).annotate({ identifier: "NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0", }) as any as S.Schema; export type NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export const NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export type NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type = "image_url"; export const NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type; } export const NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type, }), ).annotate({ identifier: "NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1", }) as any as S.Schema; export type NamespacesChatCompletionsResponseChoicesItemMessageContentCase1Item = | NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 | NamespacesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1; export const NamespacesChatCompletionsResponseChoicesItemMessageContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type NamespacesChatCompletionsResponseChoicesItemMessageContentCase1List = Array; export const NamespacesChatCompletionsResponseChoicesItemMessageContentCase1List = /*@__PURE__*/ S.Array( NamespacesChatCompletionsResponseChoicesItemMessageContentCase1Item, ) as any as S.Schema; export type NamespacesChatCompletionsResponseChoicesItemMessageContent = | string | NamespacesChatCompletionsResponseChoicesItemMessageContentCase1List; export const NamespacesChatCompletionsResponseChoicesItemMessageContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type NamespacesChatCompletionsResponseChoicesItemMessageRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const NamespacesChatCompletionsResponseChoicesItemMessageRole = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsResponseChoicesItemMessage { content: NamespacesChatCompletionsResponseChoicesItemMessageContent; role: NamespacesChatCompletionsResponseChoicesItemMessageRole; } export const NamespacesChatCompletionsResponseChoicesItemMessage = /*@__PURE__*/ S.suspend(() => S.Struct({ content: NamespacesChatCompletionsResponseChoicesItemMessageContent, role: NamespacesChatCompletionsResponseChoicesItemMessageRole, }), ).annotate({ identifier: "NamespacesChatCompletionsResponseChoicesItemMessage", }) as any as S.Schema; export interface NamespacesChatCompletionsResponseChoicesItem { message: NamespacesChatCompletionsResponseChoicesItemMessage; index?: number | null; } export const NamespacesChatCompletionsResponseChoicesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ message: NamespacesChatCompletionsResponseChoicesItemMessage, index: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "NamespacesChatCompletionsResponseChoicesItem", }) as any as S.Schema; export type NamespacesChatCompletionsResponseChoicesList = Array; export const NamespacesChatCompletionsResponseChoicesList = /*@__PURE__*/ S.Array( NamespacesChatCompletionsResponseChoicesItem, ) as any as S.Schema; export type NamespacesChatCompletionsResponseChunksItemItemMetadataMap = { [key: string]: unknown | undefined; }; export const NamespacesChatCompletionsResponseChunksItemItemMetadataMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export interface NamespacesChatCompletionsResponseChunksItemItem { key: string; metadata?: NamespacesChatCompletionsResponseChunksItemItemMetadataMap | null; timestamp?: number | null; } export const NamespacesChatCompletionsResponseChunksItemItem = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.String, metadata: S.optional( S.NullOr(NamespacesChatCompletionsResponseChunksItemItemMetadataMap), ), timestamp: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "NamespacesChatCompletionsResponseChunksItemItem", }) as any as S.Schema; export type NamespacesChatCompletionsResponseChunksItemScoringDetailsFusionMethod = | "rrf" | "max"; export const NamespacesChatCompletionsResponseChunksItemScoringDetailsFusionMethod = /*@__PURE__*/ S.String; export interface NamespacesChatCompletionsResponseChunksItemScoringDetails { fusionMethod?: NamespacesChatCompletionsResponseChunksItemScoringDetailsFusionMethod | null; keywordRank?: number | null; keywordScore?: number | null; rerankingScore?: number | null; vectorRank?: number | null; vectorScore?: number | null; } export const NamespacesChatCompletionsResponseChunksItemScoringDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ fusionMethod: S.optional( S.NullOr( NamespacesChatCompletionsResponseChunksItemScoringDetailsFusionMethod, ).pipe(T.Body("fusion_method")), ), keywordRank: S.optional(S.NullOr(S.Number).pipe(T.Body("keyword_rank"))), keywordScore: S.optional( S.NullOr(S.Number).pipe(T.Body("keyword_score")), ), rerankingScore: S.optional( S.NullOr(S.Number).pipe(T.Body("reranking_score")), ), vectorRank: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_rank"))), vectorScore: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_score"))), }), ).annotate({ identifier: "NamespacesChatCompletionsResponseChunksItemScoringDetails", }) as any as S.Schema; export interface NamespacesChatCompletionsResponseChunksItem { id: string; instanceId: string; score: number; text: string; type: string; item?: NamespacesChatCompletionsResponseChunksItemItem | null; scoringDetails?: NamespacesChatCompletionsResponseChunksItemScoringDetails | null; } export const NamespacesChatCompletionsResponseChunksItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, instanceId: S.String.pipe(T.Body("instance_id")), score: S.Number, text: S.String, type: S.String, item: S.optional( S.NullOr(NamespacesChatCompletionsResponseChunksItemItem), ), scoringDetails: S.optional( S.NullOr( NamespacesChatCompletionsResponseChunksItemScoringDetails, ).pipe(T.Body("scoring_details")), ), }), ).annotate({ identifier: "NamespacesChatCompletionsResponseChunksItem", }) as any as S.Schema; export type NamespacesChatCompletionsResponseChunksList = Array; export const NamespacesChatCompletionsResponseChunksList = /*@__PURE__*/ S.Array( NamespacesChatCompletionsResponseChunksItem, ) as any as S.Schema; /** Raw response payload (operation does not use the standard v4 result envelope). */ export interface ChatCompletionsNamespaceResponse { choices: NamespacesChatCompletionsResponseChoicesList; chunks: NamespacesChatCompletionsResponseChunksList; id?: string | null; model?: string | null; object?: string | null; } export const ChatCompletionsNamespaceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ choices: NamespacesChatCompletionsResponseChoicesList, chunks: NamespacesChatCompletionsResponseChunksList, id: S.optional(S.NullOr(S.String)), model: S.optional(S.NullOr(S.String)), object: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChatCompletionsNamespaceResponse", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type = "text"; export const NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0 { text: string; type: NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type; } export const NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0Type, }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export const NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export type NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type = "image_url"; export const NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type; } export const NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1Type, }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1Item = | NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase0 | NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1; export const NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1List = Array; export const NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1List = /*@__PURE__*/ S.Array( NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1Item, ) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestMessagesItemContent = | string | NamespacesInstancesChatCompletionsRequestMessagesItemContentCase1List; export const NamespacesInstancesChatCompletionsRequestMessagesItemContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type NamespacesInstancesChatCompletionsRequestMessagesItemRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const NamespacesInstancesChatCompletionsRequestMessagesItemRole = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsRequestMessagesItem { content?: NamespacesInstancesChatCompletionsRequestMessagesItemContent | null; role: | NamespacesInstancesChatCompletionsRequestMessagesItemRole | (string & {}); } export const NamespacesInstancesChatCompletionsRequestMessagesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ content: S.optional( S.NullOr(NamespacesInstancesChatCompletionsRequestMessagesItemContent), ), role: NamespacesInstancesChatCompletionsRequestMessagesItemRole, }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestMessagesItem", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestMessagesList = Array; export const NamespacesInstancesChatCompletionsRequestMessagesList = /*@__PURE__*/ S.Array( NamespacesInstancesChatCompletionsRequestMessagesItem, ) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsRequestAiSearchOptionsCache { cacheThreshold?: | NamespacesInstancesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold | (string & {}); enabled?: boolean; } export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsCache = /*@__PURE__*/ S.suspend(() => S.Struct({ cacheThreshold: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsCacheCacheThreshold.pipe( T.Body("cache_threshold"), ), ), enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestAiSearchOptionsCache", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewriteModel = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewrite { enabled?: boolean; model?: | NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewriteModel | (string & {}); rewritePrompt?: string; } export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewrite = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), model: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewriteModel, ), rewritePrompt: S.optional(S.String.pipe(T.Body("rewrite_prompt"))), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewrite", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRerankingModel = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsRequestAiSearchOptionsReranking { enabled?: boolean; matchThreshold?: number; model?: | NamespacesInstancesChatCompletionsRequestAiSearchOptionsRerankingModel | (string & {}); } export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsReranking = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), model: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRerankingModel, ), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestAiSearchOptionsReranking", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection | (string & {}); } export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItemDirection, ), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList = Array; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByItem, ) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap = { [key: string]: unknown | undefined }; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod = | "max" | "rrf"; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode = /*@__PURE__*/ S.String; export type NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType = | "vector" | "keyword" | "hybrid"; export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrieval { /** Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList; contextExpansion?: number; filters?: NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap; fusionMethod?: | NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod | (string & {}); /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. When omitted, falls back to the instance-level retrieval_options.keyword_match_mode, then to 'and'. */ keywordMatchMode?: | NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode | (string & {}); matchThreshold?: number; maxNumResults?: number; retrievalType?: | NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType | (string & {}); returnOnFailure?: boolean; } export const NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrieval = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalBoostByList.pipe( T.Body("boost_by"), ), ), contextExpansion: S.optional(S.Number.pipe(T.Body("context_expansion"))), filters: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalFiltersMap, ), fusionMethod: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalFusionMethod.pipe( T.Body("fusion_method"), ), ), keywordMatchMode: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), retrievalType: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrievalRetrievalType.pipe( T.Body("retrieval_type"), ), ), returnOnFailure: S.optional(S.Boolean.pipe(T.Body("return_on_failure"))), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrieval", }) as any as S.Schema; export interface NamespacesInstancesChatCompletionsRequestAiSearchOptions { cache?: NamespacesInstancesChatCompletionsRequestAiSearchOptionsCache; queryRewrite?: NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewrite; reranking?: NamespacesInstancesChatCompletionsRequestAiSearchOptionsReranking; retrieval?: NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrieval; } export const NamespacesInstancesChatCompletionsRequestAiSearchOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ cache: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsCache, ), queryRewrite: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsQueryRewrite.pipe( T.Body("query_rewrite"), ), ), reranking: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsReranking, ), retrieval: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptionsRetrieval, ), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsRequestAiSearchOptions", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsRequestModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesChatCompletionsRequestModel = /*@__PURE__*/ S.String; export interface ChatCompletionsNamespaceInstanceRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; messages: NamespacesInstancesChatCompletionsRequestMessagesList; aiSearchOptions?: NamespacesInstancesChatCompletionsRequestAiSearchOptions; model?: NamespacesInstancesChatCompletionsRequestModel | (string & {}); stream?: boolean; } export const ChatCompletionsNamespaceInstanceRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), messages: NamespacesInstancesChatCompletionsRequestMessagesList, aiSearchOptions: S.optional( NamespacesInstancesChatCompletionsRequestAiSearchOptions.pipe( T.Body("ai_search_options"), ), ), model: S.optional(NamespacesInstancesChatCompletionsRequestModel), stream: S.optional(S.Boolean), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/chat/completions", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChatCompletionsNamespaceInstanceRequest", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type = "text"; export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 { text: string; type: NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type; } export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0Type, }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export type NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type = "image_url"; export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type; } export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1Type, }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1Item = | NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase0 | NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1ItemCase1; export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1List = Array; export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1List = /*@__PURE__*/ S.Array( NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1Item, ) as any as S.Schema; export type NamespacesInstancesChatCompletionsResponseChoicesItemMessageContent = | string | NamespacesInstancesChatCompletionsResponseChoicesItemMessageContentCase1List; export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type NamespacesInstancesChatCompletionsResponseChoicesItemMessageRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const NamespacesInstancesChatCompletionsResponseChoicesItemMessageRole = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsResponseChoicesItemMessage { content: NamespacesInstancesChatCompletionsResponseChoicesItemMessageContent; role: NamespacesInstancesChatCompletionsResponseChoicesItemMessageRole; } export const NamespacesInstancesChatCompletionsResponseChoicesItemMessage = /*@__PURE__*/ S.suspend(() => S.Struct({ content: NamespacesInstancesChatCompletionsResponseChoicesItemMessageContent, role: NamespacesInstancesChatCompletionsResponseChoicesItemMessageRole, }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsResponseChoicesItemMessage", }) as any as S.Schema; export interface NamespacesInstancesChatCompletionsResponseChoicesItem { message: NamespacesInstancesChatCompletionsResponseChoicesItemMessage; index?: number | null; } export const NamespacesInstancesChatCompletionsResponseChoicesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ message: NamespacesInstancesChatCompletionsResponseChoicesItemMessage, index: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsResponseChoicesItem", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsResponseChoicesList = Array; export const NamespacesInstancesChatCompletionsResponseChoicesList = /*@__PURE__*/ S.Array( NamespacesInstancesChatCompletionsResponseChoicesItem, ) as any as S.Schema; export type NamespacesInstancesChatCompletionsResponseChunksItemItemMetadataMap = { [key: string]: unknown | undefined }; export const NamespacesInstancesChatCompletionsResponseChunksItemItemMetadataMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export interface NamespacesInstancesChatCompletionsResponseChunksItemItem { key: string; metadata?: NamespacesInstancesChatCompletionsResponseChunksItemItemMetadataMap | null; timestamp?: number | null; } export const NamespacesInstancesChatCompletionsResponseChunksItemItem = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.String, metadata: S.optional( S.NullOr( NamespacesInstancesChatCompletionsResponseChunksItemItemMetadataMap, ), ), timestamp: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsResponseChunksItemItem", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsResponseChunksItemScoringDetailsFusionMethod = | "rrf" | "max"; export const NamespacesInstancesChatCompletionsResponseChunksItemScoringDetailsFusionMethod = /*@__PURE__*/ S.String; export interface NamespacesInstancesChatCompletionsResponseChunksItemScoringDetails { fusionMethod?: NamespacesInstancesChatCompletionsResponseChunksItemScoringDetailsFusionMethod | null; keywordRank?: number | null; keywordScore?: number | null; rerankingScore?: number | null; vectorRank?: number | null; vectorScore?: number | null; } export const NamespacesInstancesChatCompletionsResponseChunksItemScoringDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ fusionMethod: S.optional( S.NullOr( NamespacesInstancesChatCompletionsResponseChunksItemScoringDetailsFusionMethod, ).pipe(T.Body("fusion_method")), ), keywordRank: S.optional(S.NullOr(S.Number).pipe(T.Body("keyword_rank"))), keywordScore: S.optional( S.NullOr(S.Number).pipe(T.Body("keyword_score")), ), rerankingScore: S.optional( S.NullOr(S.Number).pipe(T.Body("reranking_score")), ), vectorRank: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_rank"))), vectorScore: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_score"))), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsResponseChunksItemScoringDetails", }) as any as S.Schema; export interface NamespacesInstancesChatCompletionsResponseChunksItem { id: string; score: number; text: string; type: string; item?: NamespacesInstancesChatCompletionsResponseChunksItemItem | null; scoringDetails?: NamespacesInstancesChatCompletionsResponseChunksItemScoringDetails | null; } export const NamespacesInstancesChatCompletionsResponseChunksItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, score: S.Number, text: S.String, type: S.String, item: S.optional( S.NullOr(NamespacesInstancesChatCompletionsResponseChunksItemItem), ), scoringDetails: S.optional( S.NullOr( NamespacesInstancesChatCompletionsResponseChunksItemScoringDetails, ).pipe(T.Body("scoring_details")), ), }), ).annotate({ identifier: "NamespacesInstancesChatCompletionsResponseChunksItem", }) as any as S.Schema; export type NamespacesInstancesChatCompletionsResponseChunksList = Array; export const NamespacesInstancesChatCompletionsResponseChunksList = /*@__PURE__*/ S.Array( NamespacesInstancesChatCompletionsResponseChunksItem, ) as any as S.Schema; /** Raw response payload (operation does not use the standard v4 result envelope). */ export interface ChatCompletionsNamespaceInstanceResponse { choices: NamespacesInstancesChatCompletionsResponseChoicesList; chunks: NamespacesInstancesChatCompletionsResponseChunksList; id?: string | null; model?: string | null; object?: string | null; } export const ChatCompletionsNamespaceInstanceResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ choices: NamespacesInstancesChatCompletionsResponseChoicesList, chunks: NamespacesInstancesChatCompletionsResponseChunksList, id: S.optional(S.NullOr(S.String)), model: S.optional(S.NullOr(S.String)), object: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChatCompletionsNamespaceInstanceResponse", }) as any as S.Schema; export interface ChunksNamespaceInstanceItemRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; itemId: string; limit?: number; offset?: number; } export const ChunksNamespaceInstanceItemRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), itemId: S.String.pipe(T.Label("item_id")), limit: S.optional(S.Number.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}/chunks", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChunksNamespaceInstanceItemRequest", }) as any as S.Schema; export type NamespacesInstancesItemsChunksResultItemItemMetadataMap = { [key: string]: unknown | undefined; }; export const NamespacesInstancesItemsChunksResultItemItemMetadataMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export interface NamespacesInstancesItemsChunksResultItemItem { key: string; metadata?: NamespacesInstancesItemsChunksResultItemItemMetadataMap | null; timestamp?: number | null; } export const NamespacesInstancesItemsChunksResultItemItem = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.String, metadata: S.optional( S.NullOr(NamespacesInstancesItemsChunksResultItemItemMetadataMap), ), timestamp: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "NamespacesInstancesItemsChunksResultItemItem", }) as any as S.Schema; export interface NamespacesInstancesItemsChunksResultItem { id: string; item: NamespacesInstancesItemsChunksResultItemItem; text: string; endByte?: number | null; startByte?: number | null; } export const NamespacesInstancesItemsChunksResultItem = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, item: NamespacesInstancesItemsChunksResultItemItem, text: S.String, endByte: S.optional(S.NullOr(S.Number).pipe(T.Body("end_byte"))), startByte: S.optional(S.NullOr(S.Number).pipe(T.Body("start_byte"))), }), ).annotate({ identifier: "NamespacesInstancesItemsChunksResultItem", }) as any as S.Schema; export type NamespacesInstancesItemsChunksResultList = Array; export const NamespacesInstancesItemsChunksResultList = /*@__PURE__*/ S.Array( NamespacesInstancesItemsChunksResultItem, ) as any as S.Schema; export type ChunksNamespaceInstanceItemResponse = NamespacesInstancesItemsChunksResultList; export const ChunksNamespaceInstanceItemResponse = /*@__PURE__*/ S.suspend(() => NamespacesInstancesItemsChunksResultList.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "ChunksNamespaceInstanceItemResponse", }) as any as S.Schema; export type InstancesCreateRequestAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesCreateRequestAiSearchModel = /*@__PURE__*/ S.String; export type InstancesCreateRequestCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesCreateRequestCacheThreshold = /*@__PURE__*/ S.String; export type InstancesCreateRequestCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const InstancesCreateRequestCacheTtl = /*@__PURE__*/ S.Number; export type InstancesCreateRequestCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const InstancesCreateRequestCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface InstancesCreateRequestCustomMetadataItem { dataType: InstancesCreateRequestCustomMetadataItemDataType | (string & {}); fieldName: string; } export const InstancesCreateRequestCustomMetadataItem = /*@__PURE__*/ S.suspend( () => S.Struct({ dataType: InstancesCreateRequestCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "InstancesCreateRequestCustomMetadataItem", }) as any as S.Schema; export type InstancesCreateRequestCustomMetadataList = Array; export const InstancesCreateRequestCustomMetadataList = /*@__PURE__*/ S.Array( InstancesCreateRequestCustomMetadataItem, ) as any as S.Schema; export type InstancesCreateRequestEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const InstancesCreateRequestEmbeddingModel = /*@__PURE__*/ S.String; export type InstancesCreateRequestFusionMethod = "max" | "rrf"; export const InstancesCreateRequestFusionMethod = /*@__PURE__*/ S.String; export interface InstancesCreateRequestIndexMethod { /** Enable keyword (BM25) storage backend. */ keyword: boolean; /** Enable vector (embedding) storage backend. */ vector: boolean; } export const InstancesCreateRequestIndexMethod = /*@__PURE__*/ S.suspend(() => S.Struct({ keyword: S.Boolean, vector: S.Boolean, }), ).annotate({ identifier: "InstancesCreateRequestIndexMethod", }) as any as S.Schema; export type InstancesCreateRequestIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const InstancesCreateRequestIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface InstancesCreateRequestIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: | InstancesCreateRequestIndexingOptionsKeywordTokenizer | (string & {}); } export const InstancesCreateRequestIndexingOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ keywordTokenizer: S.optional( InstancesCreateRequestIndexingOptionsKeywordTokenizer.pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "InstancesCreateRequestIndexingOptions", }) as any as S.Schema; export interface InstancesCreateRequestMetadata { createdFromAisearchWizard?: boolean; workerDomain?: string; } export const InstancesCreateRequestMetadata = /*@__PURE__*/ S.suspend(() => S.Struct({ createdFromAisearchWizard: S.optional( S.Boolean.pipe(T.Body("created_from_aisearch_wizard")), ), workerDomain: S.optional(S.String.pipe(T.Body("worker_domain"))), }), ).annotate({ identifier: "InstancesCreateRequestMetadata", }) as any as S.Schema; export type InstancesCreateRequestPublicEndpointParamsAuthorizedHostsList = Array; export const InstancesCreateRequestPublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint { /** Disable chat completions endpoint for this public endpoint */ disabled?: boolean; } export const InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ disabled: S.optional(S.Boolean), }), ).annotate({ identifier: "InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint", }) as any as S.Schema; export type InstancesCreateRequestPublicEndpointParamsCustomDomainsList = Array; export const InstancesCreateRequestPublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesCreateRequestPublicEndpointParamsMcp { description?: string; /** Disable MCP endpoint for this public endpoint */ disabled?: boolean; } export const InstancesCreateRequestPublicEndpointParamsMcp = /*@__PURE__*/ S.suspend(() => S.Struct({ description: S.optional(S.String), disabled: S.optional(S.Boolean), }), ).annotate({ identifier: "InstancesCreateRequestPublicEndpointParamsMcp", }) as any as S.Schema; export type InstancesCreateRequestPublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const InstancesCreateRequestPublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface InstancesCreateRequestPublicEndpointParamsRateLimit { periodMs?: number; requests?: number; technique?: | InstancesCreateRequestPublicEndpointParamsRateLimitTechnique | (string & {}); } export const InstancesCreateRequestPublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.Number.pipe(T.Body("period_ms"))), requests: S.optional(S.Number), technique: S.optional( InstancesCreateRequestPublicEndpointParamsRateLimitTechnique, ), }), ).annotate({ identifier: "InstancesCreateRequestPublicEndpointParamsRateLimit", }) as any as S.Schema; export interface InstancesCreateRequestPublicEndpointParamsSearchEndpoint { /** Disable search endpoint for this public endpoint */ disabled?: boolean; } export const InstancesCreateRequestPublicEndpointParamsSearchEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ disabled: S.optional(S.Boolean), }), ).annotate({ identifier: "InstancesCreateRequestPublicEndpointParamsSearchEndpoint", }) as any as S.Schema; export interface InstancesCreateRequestPublicEndpointParams { authorizedHosts?: InstancesCreateRequestPublicEndpointParamsAuthorizedHostsList; chatCompletionsEndpoint?: InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: InstancesCreateRequestPublicEndpointParamsCustomDomainsList; enabled?: boolean; mcp?: InstancesCreateRequestPublicEndpointParamsMcp; rateLimit?: InstancesCreateRequestPublicEndpointParamsRateLimit; searchEndpoint?: InstancesCreateRequestPublicEndpointParamsSearchEndpoint; } export const InstancesCreateRequestPublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( InstancesCreateRequestPublicEndpointParamsAuthorizedHostsList.pipe( T.Body("authorized_hosts"), ), ), chatCompletionsEndpoint: S.optional( InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint.pipe( T.Body("chat_completions_endpoint"), ), ), customDomains: S.optional( InstancesCreateRequestPublicEndpointParamsCustomDomainsList.pipe( T.Body("custom_domains"), ), ), enabled: S.optional(S.Boolean), mcp: S.optional(InstancesCreateRequestPublicEndpointParamsMcp), rateLimit: S.optional( InstancesCreateRequestPublicEndpointParamsRateLimit.pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( InstancesCreateRequestPublicEndpointParamsSearchEndpoint.pipe( T.Body("search_endpoint"), ), ), }), ).annotate({ identifier: "InstancesCreateRequestPublicEndpointParams", }) as any as S.Schema; export type InstancesCreateRequestRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesCreateRequestRerankingModel = /*@__PURE__*/ S.String; export type InstancesCreateRequestRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesCreateRequestRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesCreateRequestRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | InstancesCreateRequestRetrievalOptionsBoostByItemDirection | (string & {}); } export const InstancesCreateRequestRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( InstancesCreateRequestRetrievalOptionsBoostByItemDirection, ), }), ).annotate({ identifier: "InstancesCreateRequestRetrievalOptionsBoostByItem", }) as any as S.Schema; export type InstancesCreateRequestRetrievalOptionsBoostByList = Array; export const InstancesCreateRequestRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( InstancesCreateRequestRetrievalOptionsBoostByItem, ) as any as S.Schema; export type InstancesCreateRequestRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const InstancesCreateRequestRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface InstancesCreateRequestRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesCreateRequestRetrievalOptionsBoostByList; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: | InstancesCreateRequestRetrievalOptionsKeywordMatchMode | (string & {}); } export const InstancesCreateRequestRetrievalOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ boostBy: S.optional( InstancesCreateRequestRetrievalOptionsBoostByList.pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( InstancesCreateRequestRetrievalOptionsKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "InstancesCreateRequestRetrievalOptions", }) as any as S.Schema; export type InstancesCreateRequestRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesCreateRequestRewriteModel = /*@__PURE__*/ S.String; export type InstancesCreateRequestSourceParamsExcludeItemsList = Array; export const InstancesCreateRequestSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesCreateRequestSourceParamsIncludeItemsList = Array; export const InstancesCreateRequestSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem { /** Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories. */ path: string; /** CSS selector to extract content from pages matching the path pattern. Must not contain disallowed characters (;, `, $, {, }, ). Must target a single element; if multiple elements match, the selector is ignored and the full page is used. */ selector: string; } export const InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem = /*@__PURE__*/ S.suspend(() => S.Struct({ path: S.String, selector: S.String, }), ).annotate({ identifier: "InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem", }) as any as S.Schema; export type InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type InstancesCreateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const InstancesCreateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type InstancesCreateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const InstancesCreateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesCreateRequestSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: InstancesCreateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap; includeImages?: boolean; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: InstancesCreateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList; useBrowserRendering?: boolean; } export const InstancesCreateRequestSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList.pipe( T.Body("content_selector"), ), ), includeHeaders: S.optional( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap.pipe( T.Body("include_headers"), ), ), includeImages: S.optional(S.Boolean.pipe(T.Body("include_images"))), specificSitemaps: S.optional( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList.pipe( T.Body("specific_sitemaps"), ), ), useBrowserRendering: S.optional( S.Boolean.pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "InstancesCreateRequestSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type InstancesCreateRequestSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const InstancesCreateRequestSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export type WebCrawlerCrawlOptionsSource = "all" | "sitemaps" | "links"; export const WebCrawlerCrawlOptionsSource = /*@__PURE__*/ S.String; export interface WebCrawlerCrawlOptions { /** Maximum crawl depth from the seed URL. */ depth?: number | null; includeExternalLinks?: boolean | null; includeSubdomains?: boolean | null; maxAge?: number | null; /** Where the crawler discovers URLs: sitemaps, page links, or both. Use links for sitemap-less seeds (avoids missing_sitemap rejections). */ source?: WebCrawlerCrawlOptionsSource | (string & {}) | null; } export const WebCrawlerCrawlOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ depth: S.optional(S.NullOr(S.Number)), includeExternalLinks: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_external_links")), ), includeSubdomains: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_subdomains")), ), maxAge: S.optional(S.NullOr(S.Number).pipe(T.Body("max_age"))), source: S.optional(S.NullOr(WebCrawlerCrawlOptionsSource)), }), ).annotate({ identifier: "WebCrawlerCrawlOptions", }) as any as S.Schema; export interface InstancesCreateRequestSourceParamsWebCrawler { parseOptions?: InstancesCreateRequestSourceParamsWebCrawlerParseOptions; parseType?: | InstancesCreateRequestSourceParamsWebCrawlerParseType | (string & {}); /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions; } export const InstancesCreateRequestSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( InstancesCreateRequestSourceParamsWebCrawlerParseOptions.pipe( T.Body("parse_options"), ), ), parseType: S.optional( InstancesCreateRequestSourceParamsWebCrawlerParseType.pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( WebCrawlerCrawlOptions.pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "InstancesCreateRequestSourceParamsWebCrawler", }) as any as S.Schema; export interface InstancesCreateRequestSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: InstancesCreateRequestSourceParamsExcludeItemsList; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: InstancesCreateRequestSourceParamsIncludeItemsList; prefix?: string; r2Jurisdiction?: string; webCrawler?: InstancesCreateRequestSourceParamsWebCrawler; } export const InstancesCreateRequestSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( InstancesCreateRequestSourceParamsExcludeItemsList.pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( InstancesCreateRequestSourceParamsIncludeItemsList.pipe( T.Body("include_items"), ), ), prefix: S.optional(S.String), r2Jurisdiction: S.optional(S.String.pipe(T.Body("r2_jurisdiction"))), webCrawler: S.optional( InstancesCreateRequestSourceParamsWebCrawler.pipe(T.Body("web_crawler")), ), }), ).annotate({ identifier: "InstancesCreateRequestSourceParams", }) as any as S.Schema; export type InstancesCreateRequestSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const InstancesCreateRequestSyncInterval = /*@__PURE__*/ S.Number; export type InstancesCreateRequestType = "r2" | "web-crawler"; export const InstancesCreateRequestType = /*@__PURE__*/ S.String; export interface CreateInstanceRequest { accountId: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; aiGatewayId?: string; aiSearchModel?: InstancesCreateRequestAiSearchModel | (string & {}); cache?: boolean; cacheThreshold?: InstancesCreateRequestCacheThreshold | (string & {}); /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: InstancesCreateRequestCacheTtl | (number & {}); chunk?: boolean; chunkOverlap?: number; chunkSize?: number; customMetadata?: InstancesCreateRequestCustomMetadataList; embeddingModel?: InstancesCreateRequestEmbeddingModel | (string & {}); fusionMethod?: InstancesCreateRequestFusionMethod | (string & {}); /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod; indexingOptions?: InstancesCreateRequestIndexingOptions; maxNumResults?: number; metadata?: InstancesCreateRequestMetadata; publicEndpointParams?: InstancesCreateRequestPublicEndpointParams; reranking?: boolean; rerankingModel?: InstancesCreateRequestRerankingModel | (string & {}); retrievalOptions?: InstancesCreateRequestRetrievalOptions; rewriteModel?: InstancesCreateRequestRewriteModel | (string & {}); rewriteQuery?: boolean; scoreThreshold?: number; source?: string; sourceParams?: InstancesCreateRequestSourceParams; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: InstancesCreateRequestSyncInterval | (number & {}); tokenId?: string; type?: InstancesCreateRequestType | (string & {}); } export const CreateInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String, aiGatewayId: S.optional(S.String.pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( InstancesCreateRequestAiSearchModel.pipe(T.Body("ai_search_model")), ), cache: S.optional(S.Boolean), cacheThreshold: S.optional( InstancesCreateRequestCacheThreshold.pipe(T.Body("cache_threshold")), ), cacheTtl: S.optional( InstancesCreateRequestCacheTtl.pipe(T.Body("cache_ttl")), ), chunk: S.optional(S.Boolean), chunkOverlap: S.optional(S.Number.pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.Number.pipe(T.Body("chunk_size"))), customMetadata: S.optional( InstancesCreateRequestCustomMetadataList.pipe(T.Body("custom_metadata")), ), embeddingModel: S.optional( InstancesCreateRequestEmbeddingModel.pipe(T.Body("embedding_model")), ), fusionMethod: S.optional( InstancesCreateRequestFusionMethod.pipe(T.Body("fusion_method")), ), hybridSearchEnabled: S.optional( S.Boolean.pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( InstancesCreateRequestIndexMethod.pipe(T.Body("index_method")), ), indexingOptions: S.optional( InstancesCreateRequestIndexingOptions.pipe(T.Body("indexing_options")), ), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), metadata: S.optional(InstancesCreateRequestMetadata), publicEndpointParams: S.optional( InstancesCreateRequestPublicEndpointParams.pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.Boolean), rerankingModel: S.optional( InstancesCreateRequestRerankingModel.pipe(T.Body("reranking_model")), ), retrievalOptions: S.optional( InstancesCreateRequestRetrievalOptions.pipe(T.Body("retrieval_options")), ), rewriteModel: S.optional( InstancesCreateRequestRewriteModel.pipe(T.Body("rewrite_model")), ), rewriteQuery: S.optional(S.Boolean.pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional(S.Number.pipe(T.Body("score_threshold"))), source: S.optional(S.String), sourceParams: S.optional( InstancesCreateRequestSourceParams.pipe(T.Body("source_params")), ), syncInterval: S.optional( InstancesCreateRequestSyncInterval.pipe(T.Body("sync_interval")), ), tokenId: S.optional(S.String.pipe(T.Body("token_id"))), type: S.optional(InstancesCreateRequestType), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/instances", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateInstanceRequest", }) as any as S.Schema; export type InstancesCreateResponseAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesCreateResponseAiSearchModel = /*@__PURE__*/ S.String; export type InstancesCreateResponseCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesCreateResponseCacheThreshold = /*@__PURE__*/ S.String; export type InstancesCreateResponseCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const InstancesCreateResponseCacheTtl = /*@__PURE__*/ S.Number; export type InstancesCreateResponseCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const InstancesCreateResponseCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface InstancesCreateResponseCustomMetadataItem { dataType: InstancesCreateResponseCustomMetadataItemDataType; fieldName: string; } export const InstancesCreateResponseCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: InstancesCreateResponseCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "InstancesCreateResponseCustomMetadataItem", }) as any as S.Schema; export type InstancesCreateResponseCustomMetadataList = Array; export const InstancesCreateResponseCustomMetadataList = /*@__PURE__*/ S.Array( InstancesCreateResponseCustomMetadataItem, ) as any as S.Schema; export type InstancesCreateResponseEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const InstancesCreateResponseEmbeddingModel = /*@__PURE__*/ S.String; export type InstancesCreateResponseFusionMethod = "max" | "rrf"; export const InstancesCreateResponseFusionMethod = /*@__PURE__*/ S.String; export type InstancesCreateResponseIndexMethod = InstancesCreateRequestIndexMethod; export const InstancesCreateResponseIndexMethod = InstancesCreateRequestIndexMethod; export type InstancesCreateResponseIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const InstancesCreateResponseIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface InstancesCreateResponseIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: InstancesCreateResponseIndexingOptionsKeywordTokenizer | null; } export const InstancesCreateResponseIndexingOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ keywordTokenizer: S.optional( S.NullOr(InstancesCreateResponseIndexingOptionsKeywordTokenizer).pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "InstancesCreateResponseIndexingOptions", }) as any as S.Schema; export interface InstancesCreateResponseMetadata { createdFromAisearchWizard?: boolean | null; workerDomain?: string | null; } export const InstancesCreateResponseMetadata = /*@__PURE__*/ S.suspend(() => S.Struct({ createdFromAisearchWizard: S.optional( S.NullOr(S.Boolean).pipe(T.Body("created_from_aisearch_wizard")), ), workerDomain: S.optional(S.NullOr(S.String).pipe(T.Body("worker_domain"))), }), ).annotate({ identifier: "InstancesCreateResponseMetadata", }) as any as S.Schema; export type InstancesCreateResponsePublicEndpointParamsAuthorizedHostsList = Array; export const InstancesCreateResponsePublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint { /** Disable chat completions endpoint for this public endpoint */ disabled?: boolean | null; } export const InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ disabled: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint", }) as any as S.Schema; export type InstancesCreateResponsePublicEndpointParamsCustomDomainsList = Array; export const InstancesCreateResponsePublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesCreateResponsePublicEndpointParamsMcp { description?: string | null; /** Disable MCP endpoint for this public endpoint */ disabled?: boolean | null; } export const InstancesCreateResponsePublicEndpointParamsMcp = /*@__PURE__*/ S.suspend(() => S.Struct({ description: S.optional(S.NullOr(S.String)), disabled: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "InstancesCreateResponsePublicEndpointParamsMcp", }) as any as S.Schema; export type InstancesCreateResponsePublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const InstancesCreateResponsePublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface InstancesCreateResponsePublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: InstancesCreateResponsePublicEndpointParamsRateLimitTechnique | null; } export const InstancesCreateResponsePublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr(InstancesCreateResponsePublicEndpointParamsRateLimitTechnique), ), }), ).annotate({ identifier: "InstancesCreateResponsePublicEndpointParamsRateLimit", }) as any as S.Schema; export interface InstancesCreateResponsePublicEndpointParamsSearchEndpoint { /** Disable search endpoint for this public endpoint */ disabled?: boolean | null; } export const InstancesCreateResponsePublicEndpointParamsSearchEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ disabled: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "InstancesCreateResponsePublicEndpointParamsSearchEndpoint", }) as any as S.Schema; export interface InstancesCreateResponsePublicEndpointParams { authorizedHosts?: InstancesCreateResponsePublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: InstancesCreateResponsePublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: InstancesCreateResponsePublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const InstancesCreateResponsePublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr(InstancesCreateResponsePublicEndpointParamsRateLimit).pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "InstancesCreateResponsePublicEndpointParams", }) as any as S.Schema; export type InstancesCreateResponseRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesCreateResponseRerankingModel = /*@__PURE__*/ S.String; export type InstancesCreateResponseRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesCreateResponseRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesCreateResponseRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: InstancesCreateResponseRetrievalOptionsBoostByItemDirection | null; } export const InstancesCreateResponseRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr(InstancesCreateResponseRetrievalOptionsBoostByItemDirection), ), }), ).annotate({ identifier: "InstancesCreateResponseRetrievalOptionsBoostByItem", }) as any as S.Schema; export type InstancesCreateResponseRetrievalOptionsBoostByList = Array; export const InstancesCreateResponseRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( InstancesCreateResponseRetrievalOptionsBoostByItem, ) as any as S.Schema; export type InstancesCreateResponseRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const InstancesCreateResponseRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface InstancesCreateResponseRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesCreateResponseRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: InstancesCreateResponseRetrievalOptionsKeywordMatchMode | null; } export const InstancesCreateResponseRetrievalOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ boostBy: S.optional( S.NullOr(InstancesCreateResponseRetrievalOptionsBoostByList).pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( S.NullOr(InstancesCreateResponseRetrievalOptionsKeywordMatchMode).pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "InstancesCreateResponseRetrievalOptions", }) as any as S.Schema; export type InstancesCreateResponseRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesCreateResponseRewriteModel = /*@__PURE__*/ S.String; export type InstancesCreateResponseSourceParamsExcludeItemsList = Array; export const InstancesCreateResponseSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesCreateResponseSourceParamsIncludeItemsList = Array; export const InstancesCreateResponseSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const InstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type InstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const InstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type InstancesCreateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const InstancesCreateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type InstancesCreateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const InstancesCreateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesCreateResponseSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: InstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: InstancesCreateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: InstancesCreateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const InstancesCreateResponseSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( InstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( InstancesCreateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( InstancesCreateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "InstancesCreateResponseSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type InstancesCreateResponseSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const InstancesCreateResponseSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface InstancesCreateResponseSourceParamsWebCrawler { parseOptions?: InstancesCreateResponseSourceParamsWebCrawlerParseOptions | null; parseType?: InstancesCreateResponseSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const InstancesCreateResponseSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( InstancesCreateResponseSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr(InstancesCreateResponseSourceParamsWebCrawlerParseType).pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "InstancesCreateResponseSourceParamsWebCrawler", }) as any as S.Schema; export interface InstancesCreateResponseSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: InstancesCreateResponseSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: InstancesCreateResponseSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: InstancesCreateResponseSourceParamsWebCrawler | null; } export const InstancesCreateResponseSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr(InstancesCreateResponseSourceParamsExcludeItemsList).pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( S.NullOr(InstancesCreateResponseSourceParamsIncludeItemsList).pipe( T.Body("include_items"), ), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(InstancesCreateResponseSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "InstancesCreateResponseSourceParams", }) as any as S.Schema; export type InstancesCreateResponseSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const InstancesCreateResponseSyncInterval = /*@__PURE__*/ S.Number; export type InstancesCreateResponseType = "r2" | "web-crawler"; export const InstancesCreateResponseType = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateInstanceResponse { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: InstancesCreateResponseAiSearchModel | null; cache?: boolean | null; cacheThreshold?: InstancesCreateResponseCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: InstancesCreateResponseCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: InstancesCreateResponseCustomMetadataList | null; embeddingModel?: InstancesCreateResponseEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: InstancesCreateResponseFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: InstancesCreateResponseIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: InstancesCreateResponsePublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: InstancesCreateResponseRerankingModel | null; retrievalOptions?: InstancesCreateResponseRetrievalOptions | null; rewriteModel?: InstancesCreateResponseRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: InstancesCreateResponseSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: InstancesCreateResponseSyncInterval | null; tokenId?: string | null; type?: InstancesCreateResponseType | null; } export const CreateInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(InstancesCreateResponseAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(InstancesCreateResponseCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(InstancesCreateResponseCacheTtl).pipe(T.Body("cache_ttl")), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(InstancesCreateResponseCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(InstancesCreateResponseEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(InstancesCreateResponseFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(InstancesCreateResponseIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(InstancesCreateResponsePublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(InstancesCreateResponseRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(InstancesCreateResponseRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(InstancesCreateResponseRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(InstancesCreateResponseSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(InstancesCreateResponseSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(InstancesCreateResponseType)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateInstanceResponse", }) as any as S.Schema; export interface CreateInstanceJobRequest { accountId: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; description?: string; } export const CreateInstanceJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), description: S.optional(S.String), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/instances/{id}/jobs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateInstanceJobRequest", }) as any as S.Schema; export type InstancesJobsCreateResponseSource = "user" | "schedule"; export const InstancesJobsCreateResponseSource = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateInstanceJobResponse { id: string; source: InstancesJobsCreateResponseSource; description?: string | null; endReason?: string | null; endedAt?: string | null; lastSeenAt?: string | null; startedAt?: string | null; } export const CreateInstanceJobResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, source: InstancesJobsCreateResponseSource, description: S.optional(S.NullOr(S.String)), endReason: S.optional(S.NullOr(S.String).pipe(T.Body("end_reason"))), endedAt: S.optional(S.NullOr(S.String).pipe(T.Body("ended_at"))), lastSeenAt: S.optional(S.NullOr(S.String).pipe(T.Body("last_seen_at"))), startedAt: S.optional(S.NullOr(S.String).pipe(T.Body("started_at"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateInstanceJobResponse", }) as any as S.Schema; export interface CreateNamespaceRequest { accountId: string; name: string; /** Optional description for the namespace. Max 256 characters. */ description?: string; } export const CreateNamespaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String, description: S.optional(S.String), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/namespaces", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateNamespaceRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateNamespaceResponse { createdAt: string; name: string; /** Optional description for the namespace. Max 256 characters. */ description?: string | null; } export const CreateNamespaceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.String.pipe(T.Body("created_at")), name: S.String, description: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateNamespaceResponse", }) as any as S.Schema; export type NamespacesInstancesCreateRequestAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesCreateRequestAiSearchModel = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateRequestCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesCreateRequestCacheThreshold = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateRequestCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const NamespacesInstancesCreateRequestCacheTtl = /*@__PURE__*/ S.Number; export type NamespacesInstancesCreateRequestCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const NamespacesInstancesCreateRequestCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateRequestCustomMetadataItem { dataType: | NamespacesInstancesCreateRequestCustomMetadataItemDataType | (string & {}); fieldName: string; } export const NamespacesInstancesCreateRequestCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: NamespacesInstancesCreateRequestCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestCustomMetadataItem", }) as any as S.Schema; export type NamespacesInstancesCreateRequestCustomMetadataList = Array; export const NamespacesInstancesCreateRequestCustomMetadataList = /*@__PURE__*/ S.Array( NamespacesInstancesCreateRequestCustomMetadataItem, ) as any as S.Schema; export type NamespacesInstancesCreateRequestEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const NamespacesInstancesCreateRequestEmbeddingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateRequestFusionMethod = "max" | "rrf"; export const NamespacesInstancesCreateRequestFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateRequestIndexMethod = InstancesCreateRequestIndexMethod; export const NamespacesInstancesCreateRequestIndexMethod = InstancesCreateRequestIndexMethod; export type NamespacesInstancesCreateRequestIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const NamespacesInstancesCreateRequestIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateRequestIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: | NamespacesInstancesCreateRequestIndexingOptionsKeywordTokenizer | (string & {}); } export const NamespacesInstancesCreateRequestIndexingOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ keywordTokenizer: S.optional( NamespacesInstancesCreateRequestIndexingOptionsKeywordTokenizer.pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestIndexingOptions", }) as any as S.Schema; export type NamespacesInstancesCreateRequestMetadata = InstancesCreateRequestMetadata; export const NamespacesInstancesCreateRequestMetadata = InstancesCreateRequestMetadata; export type NamespacesInstancesCreateRequestPublicEndpointParamsAuthorizedHostsList = Array; export const NamespacesInstancesCreateRequestPublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; export const NamespacesInstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; export type NamespacesInstancesCreateRequestPublicEndpointParamsCustomDomainsList = Array; export const NamespacesInstancesCreateRequestPublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesCreateRequestPublicEndpointParamsMcp = InstancesCreateRequestPublicEndpointParamsMcp; export const NamespacesInstancesCreateRequestPublicEndpointParamsMcp = InstancesCreateRequestPublicEndpointParamsMcp; export type NamespacesInstancesCreateRequestPublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const NamespacesInstancesCreateRequestPublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateRequestPublicEndpointParamsRateLimit { periodMs?: number; requests?: number; technique?: | NamespacesInstancesCreateRequestPublicEndpointParamsRateLimitTechnique | (string & {}); } export const NamespacesInstancesCreateRequestPublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.Number.pipe(T.Body("period_ms"))), requests: S.optional(S.Number), technique: S.optional( NamespacesInstancesCreateRequestPublicEndpointParamsRateLimitTechnique, ), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestPublicEndpointParamsRateLimit", }) as any as S.Schema; export type NamespacesInstancesCreateRequestPublicEndpointParamsSearchEndpoint = InstancesCreateRequestPublicEndpointParamsSearchEndpoint; export const NamespacesInstancesCreateRequestPublicEndpointParamsSearchEndpoint = InstancesCreateRequestPublicEndpointParamsSearchEndpoint; export interface NamespacesInstancesCreateRequestPublicEndpointParams { authorizedHosts?: NamespacesInstancesCreateRequestPublicEndpointParamsAuthorizedHostsList; chatCompletionsEndpoint?: InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: NamespacesInstancesCreateRequestPublicEndpointParamsCustomDomainsList; enabled?: boolean; mcp?: InstancesCreateRequestPublicEndpointParamsMcp; rateLimit?: NamespacesInstancesCreateRequestPublicEndpointParamsRateLimit; searchEndpoint?: InstancesCreateRequestPublicEndpointParamsSearchEndpoint; } export const NamespacesInstancesCreateRequestPublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( NamespacesInstancesCreateRequestPublicEndpointParamsAuthorizedHostsList.pipe( T.Body("authorized_hosts"), ), ), chatCompletionsEndpoint: S.optional( InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint.pipe( T.Body("chat_completions_endpoint"), ), ), customDomains: S.optional( NamespacesInstancesCreateRequestPublicEndpointParamsCustomDomainsList.pipe( T.Body("custom_domains"), ), ), enabled: S.optional(S.Boolean), mcp: S.optional(InstancesCreateRequestPublicEndpointParamsMcp), rateLimit: S.optional( NamespacesInstancesCreateRequestPublicEndpointParamsRateLimit.pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( InstancesCreateRequestPublicEndpointParamsSearchEndpoint.pipe( T.Body("search_endpoint"), ), ), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestPublicEndpointParams", }) as any as S.Schema; export type NamespacesInstancesCreateRequestRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesCreateRequestRerankingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateRequestRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesCreateRequestRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateRequestRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | NamespacesInstancesCreateRequestRetrievalOptionsBoostByItemDirection | (string & {}); } export const NamespacesInstancesCreateRequestRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( NamespacesInstancesCreateRequestRetrievalOptionsBoostByItemDirection, ), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestRetrievalOptionsBoostByItem", }) as any as S.Schema; export type NamespacesInstancesCreateRequestRetrievalOptionsBoostByList = Array; export const NamespacesInstancesCreateRequestRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesCreateRequestRetrievalOptionsBoostByItem, ) as any as S.Schema; export type NamespacesInstancesCreateRequestRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesCreateRequestRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateRequestRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesCreateRequestRetrievalOptionsBoostByList; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: | NamespacesInstancesCreateRequestRetrievalOptionsKeywordMatchMode | (string & {}); } export const NamespacesInstancesCreateRequestRetrievalOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( NamespacesInstancesCreateRequestRetrievalOptionsBoostByList.pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( NamespacesInstancesCreateRequestRetrievalOptionsKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestRetrievalOptions", }) as any as S.Schema; export type NamespacesInstancesCreateRequestRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesCreateRequestRewriteModel = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateRequestSourceParamsExcludeItemsList = Array; export const NamespacesInstancesCreateRequestSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesCreateRequestSourceParamsIncludeItemsList = Array; export const NamespacesInstancesCreateRequestSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap; includeImages?: boolean; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList; useBrowserRendering?: boolean; } export const NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList.pipe( T.Body("content_selector"), ), ), includeHeaders: S.optional( NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap.pipe( T.Body("include_headers"), ), ), includeImages: S.optional(S.Boolean.pipe(T.Body("include_images"))), specificSitemaps: S.optional( NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList.pipe( T.Body("specific_sitemaps"), ), ), useBrowserRendering: S.optional( S.Boolean.pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateRequestSourceParamsWebCrawler { parseOptions?: NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptions; parseType?: | NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseType | (string & {}); /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions; } export const NamespacesInstancesCreateRequestSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseOptions.pipe( T.Body("parse_options"), ), ), parseType: S.optional( NamespacesInstancesCreateRequestSourceParamsWebCrawlerParseType.pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( WebCrawlerCrawlOptions.pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestSourceParamsWebCrawler", }) as any as S.Schema; export interface NamespacesInstancesCreateRequestSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: NamespacesInstancesCreateRequestSourceParamsExcludeItemsList; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: NamespacesInstancesCreateRequestSourceParamsIncludeItemsList; prefix?: string; r2Jurisdiction?: string; webCrawler?: NamespacesInstancesCreateRequestSourceParamsWebCrawler; } export const NamespacesInstancesCreateRequestSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( NamespacesInstancesCreateRequestSourceParamsExcludeItemsList.pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( NamespacesInstancesCreateRequestSourceParamsIncludeItemsList.pipe( T.Body("include_items"), ), ), prefix: S.optional(S.String), r2Jurisdiction: S.optional(S.String.pipe(T.Body("r2_jurisdiction"))), webCrawler: S.optional( NamespacesInstancesCreateRequestSourceParamsWebCrawler.pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "NamespacesInstancesCreateRequestSourceParams", }) as any as S.Schema; export type NamespacesInstancesCreateRequestSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const NamespacesInstancesCreateRequestSyncInterval = /*@__PURE__*/ S.Number; export type NamespacesInstancesCreateRequestType = "r2" | "web-crawler"; export const NamespacesInstancesCreateRequestType = /*@__PURE__*/ S.String; export interface CreateNamespaceInstanceRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; aiGatewayId?: string; aiSearchModel?: NamespacesInstancesCreateRequestAiSearchModel | (string & {}); cache?: boolean; cacheThreshold?: | NamespacesInstancesCreateRequestCacheThreshold | (string & {}); /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: NamespacesInstancesCreateRequestCacheTtl | (number & {}); chunk?: boolean; chunkOverlap?: number; chunkSize?: number; customMetadata?: NamespacesInstancesCreateRequestCustomMetadataList; embeddingModel?: | NamespacesInstancesCreateRequestEmbeddingModel | (string & {}); fusionMethod?: NamespacesInstancesCreateRequestFusionMethod | (string & {}); /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod; indexingOptions?: NamespacesInstancesCreateRequestIndexingOptions; maxNumResults?: number; metadata?: InstancesCreateRequestMetadata; publicEndpointParams?: NamespacesInstancesCreateRequestPublicEndpointParams; reranking?: boolean; rerankingModel?: | NamespacesInstancesCreateRequestRerankingModel | (string & {}); retrievalOptions?: NamespacesInstancesCreateRequestRetrievalOptions; rewriteModel?: NamespacesInstancesCreateRequestRewriteModel | (string & {}); rewriteQuery?: boolean; scoreThreshold?: number; source?: string; sourceParams?: NamespacesInstancesCreateRequestSourceParams; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: NamespacesInstancesCreateRequestSyncInterval | (number & {}); tokenId?: string; type?: NamespacesInstancesCreateRequestType | (string & {}); } export const CreateNamespaceInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String, aiGatewayId: S.optional(S.String.pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( NamespacesInstancesCreateRequestAiSearchModel.pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.Boolean), cacheThreshold: S.optional( NamespacesInstancesCreateRequestCacheThreshold.pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( NamespacesInstancesCreateRequestCacheTtl.pipe(T.Body("cache_ttl")), ), chunk: S.optional(S.Boolean), chunkOverlap: S.optional(S.Number.pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.Number.pipe(T.Body("chunk_size"))), customMetadata: S.optional( NamespacesInstancesCreateRequestCustomMetadataList.pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( NamespacesInstancesCreateRequestEmbeddingModel.pipe( T.Body("embedding_model"), ), ), fusionMethod: S.optional( NamespacesInstancesCreateRequestFusionMethod.pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.Boolean.pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( InstancesCreateRequestIndexMethod.pipe(T.Body("index_method")), ), indexingOptions: S.optional( NamespacesInstancesCreateRequestIndexingOptions.pipe( T.Body("indexing_options"), ), ), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), metadata: S.optional(InstancesCreateRequestMetadata), publicEndpointParams: S.optional( NamespacesInstancesCreateRequestPublicEndpointParams.pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.Boolean), rerankingModel: S.optional( NamespacesInstancesCreateRequestRerankingModel.pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( NamespacesInstancesCreateRequestRetrievalOptions.pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( NamespacesInstancesCreateRequestRewriteModel.pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.Boolean.pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional(S.Number.pipe(T.Body("score_threshold"))), source: S.optional(S.String), sourceParams: S.optional( NamespacesInstancesCreateRequestSourceParams.pipe( T.Body("source_params"), ), ), syncInterval: S.optional( NamespacesInstancesCreateRequestSyncInterval.pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.String.pipe(T.Body("token_id"))), type: S.optional(NamespacesInstancesCreateRequestType), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateNamespaceInstanceRequest", }) as any as S.Schema; export type NamespacesInstancesCreateResponseAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesCreateResponseAiSearchModel = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateResponseCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesCreateResponseCacheThreshold = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateResponseCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const NamespacesInstancesCreateResponseCacheTtl = /*@__PURE__*/ S.Number; export type NamespacesInstancesCreateResponseCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const NamespacesInstancesCreateResponseCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateResponseCustomMetadataItem { dataType: NamespacesInstancesCreateResponseCustomMetadataItemDataType; fieldName: string; } export const NamespacesInstancesCreateResponseCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: NamespacesInstancesCreateResponseCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "NamespacesInstancesCreateResponseCustomMetadataItem", }) as any as S.Schema; export type NamespacesInstancesCreateResponseCustomMetadataList = Array; export const NamespacesInstancesCreateResponseCustomMetadataList = /*@__PURE__*/ S.Array( NamespacesInstancesCreateResponseCustomMetadataItem, ) as any as S.Schema; export type NamespacesInstancesCreateResponseEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const NamespacesInstancesCreateResponseEmbeddingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateResponseFusionMethod = "max" | "rrf"; export const NamespacesInstancesCreateResponseFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateResponseIndexMethod = InstancesCreateRequestIndexMethod; export const NamespacesInstancesCreateResponseIndexMethod = InstancesCreateRequestIndexMethod; export type NamespacesInstancesCreateResponseIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const NamespacesInstancesCreateResponseIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateResponseIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: NamespacesInstancesCreateResponseIndexingOptionsKeywordTokenizer | null; } export const NamespacesInstancesCreateResponseIndexingOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ keywordTokenizer: S.optional( S.NullOr( NamespacesInstancesCreateResponseIndexingOptionsKeywordTokenizer, ).pipe(T.Body("keyword_tokenizer")), ), }), ).annotate({ identifier: "NamespacesInstancesCreateResponseIndexingOptions", }) as any as S.Schema; export type NamespacesInstancesCreateResponseMetadata = InstancesCreateResponseMetadata; export const NamespacesInstancesCreateResponseMetadata = InstancesCreateResponseMetadata; export type NamespacesInstancesCreateResponsePublicEndpointParamsAuthorizedHostsList = Array; export const NamespacesInstancesCreateResponsePublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const NamespacesInstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type NamespacesInstancesCreateResponsePublicEndpointParamsCustomDomainsList = Array; export const NamespacesInstancesCreateResponsePublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesCreateResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const NamespacesInstancesCreateResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type NamespacesInstancesCreateResponsePublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const NamespacesInstancesCreateResponsePublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateResponsePublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: NamespacesInstancesCreateResponsePublicEndpointParamsRateLimitTechnique | null; } export const NamespacesInstancesCreateResponsePublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr( NamespacesInstancesCreateResponsePublicEndpointParamsRateLimitTechnique, ), ), }), ).annotate({ identifier: "NamespacesInstancesCreateResponsePublicEndpointParamsRateLimit", }) as any as S.Schema; export type NamespacesInstancesCreateResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const NamespacesInstancesCreateResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface NamespacesInstancesCreateResponsePublicEndpointParams { authorizedHosts?: NamespacesInstancesCreateResponsePublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: NamespacesInstancesCreateResponsePublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: NamespacesInstancesCreateResponsePublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const NamespacesInstancesCreateResponsePublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( NamespacesInstancesCreateResponsePublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( NamespacesInstancesCreateResponsePublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr( NamespacesInstancesCreateResponsePublicEndpointParamsRateLimit, ).pipe(T.Body("rate_limit")), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "NamespacesInstancesCreateResponsePublicEndpointParams", }) as any as S.Schema; export type NamespacesInstancesCreateResponseRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesCreateResponseRerankingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateResponseRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesCreateResponseRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateResponseRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: NamespacesInstancesCreateResponseRetrievalOptionsBoostByItemDirection | null; } export const NamespacesInstancesCreateResponseRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr( NamespacesInstancesCreateResponseRetrievalOptionsBoostByItemDirection, ), ), }), ).annotate({ identifier: "NamespacesInstancesCreateResponseRetrievalOptionsBoostByItem", }) as any as S.Schema; export type NamespacesInstancesCreateResponseRetrievalOptionsBoostByList = Array; export const NamespacesInstancesCreateResponseRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesCreateResponseRetrievalOptionsBoostByItem, ) as any as S.Schema; export type NamespacesInstancesCreateResponseRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesCreateResponseRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateResponseRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesCreateResponseRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: NamespacesInstancesCreateResponseRetrievalOptionsKeywordMatchMode | null; } export const NamespacesInstancesCreateResponseRetrievalOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( S.NullOr( NamespacesInstancesCreateResponseRetrievalOptionsBoostByList, ).pipe(T.Body("boost_by")), ), keywordMatchMode: S.optional( S.NullOr( NamespacesInstancesCreateResponseRetrievalOptionsKeywordMatchMode, ).pipe(T.Body("keyword_match_mode")), ), }), ).annotate({ identifier: "NamespacesInstancesCreateResponseRetrievalOptions", }) as any as S.Schema; export type NamespacesInstancesCreateResponseRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesCreateResponseRewriteModel = /*@__PURE__*/ S.String; export type NamespacesInstancesCreateResponseSourceParamsExcludeItemsList = Array; export const NamespacesInstancesCreateResponseSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesCreateResponseSourceParamsIncludeItemsList = Array; export const NamespacesInstancesCreateResponseSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface NamespacesInstancesCreateResponseSourceParamsWebCrawler { parseOptions?: NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptions | null; parseType?: NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const NamespacesInstancesCreateResponseSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr( NamespacesInstancesCreateResponseSourceParamsWebCrawlerParseType, ).pipe(T.Body("parse_type")), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "NamespacesInstancesCreateResponseSourceParamsWebCrawler", }) as any as S.Schema; export interface NamespacesInstancesCreateResponseSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: NamespacesInstancesCreateResponseSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: NamespacesInstancesCreateResponseSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: NamespacesInstancesCreateResponseSourceParamsWebCrawler | null; } export const NamespacesInstancesCreateResponseSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr( NamespacesInstancesCreateResponseSourceParamsExcludeItemsList, ).pipe(T.Body("exclude_items")), ), includeItems: S.optional( S.NullOr( NamespacesInstancesCreateResponseSourceParamsIncludeItemsList, ).pipe(T.Body("include_items")), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(NamespacesInstancesCreateResponseSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "NamespacesInstancesCreateResponseSourceParams", }) as any as S.Schema; export type NamespacesInstancesCreateResponseSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const NamespacesInstancesCreateResponseSyncInterval = /*@__PURE__*/ S.Number; export type NamespacesInstancesCreateResponseType = "r2" | "web-crawler"; export const NamespacesInstancesCreateResponseType = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateNamespaceInstanceResponse { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: NamespacesInstancesCreateResponseAiSearchModel | null; cache?: boolean | null; cacheThreshold?: NamespacesInstancesCreateResponseCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: NamespacesInstancesCreateResponseCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: NamespacesInstancesCreateResponseCustomMetadataList | null; embeddingModel?: NamespacesInstancesCreateResponseEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: NamespacesInstancesCreateResponseFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: NamespacesInstancesCreateResponseIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: NamespacesInstancesCreateResponsePublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: NamespacesInstancesCreateResponseRerankingModel | null; retrievalOptions?: NamespacesInstancesCreateResponseRetrievalOptions | null; rewriteModel?: NamespacesInstancesCreateResponseRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: NamespacesInstancesCreateResponseSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: NamespacesInstancesCreateResponseSyncInterval | null; tokenId?: string | null; type?: NamespacesInstancesCreateResponseType | null; } export const CreateNamespaceInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(NamespacesInstancesCreateResponseAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(NamespacesInstancesCreateResponseCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(NamespacesInstancesCreateResponseCacheTtl).pipe( T.Body("cache_ttl"), ), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(NamespacesInstancesCreateResponseCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(NamespacesInstancesCreateResponseEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(NamespacesInstancesCreateResponseFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(NamespacesInstancesCreateResponseIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(NamespacesInstancesCreateResponsePublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(NamespacesInstancesCreateResponseRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(NamespacesInstancesCreateResponseRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(NamespacesInstancesCreateResponseRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(NamespacesInstancesCreateResponseSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(NamespacesInstancesCreateResponseSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(NamespacesInstancesCreateResponseType)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateNamespaceInstanceResponse", }) as any as S.Schema; export interface CreateNamespaceInstanceJobRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; description?: string; } export const CreateNamespaceInstanceJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), description: S.optional(S.String), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateNamespaceInstanceJobRequest", }) as any as S.Schema; export type NamespacesInstancesJobsCreateResponseSource = "user" | "schedule"; export const NamespacesInstancesJobsCreateResponseSource = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateNamespaceInstanceJobResponse { id: string; source: NamespacesInstancesJobsCreateResponseSource; description?: string | null; endReason?: string | null; endedAt?: string | null; lastSeenAt?: string | null; startedAt?: string | null; } export const CreateNamespaceInstanceJobResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, source: NamespacesInstancesJobsCreateResponseSource, description: S.optional(S.NullOr(S.String)), endReason: S.optional(S.NullOr(S.String).pipe(T.Body("end_reason"))), endedAt: S.optional(S.NullOr(S.String).pipe(T.Body("ended_at"))), lastSeenAt: S.optional(S.NullOr(S.String).pipe(T.Body("last_seen_at"))), startedAt: S.optional(S.NullOr(S.String).pipe(T.Body("started_at"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateNamespaceInstanceJobResponse", }) as any as S.Schema; export type NamespacesInstancesItemsCreateOrUpdateRequestNextAction = "INDEX"; export const NamespacesInstancesItemsCreateOrUpdateRequestNextAction = /*@__PURE__*/ S.String; export interface CreateOrUpdateNamespaceInstanceItemRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; /** Item key / filename. Must not exceed 128 characters. */ key: string; nextAction: | NamespacesInstancesItemsCreateOrUpdateRequestNextAction | (string & {}); /** Wait for indexing to fully complete before responding. On RAGs with vector indexing enabled, this additionally waits for Vectorize ingestion confirmation (up to 40s) so the returned item reflects a queryable state. On timeout the item is returned in `running` state and the background alarm continues polling. Defaults to false. */ waitForCompletion?: boolean; } export const CreateOrUpdateNamespaceInstanceItemRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), key: S.String, nextAction: NamespacesInstancesItemsCreateOrUpdateRequestNextAction.pipe( T.Body("next_action"), ), waitForCompletion: S.optional( S.Boolean.pipe(T.Body("wait_for_completion")), ), }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateOrUpdateNamespaceInstanceItemRequest", }) as any as S.Schema; export type NamespacesInstancesItemsCreateOrUpdateResponseNextAction = | "INDEX" | "DELETE"; export const NamespacesInstancesItemsCreateOrUpdateResponseNextAction = /*@__PURE__*/ S.String; export type NamespacesInstancesItemsCreateOrUpdateResponseStatus = | "queued" | "running" | "completed" | "error" | "skipped" | "outdated"; export const NamespacesInstancesItemsCreateOrUpdateResponseStatus = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateOrUpdateNamespaceInstanceItemResponse { id: string; checksum: string; chunksCount: number; createdAt: string; fileSize: number; key: string; lastSeenAt: string; namespace: string; nextAction: NamespacesInstancesItemsCreateOrUpdateResponseNextAction; /** Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. */ sourceId: string; status: NamespacesInstancesItemsCreateOrUpdateResponseStatus; error?: string | null; } export const CreateOrUpdateNamespaceInstanceItemResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, checksum: S.String, chunksCount: S.Number.pipe(T.Body("chunks_count")), createdAt: S.String.pipe(T.Body("created_at")), fileSize: S.Number.pipe(T.Body("file_size")), key: S.String, lastSeenAt: S.String.pipe(T.Body("last_seen_at")), namespace: S.String, nextAction: NamespacesInstancesItemsCreateOrUpdateResponseNextAction.pipe( T.Body("next_action"), ), sourceId: S.String.pipe(T.Body("source_id")), status: NamespacesInstancesItemsCreateOrUpdateResponseStatus, error: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateOrUpdateNamespaceInstanceItemResponse", }) as any as S.Schema; export interface CreateTokenRequest { accountId: string; cfApiId: string; cfApiKey: string; name: string; legacy?: boolean; } export const CreateTokenRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), cfApiId: S.String.pipe(T.Body("cf_api_id")), cfApiKey: S.String.pipe(T.Body("cf_api_key")), name: S.String, legacy: S.optional(S.Boolean), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/tokens", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateTokenRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateTokenResponse { id: string; cfApiId: string; createdAt: string; modifiedAt: string; name: string; createdBy?: string | null; enabled?: boolean | null; legacy?: boolean | null; modifiedBy?: string | null; } export const CreateTokenResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, cfApiId: S.String.pipe(T.Body("cf_api_id")), createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), name: S.String, createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), enabled: S.optional(S.NullOr(S.Boolean)), legacy: S.optional(S.NullOr(S.Boolean)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateTokenResponse", }) as any as S.Schema; export interface DeleteInstanceRequest { accountId: string; id: string; } export const DeleteInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/ai-search/instances/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteInstanceRequest", }) as any as S.Schema; export type InstancesDeleteResponseAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesDeleteResponseAiSearchModel = /*@__PURE__*/ S.String; export type InstancesDeleteResponseCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesDeleteResponseCacheThreshold = /*@__PURE__*/ S.String; export type InstancesDeleteResponseCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const InstancesDeleteResponseCacheTtl = /*@__PURE__*/ S.Number; export type InstancesDeleteResponseCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const InstancesDeleteResponseCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface InstancesDeleteResponseCustomMetadataItem { dataType: InstancesDeleteResponseCustomMetadataItemDataType; fieldName: string; } export const InstancesDeleteResponseCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: InstancesDeleteResponseCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "InstancesDeleteResponseCustomMetadataItem", }) as any as S.Schema; export type InstancesDeleteResponseCustomMetadataList = Array; export const InstancesDeleteResponseCustomMetadataList = /*@__PURE__*/ S.Array( InstancesDeleteResponseCustomMetadataItem, ) as any as S.Schema; export type InstancesDeleteResponseEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const InstancesDeleteResponseEmbeddingModel = /*@__PURE__*/ S.String; export type InstancesDeleteResponseFusionMethod = "max" | "rrf"; export const InstancesDeleteResponseFusionMethod = /*@__PURE__*/ S.String; export type InstancesDeleteResponseIndexMethod = InstancesCreateRequestIndexMethod; export const InstancesDeleteResponseIndexMethod = InstancesCreateRequestIndexMethod; export type InstancesDeleteResponseIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const InstancesDeleteResponseIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface InstancesDeleteResponseIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: InstancesDeleteResponseIndexingOptionsKeywordTokenizer | null; } export const InstancesDeleteResponseIndexingOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ keywordTokenizer: S.optional( S.NullOr(InstancesDeleteResponseIndexingOptionsKeywordTokenizer).pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "InstancesDeleteResponseIndexingOptions", }) as any as S.Schema; export type InstancesDeleteResponseMetadata = InstancesCreateResponseMetadata; export const InstancesDeleteResponseMetadata = InstancesCreateResponseMetadata; export type InstancesDeleteResponsePublicEndpointParamsAuthorizedHostsList = Array; export const InstancesDeleteResponsePublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesDeleteResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const InstancesDeleteResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type InstancesDeleteResponsePublicEndpointParamsCustomDomainsList = Array; export const InstancesDeleteResponsePublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesDeleteResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const InstancesDeleteResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type InstancesDeleteResponsePublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const InstancesDeleteResponsePublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface InstancesDeleteResponsePublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: InstancesDeleteResponsePublicEndpointParamsRateLimitTechnique | null; } export const InstancesDeleteResponsePublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr(InstancesDeleteResponsePublicEndpointParamsRateLimitTechnique), ), }), ).annotate({ identifier: "InstancesDeleteResponsePublicEndpointParamsRateLimit", }) as any as S.Schema; export type InstancesDeleteResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const InstancesDeleteResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface InstancesDeleteResponsePublicEndpointParams { authorizedHosts?: InstancesDeleteResponsePublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: InstancesDeleteResponsePublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: InstancesDeleteResponsePublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const InstancesDeleteResponsePublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( InstancesDeleteResponsePublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( InstancesDeleteResponsePublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr(InstancesDeleteResponsePublicEndpointParamsRateLimit).pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "InstancesDeleteResponsePublicEndpointParams", }) as any as S.Schema; export type InstancesDeleteResponseRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesDeleteResponseRerankingModel = /*@__PURE__*/ S.String; export type InstancesDeleteResponseRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesDeleteResponseRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesDeleteResponseRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: InstancesDeleteResponseRetrievalOptionsBoostByItemDirection | null; } export const InstancesDeleteResponseRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr(InstancesDeleteResponseRetrievalOptionsBoostByItemDirection), ), }), ).annotate({ identifier: "InstancesDeleteResponseRetrievalOptionsBoostByItem", }) as any as S.Schema; export type InstancesDeleteResponseRetrievalOptionsBoostByList = Array; export const InstancesDeleteResponseRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( InstancesDeleteResponseRetrievalOptionsBoostByItem, ) as any as S.Schema; export type InstancesDeleteResponseRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const InstancesDeleteResponseRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface InstancesDeleteResponseRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesDeleteResponseRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: InstancesDeleteResponseRetrievalOptionsKeywordMatchMode | null; } export const InstancesDeleteResponseRetrievalOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ boostBy: S.optional( S.NullOr(InstancesDeleteResponseRetrievalOptionsBoostByList).pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( S.NullOr(InstancesDeleteResponseRetrievalOptionsKeywordMatchMode).pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "InstancesDeleteResponseRetrievalOptions", }) as any as S.Schema; export type InstancesDeleteResponseRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesDeleteResponseRewriteModel = /*@__PURE__*/ S.String; export type InstancesDeleteResponseSourceParamsExcludeItemsList = Array; export const InstancesDeleteResponseSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesDeleteResponseSourceParamsIncludeItemsList = Array; export const InstancesDeleteResponseSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesDeleteResponseSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const InstancesDeleteResponseSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( InstancesDeleteResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "InstancesDeleteResponseSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type InstancesDeleteResponseSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const InstancesDeleteResponseSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface InstancesDeleteResponseSourceParamsWebCrawler { parseOptions?: InstancesDeleteResponseSourceParamsWebCrawlerParseOptions | null; parseType?: InstancesDeleteResponseSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const InstancesDeleteResponseSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( InstancesDeleteResponseSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr(InstancesDeleteResponseSourceParamsWebCrawlerParseType).pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "InstancesDeleteResponseSourceParamsWebCrawler", }) as any as S.Schema; export interface InstancesDeleteResponseSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: InstancesDeleteResponseSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: InstancesDeleteResponseSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: InstancesDeleteResponseSourceParamsWebCrawler | null; } export const InstancesDeleteResponseSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr(InstancesDeleteResponseSourceParamsExcludeItemsList).pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( S.NullOr(InstancesDeleteResponseSourceParamsIncludeItemsList).pipe( T.Body("include_items"), ), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(InstancesDeleteResponseSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "InstancesDeleteResponseSourceParams", }) as any as S.Schema; export type InstancesDeleteResponseSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const InstancesDeleteResponseSyncInterval = /*@__PURE__*/ S.Number; export type InstancesDeleteResponseType = "r2" | "web-crawler"; export const InstancesDeleteResponseType = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteInstanceResponse { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: InstancesDeleteResponseAiSearchModel | null; cache?: boolean | null; cacheThreshold?: InstancesDeleteResponseCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: InstancesDeleteResponseCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: InstancesDeleteResponseCustomMetadataList | null; embeddingModel?: InstancesDeleteResponseEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: InstancesDeleteResponseFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: InstancesDeleteResponseIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: InstancesDeleteResponsePublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: InstancesDeleteResponseRerankingModel | null; retrievalOptions?: InstancesDeleteResponseRetrievalOptions | null; rewriteModel?: InstancesDeleteResponseRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: InstancesDeleteResponseSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: InstancesDeleteResponseSyncInterval | null; tokenId?: string | null; type?: InstancesDeleteResponseType | null; } export const DeleteInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(InstancesDeleteResponseAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(InstancesDeleteResponseCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(InstancesDeleteResponseCacheTtl).pipe(T.Body("cache_ttl")), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(InstancesDeleteResponseCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(InstancesDeleteResponseEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(InstancesDeleteResponseFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(InstancesDeleteResponseIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(InstancesDeleteResponsePublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(InstancesDeleteResponseRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(InstancesDeleteResponseRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(InstancesDeleteResponseRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(InstancesDeleteResponseSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(InstancesDeleteResponseSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(InstancesDeleteResponseType)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteInstanceResponse", }) as any as S.Schema; export interface DeleteNamespaceRequest { accountId: string; name: string; } export const DeleteNamespaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/ai-search/namespaces/{name}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteNamespaceRequest", }) as any as S.Schema; export type DeleteNamespaceResponse = unknown; export const DeleteNamespaceResponse = /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteNamespaceResponse", }) as any as S.Schema; export interface DeleteNamespaceInstanceRequest { accountId: string; name: string; id: string; } export const DeleteNamespaceInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteNamespaceInstanceRequest", }) as any as S.Schema; export type NamespacesInstancesDeleteResponseAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesDeleteResponseAiSearchModel = /*@__PURE__*/ S.String; export type NamespacesInstancesDeleteResponseCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesDeleteResponseCacheThreshold = /*@__PURE__*/ S.String; export type NamespacesInstancesDeleteResponseCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const NamespacesInstancesDeleteResponseCacheTtl = /*@__PURE__*/ S.Number; export type NamespacesInstancesDeleteResponseCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const NamespacesInstancesDeleteResponseCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface NamespacesInstancesDeleteResponseCustomMetadataItem { dataType: NamespacesInstancesDeleteResponseCustomMetadataItemDataType; fieldName: string; } export const NamespacesInstancesDeleteResponseCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: NamespacesInstancesDeleteResponseCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponseCustomMetadataItem", }) as any as S.Schema; export type NamespacesInstancesDeleteResponseCustomMetadataList = Array; export const NamespacesInstancesDeleteResponseCustomMetadataList = /*@__PURE__*/ S.Array( NamespacesInstancesDeleteResponseCustomMetadataItem, ) as any as S.Schema; export type NamespacesInstancesDeleteResponseEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const NamespacesInstancesDeleteResponseEmbeddingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesDeleteResponseFusionMethod = "max" | "rrf"; export const NamespacesInstancesDeleteResponseFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesDeleteResponseIndexMethod = InstancesCreateRequestIndexMethod; export const NamespacesInstancesDeleteResponseIndexMethod = InstancesCreateRequestIndexMethod; export type NamespacesInstancesDeleteResponseIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const NamespacesInstancesDeleteResponseIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface NamespacesInstancesDeleteResponseIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: NamespacesInstancesDeleteResponseIndexingOptionsKeywordTokenizer | null; } export const NamespacesInstancesDeleteResponseIndexingOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ keywordTokenizer: S.optional( S.NullOr( NamespacesInstancesDeleteResponseIndexingOptionsKeywordTokenizer, ).pipe(T.Body("keyword_tokenizer")), ), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponseIndexingOptions", }) as any as S.Schema; export type NamespacesInstancesDeleteResponseMetadata = InstancesCreateResponseMetadata; export const NamespacesInstancesDeleteResponseMetadata = InstancesCreateResponseMetadata; export type NamespacesInstancesDeleteResponsePublicEndpointParamsAuthorizedHostsList = Array; export const NamespacesInstancesDeleteResponsePublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesDeleteResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const NamespacesInstancesDeleteResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type NamespacesInstancesDeleteResponsePublicEndpointParamsCustomDomainsList = Array; export const NamespacesInstancesDeleteResponsePublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesDeleteResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const NamespacesInstancesDeleteResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimitTechnique | null; } export const NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr( NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimitTechnique, ), ), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimit", }) as any as S.Schema; export type NamespacesInstancesDeleteResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const NamespacesInstancesDeleteResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface NamespacesInstancesDeleteResponsePublicEndpointParams { authorizedHosts?: NamespacesInstancesDeleteResponsePublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: NamespacesInstancesDeleteResponsePublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const NamespacesInstancesDeleteResponsePublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( NamespacesInstancesDeleteResponsePublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( NamespacesInstancesDeleteResponsePublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr( NamespacesInstancesDeleteResponsePublicEndpointParamsRateLimit, ).pipe(T.Body("rate_limit")), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponsePublicEndpointParams", }) as any as S.Schema; export type NamespacesInstancesDeleteResponseRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesDeleteResponseRerankingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesDeleteResponseRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesDeleteResponseRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesDeleteResponseRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: NamespacesInstancesDeleteResponseRetrievalOptionsBoostByItemDirection | null; } export const NamespacesInstancesDeleteResponseRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr( NamespacesInstancesDeleteResponseRetrievalOptionsBoostByItemDirection, ), ), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponseRetrievalOptionsBoostByItem", }) as any as S.Schema; export type NamespacesInstancesDeleteResponseRetrievalOptionsBoostByList = Array; export const NamespacesInstancesDeleteResponseRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesDeleteResponseRetrievalOptionsBoostByItem, ) as any as S.Schema; export type NamespacesInstancesDeleteResponseRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesDeleteResponseRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface NamespacesInstancesDeleteResponseRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesDeleteResponseRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: NamespacesInstancesDeleteResponseRetrievalOptionsKeywordMatchMode | null; } export const NamespacesInstancesDeleteResponseRetrievalOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( S.NullOr( NamespacesInstancesDeleteResponseRetrievalOptionsBoostByList, ).pipe(T.Body("boost_by")), ), keywordMatchMode: S.optional( S.NullOr( NamespacesInstancesDeleteResponseRetrievalOptionsKeywordMatchMode, ).pipe(T.Body("keyword_match_mode")), ), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponseRetrievalOptions", }) as any as S.Schema; export type NamespacesInstancesDeleteResponseRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesDeleteResponseRewriteModel = /*@__PURE__*/ S.String; export type NamespacesInstancesDeleteResponseSourceParamsExcludeItemsList = Array; export const NamespacesInstancesDeleteResponseSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesDeleteResponseSourceParamsIncludeItemsList = Array; export const NamespacesInstancesDeleteResponseSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface NamespacesInstancesDeleteResponseSourceParamsWebCrawler { parseOptions?: NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptions | null; parseType?: NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const NamespacesInstancesDeleteResponseSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr( NamespacesInstancesDeleteResponseSourceParamsWebCrawlerParseType, ).pipe(T.Body("parse_type")), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponseSourceParamsWebCrawler", }) as any as S.Schema; export interface NamespacesInstancesDeleteResponseSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: NamespacesInstancesDeleteResponseSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: NamespacesInstancesDeleteResponseSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: NamespacesInstancesDeleteResponseSourceParamsWebCrawler | null; } export const NamespacesInstancesDeleteResponseSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr( NamespacesInstancesDeleteResponseSourceParamsExcludeItemsList, ).pipe(T.Body("exclude_items")), ), includeItems: S.optional( S.NullOr( NamespacesInstancesDeleteResponseSourceParamsIncludeItemsList, ).pipe(T.Body("include_items")), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(NamespacesInstancesDeleteResponseSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "NamespacesInstancesDeleteResponseSourceParams", }) as any as S.Schema; export type NamespacesInstancesDeleteResponseSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const NamespacesInstancesDeleteResponseSyncInterval = /*@__PURE__*/ S.Number; export type NamespacesInstancesDeleteResponseType = "r2" | "web-crawler"; export const NamespacesInstancesDeleteResponseType = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteNamespaceInstanceResponse { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: NamespacesInstancesDeleteResponseAiSearchModel | null; cache?: boolean | null; cacheThreshold?: NamespacesInstancesDeleteResponseCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: NamespacesInstancesDeleteResponseCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: NamespacesInstancesDeleteResponseCustomMetadataList | null; embeddingModel?: NamespacesInstancesDeleteResponseEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: NamespacesInstancesDeleteResponseFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: NamespacesInstancesDeleteResponseIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: NamespacesInstancesDeleteResponsePublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: NamespacesInstancesDeleteResponseRerankingModel | null; retrievalOptions?: NamespacesInstancesDeleteResponseRetrievalOptions | null; rewriteModel?: NamespacesInstancesDeleteResponseRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: NamespacesInstancesDeleteResponseSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: NamespacesInstancesDeleteResponseSyncInterval | null; tokenId?: string | null; type?: NamespacesInstancesDeleteResponseType | null; } export const DeleteNamespaceInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(NamespacesInstancesDeleteResponseAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(NamespacesInstancesDeleteResponseCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(NamespacesInstancesDeleteResponseCacheTtl).pipe( T.Body("cache_ttl"), ), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(NamespacesInstancesDeleteResponseCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(NamespacesInstancesDeleteResponseEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(NamespacesInstancesDeleteResponseFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(NamespacesInstancesDeleteResponseIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(NamespacesInstancesDeleteResponsePublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(NamespacesInstancesDeleteResponseRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(NamespacesInstancesDeleteResponseRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(NamespacesInstancesDeleteResponseRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(NamespacesInstancesDeleteResponseSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(NamespacesInstancesDeleteResponseSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(NamespacesInstancesDeleteResponseType)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteNamespaceInstanceResponse", }) as any as S.Schema; export interface DeleteNamespaceInstanceItemRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; itemId: string; } export const DeleteNamespaceInstanceItemRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), itemId: S.String.pipe(T.Label("item_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteNamespaceInstanceItemRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteNamespaceInstanceItemResponse { key: string; } export const DeleteNamespaceInstanceItemResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteNamespaceInstanceItemResponse", }) as any as S.Schema; export interface DeleteTokenRequest { accountId: string; id: string; } export const DeleteTokenRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/ai-search/tokens/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteTokenRequest", }) as any as S.Schema; export type DeleteTokenResponse = unknown; export const DeleteTokenResponse = /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteTokenResponse", }) as any as S.Schema; export interface DownloadNamespaceInstanceItemRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; itemId: string; } export const DownloadNamespaceInstanceItemRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), itemId: S.String.pipe(T.Label("item_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}/download", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DownloadNamespaceInstanceItemRequest", }) as any as S.Schema; export interface DownloadNamespaceInstanceItemResponse {} export const DownloadNamespaceInstanceItemResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DownloadNamespaceInstanceItemResponse", }) as any as S.Schema; export interface GetInstanceJobRequest { accountId: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; jobId: string; } export const GetInstanceJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), jobId: S.String.pipe(T.Label("job_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/instances/{id}/jobs/{job_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInstanceJobRequest", }) as any as S.Schema; export type InstancesJobsGetResponseSource = "user" | "schedule"; export const InstancesJobsGetResponseSource = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetInstanceJobResponse { id: string; source: InstancesJobsGetResponseSource; description?: string | null; endReason?: string | null; endedAt?: string | null; lastSeenAt?: string | null; startedAt?: string | null; } export const GetInstanceJobResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, source: InstancesJobsGetResponseSource, description: S.optional(S.NullOr(S.String)), endReason: S.optional(S.NullOr(S.String).pipe(T.Body("end_reason"))), endedAt: S.optional(S.NullOr(S.String).pipe(T.Body("ended_at"))), lastSeenAt: S.optional(S.NullOr(S.String).pipe(T.Body("last_seen_at"))), startedAt: S.optional(S.NullOr(S.String).pipe(T.Body("started_at"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInstanceJobResponse", }) as any as S.Schema; export interface GetNamespaceInstanceItemRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; itemId: string; } export const GetNamespaceInstanceItemRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), itemId: S.String.pipe(T.Label("item_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetNamespaceInstanceItemRequest", }) as any as S.Schema; export type NamespacesInstancesItemsGetResponseNextAction = "INDEX" | "DELETE"; export const NamespacesInstancesItemsGetResponseNextAction = /*@__PURE__*/ S.String; export type NamespacesInstancesItemsGetResponseStatus = | "queued" | "running" | "completed" | "error" | "skipped" | "outdated"; export const NamespacesInstancesItemsGetResponseStatus = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetNamespaceInstanceItemResponse { id: string; checksum: string; chunksCount: number; createdAt: string; fileSize: number; key: string; lastSeenAt: string; namespace: string; nextAction: NamespacesInstancesItemsGetResponseNextAction; /** Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. */ sourceId: string; status: NamespacesInstancesItemsGetResponseStatus; error?: string | null; } export const GetNamespaceInstanceItemResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, checksum: S.String, chunksCount: S.Number.pipe(T.Body("chunks_count")), createdAt: S.String.pipe(T.Body("created_at")), fileSize: S.Number.pipe(T.Body("file_size")), key: S.String, lastSeenAt: S.String.pipe(T.Body("last_seen_at")), namespace: S.String, nextAction: NamespacesInstancesItemsGetResponseNextAction.pipe( T.Body("next_action"), ), sourceId: S.String.pipe(T.Body("source_id")), status: NamespacesInstancesItemsGetResponseStatus, error: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetNamespaceInstanceItemResponse", }) as any as S.Schema; export interface GetNamespaceInstanceJobRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; jobId: string; } export const GetNamespaceInstanceJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), jobId: S.String.pipe(T.Label("job_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs/{job_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetNamespaceInstanceJobRequest", }) as any as S.Schema; export type NamespacesInstancesJobsGetResponseSource = "user" | "schedule"; export const NamespacesInstancesJobsGetResponseSource = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetNamespaceInstanceJobResponse { id: string; source: NamespacesInstancesJobsGetResponseSource; description?: string | null; endReason?: string | null; endedAt?: string | null; lastSeenAt?: string | null; startedAt?: string | null; } export const GetNamespaceInstanceJobResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, source: NamespacesInstancesJobsGetResponseSource, description: S.optional(S.NullOr(S.String)), endReason: S.optional(S.NullOr(S.String).pipe(T.Body("end_reason"))), endedAt: S.optional(S.NullOr(S.String).pipe(T.Body("ended_at"))), lastSeenAt: S.optional(S.NullOr(S.String).pipe(T.Body("last_seen_at"))), startedAt: S.optional(S.NullOr(S.String).pipe(T.Body("started_at"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetNamespaceInstanceJobResponse", }) as any as S.Schema; export interface ListInstanceJobsRequest { accountId: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; page?: number; perPage?: number; } export const ListInstanceJobsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/instances/{id}/jobs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInstanceJobsRequest", }) as any as S.Schema; export type InstancesJobsListResultItemSource = "user" | "schedule"; export const InstancesJobsListResultItemSource = /*@__PURE__*/ S.String; export interface InstancesJobsListResultItem { id: string; source: InstancesJobsListResultItemSource; description?: string | null; endReason?: string | null; endedAt?: string | null; lastSeenAt?: string | null; startedAt?: string | null; } export const InstancesJobsListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, source: InstancesJobsListResultItemSource, description: S.optional(S.NullOr(S.String)), endReason: S.optional(S.NullOr(S.String).pipe(T.Body("end_reason"))), endedAt: S.optional(S.NullOr(S.String).pipe(T.Body("ended_at"))), lastSeenAt: S.optional(S.NullOr(S.String).pipe(T.Body("last_seen_at"))), startedAt: S.optional(S.NullOr(S.String).pipe(T.Body("started_at"))), }), ).annotate({ identifier: "InstancesJobsListResultItem", }) as any as S.Schema; export type InstancesJobsListResultList = Array; export const InstancesJobsListResultList = /*@__PURE__*/ S.Array( InstancesJobsListResultItem, ) as any as S.Schema; export interface ListInstanceJobsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: InstancesJobsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListInstanceJobsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: InstancesJobsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInstanceJobsResponse", }) as any as S.Schema; export type InstancesListRequestOrderBy = "created_at"; export const InstancesListRequestOrderBy = /*@__PURE__*/ S.String; export type InstancesListRequestOrderByDirection = "asc" | "desc"; export const InstancesListRequestOrderByDirection = /*@__PURE__*/ S.String; export interface ListInstancesRequest { accountId: string; /** Filter by namespace. */ namespace?: string; /** Field to order results by. */ orderBy?: InstancesListRequestOrderBy | (string & {}); /** Order direction. */ orderByDirection?: InstancesListRequestOrderByDirection | (string & {}); /** Page number (1-indexed). */ page?: number; /** Number of results per page. */ perPage?: number; /** Filter instances whose id contains this string (case-insensitive). */ search?: string; } export const ListInstancesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), namespace: S.optional(S.String.pipe(T.Query())), orderBy: S.optional(InstancesListRequestOrderBy.pipe(T.Query("order_by"))), orderByDirection: S.optional( InstancesListRequestOrderByDirection.pipe(T.Query("order_by_direction")), ), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), search: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/instances", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInstancesRequest", }) as any as S.Schema; export type InstancesListResultItemAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesListResultItemAiSearchModel = /*@__PURE__*/ S.String; export type InstancesListResultItemCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesListResultItemCacheThreshold = /*@__PURE__*/ S.String; export type InstancesListResultItemCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const InstancesListResultItemCacheTtl = /*@__PURE__*/ S.Number; export type InstancesListResultItemCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const InstancesListResultItemCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface InstancesListResultItemCustomMetadataItem { dataType: InstancesListResultItemCustomMetadataItemDataType; fieldName: string; } export const InstancesListResultItemCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: InstancesListResultItemCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "InstancesListResultItemCustomMetadataItem", }) as any as S.Schema; export type InstancesListResultItemCustomMetadataList = Array; export const InstancesListResultItemCustomMetadataList = /*@__PURE__*/ S.Array( InstancesListResultItemCustomMetadataItem, ) as any as S.Schema; export type InstancesListResultItemEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const InstancesListResultItemEmbeddingModel = /*@__PURE__*/ S.String; export type InstancesListResultItemFusionMethod = "max" | "rrf"; export const InstancesListResultItemFusionMethod = /*@__PURE__*/ S.String; export type InstancesListResultItemIndexMethod = InstancesCreateRequestIndexMethod; export const InstancesListResultItemIndexMethod = InstancesCreateRequestIndexMethod; export type InstancesListResultItemIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const InstancesListResultItemIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface InstancesListResultItemIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: InstancesListResultItemIndexingOptionsKeywordTokenizer | null; } export const InstancesListResultItemIndexingOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ keywordTokenizer: S.optional( S.NullOr(InstancesListResultItemIndexingOptionsKeywordTokenizer).pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "InstancesListResultItemIndexingOptions", }) as any as S.Schema; export type InstancesListResultItemMetadata = InstancesCreateResponseMetadata; export const InstancesListResultItemMetadata = InstancesCreateResponseMetadata; export type InstancesListResultItemPublicEndpointParamsAuthorizedHostsList = Array; export const InstancesListResultItemPublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesListResultItemPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const InstancesListResultItemPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type InstancesListResultItemPublicEndpointParamsCustomDomainsList = Array; export const InstancesListResultItemPublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesListResultItemPublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const InstancesListResultItemPublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type InstancesListResultItemPublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const InstancesListResultItemPublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface InstancesListResultItemPublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: InstancesListResultItemPublicEndpointParamsRateLimitTechnique | null; } export const InstancesListResultItemPublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr(InstancesListResultItemPublicEndpointParamsRateLimitTechnique), ), }), ).annotate({ identifier: "InstancesListResultItemPublicEndpointParamsRateLimit", }) as any as S.Schema; export type InstancesListResultItemPublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const InstancesListResultItemPublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface InstancesListResultItemPublicEndpointParams { authorizedHosts?: InstancesListResultItemPublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: InstancesListResultItemPublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: InstancesListResultItemPublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const InstancesListResultItemPublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( InstancesListResultItemPublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( InstancesListResultItemPublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr(InstancesListResultItemPublicEndpointParamsRateLimit).pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "InstancesListResultItemPublicEndpointParams", }) as any as S.Schema; export type InstancesListResultItemRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesListResultItemRerankingModel = /*@__PURE__*/ S.String; export type InstancesListResultItemRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesListResultItemRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesListResultItemRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: InstancesListResultItemRetrievalOptionsBoostByItemDirection | null; } export const InstancesListResultItemRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr(InstancesListResultItemRetrievalOptionsBoostByItemDirection), ), }), ).annotate({ identifier: "InstancesListResultItemRetrievalOptionsBoostByItem", }) as any as S.Schema; export type InstancesListResultItemRetrievalOptionsBoostByList = Array; export const InstancesListResultItemRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( InstancesListResultItemRetrievalOptionsBoostByItem, ) as any as S.Schema; export type InstancesListResultItemRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const InstancesListResultItemRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface InstancesListResultItemRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesListResultItemRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: InstancesListResultItemRetrievalOptionsKeywordMatchMode | null; } export const InstancesListResultItemRetrievalOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ boostBy: S.optional( S.NullOr(InstancesListResultItemRetrievalOptionsBoostByList).pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( S.NullOr(InstancesListResultItemRetrievalOptionsKeywordMatchMode).pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "InstancesListResultItemRetrievalOptions", }) as any as S.Schema; export type InstancesListResultItemRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesListResultItemRewriteModel = /*@__PURE__*/ S.String; export type InstancesListResultItemSourceParamsExcludeItemsList = Array; export const InstancesListResultItemSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesListResultItemSourceParamsIncludeItemsList = Array; export const InstancesListResultItemSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const InstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type InstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const InstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type InstancesListResultItemSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const InstancesListResultItemSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type InstancesListResultItemSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const InstancesListResultItemSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesListResultItemSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: InstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: InstancesListResultItemSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: InstancesListResultItemSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const InstancesListResultItemSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( InstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( InstancesListResultItemSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( InstancesListResultItemSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "InstancesListResultItemSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type InstancesListResultItemSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const InstancesListResultItemSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface InstancesListResultItemSourceParamsWebCrawler { parseOptions?: InstancesListResultItemSourceParamsWebCrawlerParseOptions | null; parseType?: InstancesListResultItemSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const InstancesListResultItemSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( InstancesListResultItemSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr(InstancesListResultItemSourceParamsWebCrawlerParseType).pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "InstancesListResultItemSourceParamsWebCrawler", }) as any as S.Schema; export interface InstancesListResultItemSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: InstancesListResultItemSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: InstancesListResultItemSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: InstancesListResultItemSourceParamsWebCrawler | null; } export const InstancesListResultItemSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr(InstancesListResultItemSourceParamsExcludeItemsList).pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( S.NullOr(InstancesListResultItemSourceParamsIncludeItemsList).pipe( T.Body("include_items"), ), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(InstancesListResultItemSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "InstancesListResultItemSourceParams", }) as any as S.Schema; export type InstancesListResultItemSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const InstancesListResultItemSyncInterval = /*@__PURE__*/ S.Number; export type InstancesListResultItemType = "r2" | "web-crawler"; export const InstancesListResultItemType = /*@__PURE__*/ S.String; export interface InstancesListResultItem { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: InstancesListResultItemAiSearchModel | null; cache?: boolean | null; cacheThreshold?: InstancesListResultItemCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: InstancesListResultItemCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: InstancesListResultItemCustomMetadataList | null; embeddingModel?: InstancesListResultItemEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: InstancesListResultItemFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: InstancesListResultItemIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: InstancesListResultItemPublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: InstancesListResultItemRerankingModel | null; retrievalOptions?: InstancesListResultItemRetrievalOptions | null; rewriteModel?: InstancesListResultItemRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: InstancesListResultItemSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: InstancesListResultItemSyncInterval | null; tokenId?: string | null; type?: InstancesListResultItemType | null; } export const InstancesListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(InstancesListResultItemAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(InstancesListResultItemCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(InstancesListResultItemCacheTtl).pipe(T.Body("cache_ttl")), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(InstancesListResultItemCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(InstancesListResultItemEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(InstancesListResultItemFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(InstancesListResultItemIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(InstancesListResultItemPublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(InstancesListResultItemRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(InstancesListResultItemRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(InstancesListResultItemRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(InstancesListResultItemSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(InstancesListResultItemSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(InstancesListResultItemType)), }), ).annotate({ identifier: "InstancesListResultItem", }) as any as S.Schema; export type InstancesListResultList = Array; export const InstancesListResultList = /*@__PURE__*/ S.Array( InstancesListResultItem, ) as any as S.Schema; export interface ListInstancesResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: InstancesListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListInstancesResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: InstancesListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInstancesResponse", }) as any as S.Schema; export type NamespacesInstancesItemsListRequestSortBy = | "status" | "modified_at"; export const NamespacesInstancesItemsListRequestSortBy = /*@__PURE__*/ S.String; export type NamespacesInstancesItemsListRequestStatus = | "queued" | "running" | "completed" | "error" | "skipped" | "outdated"; export const NamespacesInstancesItemsListRequestStatus = /*@__PURE__*/ S.String; export interface ListNamespaceInstanceItemsRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; /** Filter items by their unique ID. Returns at most one item. */ itemId?: string; /** JSON-encoded metadata filter using Vectorize filter syntax. Examples: {"folder":"reports/"}, {"timestamp":{"$gte":1700000000000}}, {"folder":{"$in":["docs/","reports/"]}} */ metadataFilter?: string; page?: number; perPage?: number; search?: string; /** Sort order for items. "status" (default) sorts by status priority then last_seen_at. "modified_at" sorts by file modification time (most recent first), falling back to created_at. */ sortBy?: NamespacesInstancesItemsListRequestSortBy | (string & {}); /** Filter items by source_id. Use "builtin" for uploaded files, or a source identifier like "web-crawler:https://example.com". */ source?: string; status?: NamespacesInstancesItemsListRequestStatus | (string & {}); } export const ListNamespaceInstanceItemsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), itemId: S.optional(S.String.pipe(T.Query("item_id"))), metadataFilter: S.optional(S.String.pipe(T.Query("metadata_filter"))), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), search: S.optional(S.String.pipe(T.Query())), sortBy: S.optional( NamespacesInstancesItemsListRequestSortBy.pipe(T.Query("sort_by")), ), source: S.optional(S.String.pipe(T.Query())), status: S.optional( NamespacesInstancesItemsListRequestStatus.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListNamespaceInstanceItemsRequest", }) as any as S.Schema; export type NamespacesInstancesItemsListResultItemNextAction = | "INDEX" | "DELETE"; export const NamespacesInstancesItemsListResultItemNextAction = /*@__PURE__*/ S.String; export type NamespacesInstancesItemsListResultItemStatus = | "queued" | "running" | "completed" | "error" | "skipped" | "outdated"; export const NamespacesInstancesItemsListResultItemStatus = /*@__PURE__*/ S.String; export interface NamespacesInstancesItemsListResultItem { id: string; checksum: string; chunksCount: number; createdAt: string; fileSize: number; key: string; lastSeenAt: string; namespace: string; nextAction: NamespacesInstancesItemsListResultItemNextAction; /** Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. */ sourceId: string; status: NamespacesInstancesItemsListResultItemStatus; error?: string | null; } export const NamespacesInstancesItemsListResultItem = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, checksum: S.String, chunksCount: S.Number.pipe(T.Body("chunks_count")), createdAt: S.String.pipe(T.Body("created_at")), fileSize: S.Number.pipe(T.Body("file_size")), key: S.String, lastSeenAt: S.String.pipe(T.Body("last_seen_at")), namespace: S.String, nextAction: NamespacesInstancesItemsListResultItemNextAction.pipe( T.Body("next_action"), ), sourceId: S.String.pipe(T.Body("source_id")), status: NamespacesInstancesItemsListResultItemStatus, error: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "NamespacesInstancesItemsListResultItem", }) as any as S.Schema; export type NamespacesInstancesItemsListResultList = Array; export const NamespacesInstancesItemsListResultList = /*@__PURE__*/ S.Array( NamespacesInstancesItemsListResultItem, ) as any as S.Schema; export interface ListNamespaceInstanceItemsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: NamespacesInstancesItemsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListNamespaceInstanceItemsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: NamespacesInstancesItemsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListNamespaceInstanceItemsResponse", }) as any as S.Schema; export interface ListNamespaceInstanceJobsRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; page?: number; perPage?: number; } export const ListNamespaceInstanceJobsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListNamespaceInstanceJobsRequest", }) as any as S.Schema; export type NamespacesInstancesJobsListResultItemSource = "user" | "schedule"; export const NamespacesInstancesJobsListResultItemSource = /*@__PURE__*/ S.String; export interface NamespacesInstancesJobsListResultItem { id: string; source: NamespacesInstancesJobsListResultItemSource; description?: string | null; endReason?: string | null; endedAt?: string | null; lastSeenAt?: string | null; startedAt?: string | null; } export const NamespacesInstancesJobsListResultItem = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, source: NamespacesInstancesJobsListResultItemSource, description: S.optional(S.NullOr(S.String)), endReason: S.optional(S.NullOr(S.String).pipe(T.Body("end_reason"))), endedAt: S.optional(S.NullOr(S.String).pipe(T.Body("ended_at"))), lastSeenAt: S.optional(S.NullOr(S.String).pipe(T.Body("last_seen_at"))), startedAt: S.optional(S.NullOr(S.String).pipe(T.Body("started_at"))), }), ).annotate({ identifier: "NamespacesInstancesJobsListResultItem", }) as any as S.Schema; export type NamespacesInstancesJobsListResultList = Array; export const NamespacesInstancesJobsListResultList = /*@__PURE__*/ S.Array( NamespacesInstancesJobsListResultItem, ) as any as S.Schema; export interface ListNamespaceInstanceJobsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: NamespacesInstancesJobsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListNamespaceInstanceJobsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: NamespacesInstancesJobsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListNamespaceInstanceJobsResponse", }) as any as S.Schema; export type NamespacesInstancesListRequestOrderBy = "created_at"; export const NamespacesInstancesListRequestOrderBy = /*@__PURE__*/ S.String; export type NamespacesInstancesListRequestOrderByDirection = "asc" | "desc"; export const NamespacesInstancesListRequestOrderByDirection = /*@__PURE__*/ S.String; export interface ListNamespaceInstancesRequest { accountId: string; name: string; /** Filter by namespace. */ namespace?: string; /** Field to order results by. */ orderBy?: NamespacesInstancesListRequestOrderBy | (string & {}); /** Order direction. */ orderByDirection?: | NamespacesInstancesListRequestOrderByDirection | (string & {}); /** Page number (1-indexed). */ page?: number; /** Number of results per page. */ perPage?: number; /** Filter instances whose id contains this string (case-insensitive). */ search?: string; } export const ListNamespaceInstancesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), namespace: S.optional(S.String.pipe(T.Query())), orderBy: S.optional( NamespacesInstancesListRequestOrderBy.pipe(T.Query("order_by")), ), orderByDirection: S.optional( NamespacesInstancesListRequestOrderByDirection.pipe( T.Query("order_by_direction"), ), ), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), search: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListNamespaceInstancesRequest", }) as any as S.Schema; export type NamespacesInstancesListResultItemAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesListResultItemAiSearchModel = /*@__PURE__*/ S.String; export type NamespacesInstancesListResultItemCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesListResultItemCacheThreshold = /*@__PURE__*/ S.String; export type NamespacesInstancesListResultItemCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const NamespacesInstancesListResultItemCacheTtl = /*@__PURE__*/ S.Number; export type NamespacesInstancesListResultItemCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const NamespacesInstancesListResultItemCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface NamespacesInstancesListResultItemCustomMetadataItem { dataType: NamespacesInstancesListResultItemCustomMetadataItemDataType; fieldName: string; } export const NamespacesInstancesListResultItemCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: NamespacesInstancesListResultItemCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "NamespacesInstancesListResultItemCustomMetadataItem", }) as any as S.Schema; export type NamespacesInstancesListResultItemCustomMetadataList = Array; export const NamespacesInstancesListResultItemCustomMetadataList = /*@__PURE__*/ S.Array( NamespacesInstancesListResultItemCustomMetadataItem, ) as any as S.Schema; export type NamespacesInstancesListResultItemEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const NamespacesInstancesListResultItemEmbeddingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesListResultItemFusionMethod = "max" | "rrf"; export const NamespacesInstancesListResultItemFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesListResultItemIndexMethod = InstancesCreateRequestIndexMethod; export const NamespacesInstancesListResultItemIndexMethod = InstancesCreateRequestIndexMethod; export type NamespacesInstancesListResultItemIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const NamespacesInstancesListResultItemIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface NamespacesInstancesListResultItemIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: NamespacesInstancesListResultItemIndexingOptionsKeywordTokenizer | null; } export const NamespacesInstancesListResultItemIndexingOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ keywordTokenizer: S.optional( S.NullOr( NamespacesInstancesListResultItemIndexingOptionsKeywordTokenizer, ).pipe(T.Body("keyword_tokenizer")), ), }), ).annotate({ identifier: "NamespacesInstancesListResultItemIndexingOptions", }) as any as S.Schema; export type NamespacesInstancesListResultItemMetadata = InstancesCreateResponseMetadata; export const NamespacesInstancesListResultItemMetadata = InstancesCreateResponseMetadata; export type NamespacesInstancesListResultItemPublicEndpointParamsAuthorizedHostsList = Array; export const NamespacesInstancesListResultItemPublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesListResultItemPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const NamespacesInstancesListResultItemPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type NamespacesInstancesListResultItemPublicEndpointParamsCustomDomainsList = Array; export const NamespacesInstancesListResultItemPublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesListResultItemPublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const NamespacesInstancesListResultItemPublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type NamespacesInstancesListResultItemPublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const NamespacesInstancesListResultItemPublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface NamespacesInstancesListResultItemPublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: NamespacesInstancesListResultItemPublicEndpointParamsRateLimitTechnique | null; } export const NamespacesInstancesListResultItemPublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr( NamespacesInstancesListResultItemPublicEndpointParamsRateLimitTechnique, ), ), }), ).annotate({ identifier: "NamespacesInstancesListResultItemPublicEndpointParamsRateLimit", }) as any as S.Schema; export type NamespacesInstancesListResultItemPublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const NamespacesInstancesListResultItemPublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface NamespacesInstancesListResultItemPublicEndpointParams { authorizedHosts?: NamespacesInstancesListResultItemPublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: NamespacesInstancesListResultItemPublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: NamespacesInstancesListResultItemPublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const NamespacesInstancesListResultItemPublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( NamespacesInstancesListResultItemPublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( NamespacesInstancesListResultItemPublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr( NamespacesInstancesListResultItemPublicEndpointParamsRateLimit, ).pipe(T.Body("rate_limit")), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "NamespacesInstancesListResultItemPublicEndpointParams", }) as any as S.Schema; export type NamespacesInstancesListResultItemRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesListResultItemRerankingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesListResultItemRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesListResultItemRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesListResultItemRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: NamespacesInstancesListResultItemRetrievalOptionsBoostByItemDirection | null; } export const NamespacesInstancesListResultItemRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr( NamespacesInstancesListResultItemRetrievalOptionsBoostByItemDirection, ), ), }), ).annotate({ identifier: "NamespacesInstancesListResultItemRetrievalOptionsBoostByItem", }) as any as S.Schema; export type NamespacesInstancesListResultItemRetrievalOptionsBoostByList = Array; export const NamespacesInstancesListResultItemRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesListResultItemRetrievalOptionsBoostByItem, ) as any as S.Schema; export type NamespacesInstancesListResultItemRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesListResultItemRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface NamespacesInstancesListResultItemRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesListResultItemRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: NamespacesInstancesListResultItemRetrievalOptionsKeywordMatchMode | null; } export const NamespacesInstancesListResultItemRetrievalOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( S.NullOr( NamespacesInstancesListResultItemRetrievalOptionsBoostByList, ).pipe(T.Body("boost_by")), ), keywordMatchMode: S.optional( S.NullOr( NamespacesInstancesListResultItemRetrievalOptionsKeywordMatchMode, ).pipe(T.Body("keyword_match_mode")), ), }), ).annotate({ identifier: "NamespacesInstancesListResultItemRetrievalOptions", }) as any as S.Schema; export type NamespacesInstancesListResultItemRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesListResultItemRewriteModel = /*@__PURE__*/ S.String; export type NamespacesInstancesListResultItemSourceParamsExcludeItemsList = Array; export const NamespacesInstancesListResultItemSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesListResultItemSourceParamsIncludeItemsList = Array; export const NamespacesInstancesListResultItemSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type NamespacesInstancesListResultItemSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const NamespacesInstancesListResultItemSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface NamespacesInstancesListResultItemSourceParamsWebCrawler { parseOptions?: NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptions | null; parseType?: NamespacesInstancesListResultItemSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const NamespacesInstancesListResultItemSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( NamespacesInstancesListResultItemSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr( NamespacesInstancesListResultItemSourceParamsWebCrawlerParseType, ).pipe(T.Body("parse_type")), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "NamespacesInstancesListResultItemSourceParamsWebCrawler", }) as any as S.Schema; export interface NamespacesInstancesListResultItemSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: NamespacesInstancesListResultItemSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: NamespacesInstancesListResultItemSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: NamespacesInstancesListResultItemSourceParamsWebCrawler | null; } export const NamespacesInstancesListResultItemSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr( NamespacesInstancesListResultItemSourceParamsExcludeItemsList, ).pipe(T.Body("exclude_items")), ), includeItems: S.optional( S.NullOr( NamespacesInstancesListResultItemSourceParamsIncludeItemsList, ).pipe(T.Body("include_items")), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(NamespacesInstancesListResultItemSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "NamespacesInstancesListResultItemSourceParams", }) as any as S.Schema; export type NamespacesInstancesListResultItemSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const NamespacesInstancesListResultItemSyncInterval = /*@__PURE__*/ S.Number; export type NamespacesInstancesListResultItemType = "r2" | "web-crawler"; export const NamespacesInstancesListResultItemType = /*@__PURE__*/ S.String; export interface NamespacesInstancesListResultItem { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: NamespacesInstancesListResultItemAiSearchModel | null; cache?: boolean | null; cacheThreshold?: NamespacesInstancesListResultItemCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: NamespacesInstancesListResultItemCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: NamespacesInstancesListResultItemCustomMetadataList | null; embeddingModel?: NamespacesInstancesListResultItemEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: NamespacesInstancesListResultItemFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: NamespacesInstancesListResultItemIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: NamespacesInstancesListResultItemPublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: NamespacesInstancesListResultItemRerankingModel | null; retrievalOptions?: NamespacesInstancesListResultItemRetrievalOptions | null; rewriteModel?: NamespacesInstancesListResultItemRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: NamespacesInstancesListResultItemSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: NamespacesInstancesListResultItemSyncInterval | null; tokenId?: string | null; type?: NamespacesInstancesListResultItemType | null; } export const NamespacesInstancesListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(NamespacesInstancesListResultItemAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(NamespacesInstancesListResultItemCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(NamespacesInstancesListResultItemCacheTtl).pipe( T.Body("cache_ttl"), ), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(NamespacesInstancesListResultItemCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(NamespacesInstancesListResultItemEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(NamespacesInstancesListResultItemFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(NamespacesInstancesListResultItemIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(NamespacesInstancesListResultItemPublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(NamespacesInstancesListResultItemRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(NamespacesInstancesListResultItemRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(NamespacesInstancesListResultItemRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(NamespacesInstancesListResultItemSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(NamespacesInstancesListResultItemSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(NamespacesInstancesListResultItemType)), }), ).annotate({ identifier: "NamespacesInstancesListResultItem", }) as any as S.Schema; export type NamespacesInstancesListResultList = Array; export const NamespacesInstancesListResultList = /*@__PURE__*/ S.Array( NamespacesInstancesListResultItem, ) as any as S.Schema; export interface ListNamespaceInstancesResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: NamespacesInstancesListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListNamespaceInstancesResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: NamespacesInstancesListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListNamespaceInstancesResponse", }) as any as S.Schema; export interface ListNamespacesRequest { accountId: string; /** Page number (1-indexed). */ page?: number; /** Number of results per page. */ perPage?: number; /** Filter namespaces whose name or description contains this string (case-insensitive). */ search?: string; } export const ListNamespacesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), search: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListNamespacesRequest", }) as any as S.Schema; export interface NamespacesListResultItem { createdAt: string; name: string; /** Optional description for the namespace. Max 256 characters. */ description?: string | null; } export const NamespacesListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.String.pipe(T.Body("created_at")), name: S.String, description: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "NamespacesListResultItem", }) as any as S.Schema; export type NamespacesListResultList = Array; export const NamespacesListResultList = /*@__PURE__*/ S.Array( NamespacesListResultItem, ) as any as S.Schema; export interface ListNamespacesResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: NamespacesListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListNamespacesResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: NamespacesListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListNamespacesResponse", }) as any as S.Schema; export interface ListTokensRequest { accountId: string; /** Page number (1-indexed). */ page?: number; /** Number of results per page. */ perPage?: number; /** Filter tokens whose name contains this string (case-insensitive). */ search?: string; } export const ListTokensRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), search: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/tokens", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListTokensRequest", }) as any as S.Schema; export interface TokensListResultItem { id: string; cfApiId: string; createdAt: string; modifiedAt: string; name: string; createdBy?: string | null; enabled?: boolean | null; legacy?: boolean | null; modifiedBy?: string | null; } export const TokensListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, cfApiId: S.String.pipe(T.Body("cf_api_id")), createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), name: S.String, createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), enabled: S.optional(S.NullOr(S.Boolean)), legacy: S.optional(S.NullOr(S.Boolean)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), }), ).annotate({ identifier: "TokensListResultItem", }) as any as S.Schema; export type TokensListResultList = Array; export const TokensListResultList = /*@__PURE__*/ S.Array( TokensListResultItem, ) as any as S.Schema; export interface ListTokensResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: TokensListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListTokensResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: TokensListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListTokensResponse", }) as any as S.Schema; export interface LogsInstanceJobRequest { accountId: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; jobId: string; page?: number; perPage?: number; } export const LogsInstanceJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), jobId: S.String.pipe(T.Label("job_id")), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/instances/{id}/jobs/{job_id}/logs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LogsInstanceJobRequest", }) as any as S.Schema; export interface InstancesJobsLogsResultItem { id: number; createdAt: number; message: string; messageType: number; } export const InstancesJobsLogsResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.Number, createdAt: S.Number.pipe(T.Body("created_at")), message: S.String, messageType: S.Number.pipe(T.Body("message_type")), }), ).annotate({ identifier: "InstancesJobsLogsResultItem", }) as any as S.Schema; export type InstancesJobsLogsResultList = Array; export const InstancesJobsLogsResultList = /*@__PURE__*/ S.Array( InstancesJobsLogsResultItem, ) as any as S.Schema; export type LogsInstanceJobResponse = InstancesJobsLogsResultList; export const LogsInstanceJobResponse = /*@__PURE__*/ S.suspend(() => InstancesJobsLogsResultList.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "LogsInstanceJobResponse", }) as any as S.Schema; export interface LogsNamespaceInstanceItemRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; itemId: string; cursor?: string; limit?: number; } export const LogsNamespaceInstanceItemRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), itemId: S.String.pipe(T.Label("item_id")), cursor: S.optional(S.String.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}/logs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LogsNamespaceInstanceItemRequest", }) as any as S.Schema; export interface NamespacesInstancesItemsLogsResultItem { action: string; chunkCount: number; errorType: string; fileKey: string; message: string; processingTimeMs: number; timestamp: string; } export const NamespacesInstancesItemsLogsResultItem = /*@__PURE__*/ S.suspend( () => S.Struct({ action: S.String, chunkCount: S.Number, errorType: S.String, fileKey: S.String, message: S.String, processingTimeMs: S.Number, timestamp: S.String, }), ).annotate({ identifier: "NamespacesInstancesItemsLogsResultItem", }) as any as S.Schema; export type NamespacesInstancesItemsLogsResultList = Array; export const NamespacesInstancesItemsLogsResultList = /*@__PURE__*/ S.Array( NamespacesInstancesItemsLogsResultItem, ) as any as S.Schema; export type LogsNamespaceInstanceItemResponse = NamespacesInstancesItemsLogsResultList; export const LogsNamespaceInstanceItemResponse = /*@__PURE__*/ S.suspend(() => NamespacesInstancesItemsLogsResultList.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "LogsNamespaceInstanceItemResponse", }) as any as S.Schema; export interface LogsNamespaceInstanceJobRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; jobId: string; page?: number; perPage?: number; } export const LogsNamespaceInstanceJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), jobId: S.String.pipe(T.Label("job_id")), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs/{job_id}/logs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LogsNamespaceInstanceJobRequest", }) as any as S.Schema; export type NamespacesInstancesJobsLogsResultItem = InstancesJobsLogsResultItem; export const NamespacesInstancesJobsLogsResultItem = InstancesJobsLogsResultItem; export type NamespacesInstancesJobsLogsResultList = Array; export const NamespacesInstancesJobsLogsResultList = /*@__PURE__*/ S.Array( InstancesJobsLogsResultItem, ) as any as S.Schema; export type LogsNamespaceInstanceJobResponse = NamespacesInstancesJobsLogsResultList; export const LogsNamespaceInstanceJobResponse = /*@__PURE__*/ S.suspend(() => NamespacesInstancesJobsLogsResultList.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "LogsNamespaceInstanceJobResponse", }) as any as S.Schema; export type NamespacesInstancesJobsUpdateRequestAction = "cancel"; export const NamespacesInstancesJobsUpdateRequestAction = /*@__PURE__*/ S.String; export interface PatchNamespaceInstanceJobRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; jobId: string; action: NamespacesInstancesJobsUpdateRequestAction | (string & {}); } export const PatchNamespaceInstanceJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), jobId: S.String.pipe(T.Label("job_id")), action: NamespacesInstancesJobsUpdateRequestAction, }) .pipe( T.Http({ method: "PATCH", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs/{job_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchNamespaceInstanceJobRequest", }) as any as S.Schema; export type NamespacesInstancesJobsUpdateResponseSource = "user" | "schedule"; export const NamespacesInstancesJobsUpdateResponseSource = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PatchNamespaceInstanceJobResponse { id: string; source: NamespacesInstancesJobsUpdateResponseSource; description?: string | null; endReason?: string | null; endedAt?: string | null; lastSeenAt?: string | null; startedAt?: string | null; } export const PatchNamespaceInstanceJobResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, source: NamespacesInstancesJobsUpdateResponseSource, description: S.optional(S.NullOr(S.String)), endReason: S.optional(S.NullOr(S.String).pipe(T.Body("end_reason"))), endedAt: S.optional(S.NullOr(S.String).pipe(T.Body("ended_at"))), lastSeenAt: S.optional(S.NullOr(S.String).pipe(T.Body("last_seen_at"))), startedAt: S.optional(S.NullOr(S.String).pipe(T.Body("started_at"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchNamespaceInstanceJobResponse", }) as any as S.Schema; export interface ReadInstanceRequest { accountId: string; id: string; } export const ReadInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/instances/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ReadInstanceRequest", }) as any as S.Schema; export type InstancesReadResponseAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesReadResponseAiSearchModel = /*@__PURE__*/ S.String; export type InstancesReadResponseCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesReadResponseCacheThreshold = /*@__PURE__*/ S.String; export type InstancesReadResponseCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const InstancesReadResponseCacheTtl = /*@__PURE__*/ S.Number; export type InstancesReadResponseCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const InstancesReadResponseCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface InstancesReadResponseCustomMetadataItem { dataType: InstancesReadResponseCustomMetadataItemDataType; fieldName: string; } export const InstancesReadResponseCustomMetadataItem = /*@__PURE__*/ S.suspend( () => S.Struct({ dataType: InstancesReadResponseCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "InstancesReadResponseCustomMetadataItem", }) as any as S.Schema; export type InstancesReadResponseCustomMetadataList = Array; export const InstancesReadResponseCustomMetadataList = /*@__PURE__*/ S.Array( InstancesReadResponseCustomMetadataItem, ) as any as S.Schema; export type InstancesReadResponseEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const InstancesReadResponseEmbeddingModel = /*@__PURE__*/ S.String; export type InstancesReadResponseFusionMethod = "max" | "rrf"; export const InstancesReadResponseFusionMethod = /*@__PURE__*/ S.String; export type InstancesReadResponseIndexMethod = InstancesCreateRequestIndexMethod; export const InstancesReadResponseIndexMethod = InstancesCreateRequestIndexMethod; export type InstancesReadResponseIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const InstancesReadResponseIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface InstancesReadResponseIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: InstancesReadResponseIndexingOptionsKeywordTokenizer | null; } export const InstancesReadResponseIndexingOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ keywordTokenizer: S.optional( S.NullOr(InstancesReadResponseIndexingOptionsKeywordTokenizer).pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "InstancesReadResponseIndexingOptions", }) as any as S.Schema; export type InstancesReadResponseMetadata = InstancesCreateResponseMetadata; export const InstancesReadResponseMetadata = InstancesCreateResponseMetadata; export type InstancesReadResponsePublicEndpointParamsAuthorizedHostsList = Array; export const InstancesReadResponsePublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesReadResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const InstancesReadResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type InstancesReadResponsePublicEndpointParamsCustomDomainsList = Array; export const InstancesReadResponsePublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesReadResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const InstancesReadResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type InstancesReadResponsePublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const InstancesReadResponsePublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface InstancesReadResponsePublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: InstancesReadResponsePublicEndpointParamsRateLimitTechnique | null; } export const InstancesReadResponsePublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr(InstancesReadResponsePublicEndpointParamsRateLimitTechnique), ), }), ).annotate({ identifier: "InstancesReadResponsePublicEndpointParamsRateLimit", }) as any as S.Schema; export type InstancesReadResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const InstancesReadResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface InstancesReadResponsePublicEndpointParams { authorizedHosts?: InstancesReadResponsePublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: InstancesReadResponsePublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: InstancesReadResponsePublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const InstancesReadResponsePublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( InstancesReadResponsePublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( InstancesReadResponsePublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr(InstancesReadResponsePublicEndpointParamsRateLimit).pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "InstancesReadResponsePublicEndpointParams", }) as any as S.Schema; export type InstancesReadResponseRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesReadResponseRerankingModel = /*@__PURE__*/ S.String; export type InstancesReadResponseRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesReadResponseRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesReadResponseRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: InstancesReadResponseRetrievalOptionsBoostByItemDirection | null; } export const InstancesReadResponseRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr(InstancesReadResponseRetrievalOptionsBoostByItemDirection), ), }), ).annotate({ identifier: "InstancesReadResponseRetrievalOptionsBoostByItem", }) as any as S.Schema; export type InstancesReadResponseRetrievalOptionsBoostByList = Array; export const InstancesReadResponseRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( InstancesReadResponseRetrievalOptionsBoostByItem, ) as any as S.Schema; export type InstancesReadResponseRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const InstancesReadResponseRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface InstancesReadResponseRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesReadResponseRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: InstancesReadResponseRetrievalOptionsKeywordMatchMode | null; } export const InstancesReadResponseRetrievalOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ boostBy: S.optional( S.NullOr(InstancesReadResponseRetrievalOptionsBoostByList).pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( S.NullOr(InstancesReadResponseRetrievalOptionsKeywordMatchMode).pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "InstancesReadResponseRetrievalOptions", }) as any as S.Schema; export type InstancesReadResponseRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesReadResponseRewriteModel = /*@__PURE__*/ S.String; export type InstancesReadResponseSourceParamsExcludeItemsList = Array; export const InstancesReadResponseSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesReadResponseSourceParamsIncludeItemsList = Array; export const InstancesReadResponseSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const InstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type InstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const InstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type InstancesReadResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const InstancesReadResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type InstancesReadResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const InstancesReadResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesReadResponseSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: InstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: InstancesReadResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: InstancesReadResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const InstancesReadResponseSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( InstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( InstancesReadResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( InstancesReadResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "InstancesReadResponseSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type InstancesReadResponseSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const InstancesReadResponseSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface InstancesReadResponseSourceParamsWebCrawler { parseOptions?: InstancesReadResponseSourceParamsWebCrawlerParseOptions | null; parseType?: InstancesReadResponseSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const InstancesReadResponseSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr(InstancesReadResponseSourceParamsWebCrawlerParseOptions).pipe( T.Body("parse_options"), ), ), parseType: S.optional( S.NullOr(InstancesReadResponseSourceParamsWebCrawlerParseType).pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "InstancesReadResponseSourceParamsWebCrawler", }) as any as S.Schema; export interface InstancesReadResponseSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: InstancesReadResponseSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: InstancesReadResponseSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: InstancesReadResponseSourceParamsWebCrawler | null; } export const InstancesReadResponseSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr(InstancesReadResponseSourceParamsExcludeItemsList).pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( S.NullOr(InstancesReadResponseSourceParamsIncludeItemsList).pipe( T.Body("include_items"), ), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(InstancesReadResponseSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "InstancesReadResponseSourceParams", }) as any as S.Schema; export type InstancesReadResponseSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const InstancesReadResponseSyncInterval = /*@__PURE__*/ S.Number; export type InstancesReadResponseType = "r2" | "web-crawler"; export const InstancesReadResponseType = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ReadInstanceResponse { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: InstancesReadResponseAiSearchModel | null; cache?: boolean | null; cacheThreshold?: InstancesReadResponseCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: InstancesReadResponseCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: InstancesReadResponseCustomMetadataList | null; embeddingModel?: InstancesReadResponseEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: InstancesReadResponseFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: InstancesReadResponseIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: InstancesReadResponsePublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: InstancesReadResponseRerankingModel | null; retrievalOptions?: InstancesReadResponseRetrievalOptions | null; rewriteModel?: InstancesReadResponseRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: InstancesReadResponseSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: InstancesReadResponseSyncInterval | null; tokenId?: string | null; type?: InstancesReadResponseType | null; } export const ReadInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(InstancesReadResponseAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(InstancesReadResponseCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(InstancesReadResponseCacheTtl).pipe(T.Body("cache_ttl")), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(InstancesReadResponseCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(InstancesReadResponseEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(InstancesReadResponseFusionMethod).pipe(T.Body("fusion_method")), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(InstancesReadResponseIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(InstancesReadResponsePublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(InstancesReadResponseRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(InstancesReadResponseRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(InstancesReadResponseRewriteModel).pipe(T.Body("rewrite_model")), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(InstancesReadResponseSourceParams).pipe(T.Body("source_params")), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(InstancesReadResponseSyncInterval).pipe(T.Body("sync_interval")), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(InstancesReadResponseType)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ReadInstanceResponse", }) as any as S.Schema; export interface ReadNamespaceRequest { accountId: string; name: string; } export const ReadNamespaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ReadNamespaceRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ReadNamespaceResponse { createdAt: string; name: string; /** Optional description for the namespace. Max 256 characters. */ description?: string | null; } export const ReadNamespaceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.String.pipe(T.Body("created_at")), name: S.String, description: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ReadNamespaceResponse", }) as any as S.Schema; export interface ReadNamespaceInstanceRequest { accountId: string; name: string; id: string; } export const ReadNamespaceInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ReadNamespaceInstanceRequest", }) as any as S.Schema; export type NamespacesInstancesReadResponseAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesReadResponseAiSearchModel = /*@__PURE__*/ S.String; export type NamespacesInstancesReadResponseCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesReadResponseCacheThreshold = /*@__PURE__*/ S.String; export type NamespacesInstancesReadResponseCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const NamespacesInstancesReadResponseCacheTtl = /*@__PURE__*/ S.Number; export type NamespacesInstancesReadResponseCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const NamespacesInstancesReadResponseCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface NamespacesInstancesReadResponseCustomMetadataItem { dataType: NamespacesInstancesReadResponseCustomMetadataItemDataType; fieldName: string; } export const NamespacesInstancesReadResponseCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: NamespacesInstancesReadResponseCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "NamespacesInstancesReadResponseCustomMetadataItem", }) as any as S.Schema; export type NamespacesInstancesReadResponseCustomMetadataList = Array; export const NamespacesInstancesReadResponseCustomMetadataList = /*@__PURE__*/ S.Array( NamespacesInstancesReadResponseCustomMetadataItem, ) as any as S.Schema; export type NamespacesInstancesReadResponseEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const NamespacesInstancesReadResponseEmbeddingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesReadResponseFusionMethod = "max" | "rrf"; export const NamespacesInstancesReadResponseFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesReadResponseIndexMethod = InstancesCreateRequestIndexMethod; export const NamespacesInstancesReadResponseIndexMethod = InstancesCreateRequestIndexMethod; export type NamespacesInstancesReadResponseIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const NamespacesInstancesReadResponseIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface NamespacesInstancesReadResponseIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: NamespacesInstancesReadResponseIndexingOptionsKeywordTokenizer | null; } export const NamespacesInstancesReadResponseIndexingOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ keywordTokenizer: S.optional( S.NullOr( NamespacesInstancesReadResponseIndexingOptionsKeywordTokenizer, ).pipe(T.Body("keyword_tokenizer")), ), }), ).annotate({ identifier: "NamespacesInstancesReadResponseIndexingOptions", }) as any as S.Schema; export type NamespacesInstancesReadResponseMetadata = InstancesCreateResponseMetadata; export const NamespacesInstancesReadResponseMetadata = InstancesCreateResponseMetadata; export type NamespacesInstancesReadResponsePublicEndpointParamsAuthorizedHostsList = Array; export const NamespacesInstancesReadResponsePublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesReadResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const NamespacesInstancesReadResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type NamespacesInstancesReadResponsePublicEndpointParamsCustomDomainsList = Array; export const NamespacesInstancesReadResponsePublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesReadResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const NamespacesInstancesReadResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type NamespacesInstancesReadResponsePublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const NamespacesInstancesReadResponsePublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface NamespacesInstancesReadResponsePublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: NamespacesInstancesReadResponsePublicEndpointParamsRateLimitTechnique | null; } export const NamespacesInstancesReadResponsePublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr( NamespacesInstancesReadResponsePublicEndpointParamsRateLimitTechnique, ), ), }), ).annotate({ identifier: "NamespacesInstancesReadResponsePublicEndpointParamsRateLimit", }) as any as S.Schema; export type NamespacesInstancesReadResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const NamespacesInstancesReadResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface NamespacesInstancesReadResponsePublicEndpointParams { authorizedHosts?: NamespacesInstancesReadResponsePublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: NamespacesInstancesReadResponsePublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: NamespacesInstancesReadResponsePublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const NamespacesInstancesReadResponsePublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( NamespacesInstancesReadResponsePublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( NamespacesInstancesReadResponsePublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr( NamespacesInstancesReadResponsePublicEndpointParamsRateLimit, ).pipe(T.Body("rate_limit")), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "NamespacesInstancesReadResponsePublicEndpointParams", }) as any as S.Schema; export type NamespacesInstancesReadResponseRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesReadResponseRerankingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesReadResponseRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesReadResponseRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesReadResponseRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: NamespacesInstancesReadResponseRetrievalOptionsBoostByItemDirection | null; } export const NamespacesInstancesReadResponseRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr( NamespacesInstancesReadResponseRetrievalOptionsBoostByItemDirection, ), ), }), ).annotate({ identifier: "NamespacesInstancesReadResponseRetrievalOptionsBoostByItem", }) as any as S.Schema; export type NamespacesInstancesReadResponseRetrievalOptionsBoostByList = Array; export const NamespacesInstancesReadResponseRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesReadResponseRetrievalOptionsBoostByItem, ) as any as S.Schema; export type NamespacesInstancesReadResponseRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesReadResponseRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface NamespacesInstancesReadResponseRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesReadResponseRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: NamespacesInstancesReadResponseRetrievalOptionsKeywordMatchMode | null; } export const NamespacesInstancesReadResponseRetrievalOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( S.NullOr( NamespacesInstancesReadResponseRetrievalOptionsBoostByList, ).pipe(T.Body("boost_by")), ), keywordMatchMode: S.optional( S.NullOr( NamespacesInstancesReadResponseRetrievalOptionsKeywordMatchMode, ).pipe(T.Body("keyword_match_mode")), ), }), ).annotate({ identifier: "NamespacesInstancesReadResponseRetrievalOptions", }) as any as S.Schema; export type NamespacesInstancesReadResponseRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesReadResponseRewriteModel = /*@__PURE__*/ S.String; export type NamespacesInstancesReadResponseSourceParamsExcludeItemsList = Array; export const NamespacesInstancesReadResponseSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesReadResponseSourceParamsIncludeItemsList = Array; export const NamespacesInstancesReadResponseSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type NamespacesInstancesReadResponseSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const NamespacesInstancesReadResponseSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface NamespacesInstancesReadResponseSourceParamsWebCrawler { parseOptions?: NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptions | null; parseType?: NamespacesInstancesReadResponseSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const NamespacesInstancesReadResponseSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( NamespacesInstancesReadResponseSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr( NamespacesInstancesReadResponseSourceParamsWebCrawlerParseType, ).pipe(T.Body("parse_type")), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "NamespacesInstancesReadResponseSourceParamsWebCrawler", }) as any as S.Schema; export interface NamespacesInstancesReadResponseSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: NamespacesInstancesReadResponseSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: NamespacesInstancesReadResponseSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: NamespacesInstancesReadResponseSourceParamsWebCrawler | null; } export const NamespacesInstancesReadResponseSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr( NamespacesInstancesReadResponseSourceParamsExcludeItemsList, ).pipe(T.Body("exclude_items")), ), includeItems: S.optional( S.NullOr( NamespacesInstancesReadResponseSourceParamsIncludeItemsList, ).pipe(T.Body("include_items")), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(NamespacesInstancesReadResponseSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "NamespacesInstancesReadResponseSourceParams", }) as any as S.Schema; export type NamespacesInstancesReadResponseSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const NamespacesInstancesReadResponseSyncInterval = /*@__PURE__*/ S.Number; export type NamespacesInstancesReadResponseType = "r2" | "web-crawler"; export const NamespacesInstancesReadResponseType = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ReadNamespaceInstanceResponse { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: NamespacesInstancesReadResponseAiSearchModel | null; cache?: boolean | null; cacheThreshold?: NamespacesInstancesReadResponseCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: NamespacesInstancesReadResponseCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: NamespacesInstancesReadResponseCustomMetadataList | null; embeddingModel?: NamespacesInstancesReadResponseEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: NamespacesInstancesReadResponseFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: NamespacesInstancesReadResponseIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: NamespacesInstancesReadResponsePublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: NamespacesInstancesReadResponseRerankingModel | null; retrievalOptions?: NamespacesInstancesReadResponseRetrievalOptions | null; rewriteModel?: NamespacesInstancesReadResponseRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: NamespacesInstancesReadResponseSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: NamespacesInstancesReadResponseSyncInterval | null; tokenId?: string | null; type?: NamespacesInstancesReadResponseType | null; } export const ReadNamespaceInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(NamespacesInstancesReadResponseAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(NamespacesInstancesReadResponseCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(NamespacesInstancesReadResponseCacheTtl).pipe( T.Body("cache_ttl"), ), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(NamespacesInstancesReadResponseCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(NamespacesInstancesReadResponseEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(NamespacesInstancesReadResponseFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(NamespacesInstancesReadResponseIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(NamespacesInstancesReadResponsePublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(NamespacesInstancesReadResponseRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(NamespacesInstancesReadResponseRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(NamespacesInstancesReadResponseRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(NamespacesInstancesReadResponseSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(NamespacesInstancesReadResponseSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(NamespacesInstancesReadResponseType)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ReadNamespaceInstanceResponse", }) as any as S.Schema; export interface ReadTokenRequest { accountId: string; id: string; } export const ReadTokenRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/tokens/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ReadTokenRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ReadTokenResponse { id: string; cfApiId: string; createdAt: string; modifiedAt: string; name: string; createdBy?: string | null; enabled?: boolean | null; legacy?: boolean | null; modifiedBy?: string | null; } export const ReadTokenResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, cfApiId: S.String.pipe(T.Body("cf_api_id")), createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), name: S.String, createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), enabled: S.optional(S.NullOr(S.Boolean)), legacy: S.optional(S.NullOr(S.Boolean)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ReadTokenResponse", }) as any as S.Schema; export type InstancesSearchRequestAiSearchOptionsCacheCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesSearchRequestAiSearchOptionsCacheCacheThreshold = /*@__PURE__*/ S.String; export interface InstancesSearchRequestAiSearchOptionsCache { cacheThreshold?: | InstancesSearchRequestAiSearchOptionsCacheCacheThreshold | (string & {}); enabled?: boolean; } export const InstancesSearchRequestAiSearchOptionsCache = /*@__PURE__*/ S.suspend(() => S.Struct({ cacheThreshold: S.optional( InstancesSearchRequestAiSearchOptionsCacheCacheThreshold.pipe( T.Body("cache_threshold"), ), ), enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "InstancesSearchRequestAiSearchOptionsCache", }) as any as S.Schema; export type InstancesSearchRequestAiSearchOptionsQueryRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesSearchRequestAiSearchOptionsQueryRewriteModel = /*@__PURE__*/ S.String; export interface InstancesSearchRequestAiSearchOptionsQueryRewrite { enabled?: boolean; model?: | InstancesSearchRequestAiSearchOptionsQueryRewriteModel | (string & {}); rewritePrompt?: string; } export const InstancesSearchRequestAiSearchOptionsQueryRewrite = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), model: S.optional(InstancesSearchRequestAiSearchOptionsQueryRewriteModel), rewritePrompt: S.optional(S.String.pipe(T.Body("rewrite_prompt"))), }), ).annotate({ identifier: "InstancesSearchRequestAiSearchOptionsQueryRewrite", }) as any as S.Schema; export type InstancesSearchRequestAiSearchOptionsRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesSearchRequestAiSearchOptionsRerankingModel = /*@__PURE__*/ S.String; export interface InstancesSearchRequestAiSearchOptionsReranking { enabled?: boolean; matchThreshold?: number; model?: InstancesSearchRequestAiSearchOptionsRerankingModel | (string & {}); } export const InstancesSearchRequestAiSearchOptionsReranking = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), model: S.optional(InstancesSearchRequestAiSearchOptionsRerankingModel), }), ).annotate({ identifier: "InstancesSearchRequestAiSearchOptionsReranking", }) as any as S.Schema; export type InstancesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesSearchRequestAiSearchOptionsRetrievalBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | InstancesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection | (string & {}); } export const InstancesSearchRequestAiSearchOptionsRetrievalBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( InstancesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection, ), }), ).annotate({ identifier: "InstancesSearchRequestAiSearchOptionsRetrievalBoostByItem", }) as any as S.Schema; export type InstancesSearchRequestAiSearchOptionsRetrievalBoostByList = Array; export const InstancesSearchRequestAiSearchOptionsRetrievalBoostByList = /*@__PURE__*/ S.Array( InstancesSearchRequestAiSearchOptionsRetrievalBoostByItem, ) as any as S.Schema; export type InstancesSearchRequestAiSearchOptionsRetrievalFiltersMap = { [key: string]: unknown | undefined; }; export const InstancesSearchRequestAiSearchOptionsRetrievalFiltersMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type InstancesSearchRequestAiSearchOptionsRetrievalFusionMethod = | "max" | "rrf"; export const InstancesSearchRequestAiSearchOptionsRetrievalFusionMethod = /*@__PURE__*/ S.String; export type InstancesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode = | "and" | "or"; export const InstancesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode = /*@__PURE__*/ S.String; export type InstancesSearchRequestAiSearchOptionsRetrievalRetrievalType = | "vector" | "keyword" | "hybrid"; export const InstancesSearchRequestAiSearchOptionsRetrievalRetrievalType = /*@__PURE__*/ S.String; export interface InstancesSearchRequestAiSearchOptionsRetrieval { /** Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesSearchRequestAiSearchOptionsRetrievalBoostByList; contextExpansion?: number; filters?: InstancesSearchRequestAiSearchOptionsRetrievalFiltersMap; fusionMethod?: | InstancesSearchRequestAiSearchOptionsRetrievalFusionMethod | (string & {}); /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. When omitted, falls back to the instance-level retrieval_options.keyword_match_mode, then to 'and'. */ keywordMatchMode?: | InstancesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode | (string & {}); matchThreshold?: number; maxNumResults?: number; retrievalType?: | InstancesSearchRequestAiSearchOptionsRetrievalRetrievalType | (string & {}); returnOnFailure?: boolean; } export const InstancesSearchRequestAiSearchOptionsRetrieval = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( InstancesSearchRequestAiSearchOptionsRetrievalBoostByList.pipe( T.Body("boost_by"), ), ), contextExpansion: S.optional(S.Number.pipe(T.Body("context_expansion"))), filters: S.optional( InstancesSearchRequestAiSearchOptionsRetrievalFiltersMap, ), fusionMethod: S.optional( InstancesSearchRequestAiSearchOptionsRetrievalFusionMethod.pipe( T.Body("fusion_method"), ), ), keywordMatchMode: S.optional( InstancesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), retrievalType: S.optional( InstancesSearchRequestAiSearchOptionsRetrievalRetrievalType.pipe( T.Body("retrieval_type"), ), ), returnOnFailure: S.optional(S.Boolean.pipe(T.Body("return_on_failure"))), }), ).annotate({ identifier: "InstancesSearchRequestAiSearchOptionsRetrieval", }) as any as S.Schema; export interface InstancesSearchRequestAiSearchOptions { cache?: InstancesSearchRequestAiSearchOptionsCache; queryRewrite?: InstancesSearchRequestAiSearchOptionsQueryRewrite; reranking?: InstancesSearchRequestAiSearchOptionsReranking; retrieval?: InstancesSearchRequestAiSearchOptionsRetrieval; } export const InstancesSearchRequestAiSearchOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ cache: S.optional(InstancesSearchRequestAiSearchOptionsCache), queryRewrite: S.optional( InstancesSearchRequestAiSearchOptionsQueryRewrite.pipe( T.Body("query_rewrite"), ), ), reranking: S.optional(InstancesSearchRequestAiSearchOptionsReranking), retrieval: S.optional(InstancesSearchRequestAiSearchOptionsRetrieval), }), ).annotate({ identifier: "InstancesSearchRequestAiSearchOptions", }) as any as S.Schema; export type InstancesSearchRequestMessagesItemContentCase1ItemCase0Type = "text"; export const InstancesSearchRequestMessagesItemContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface InstancesSearchRequestMessagesItemContentCase1ItemCase0 { text: string; type: InstancesSearchRequestMessagesItemContentCase1ItemCase0Type; } export const InstancesSearchRequestMessagesItemContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: InstancesSearchRequestMessagesItemContentCase1ItemCase0Type, }), ).annotate({ identifier: "InstancesSearchRequestMessagesItemContentCase1ItemCase0", }) as any as S.Schema; export type InstancesSearchRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export const InstancesSearchRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export type InstancesSearchRequestMessagesItemContentCase1ItemCase1Type = "image_url"; export const InstancesSearchRequestMessagesItemContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface InstancesSearchRequestMessagesItemContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: InstancesSearchRequestMessagesItemContentCase1ItemCase1Type; } export const InstancesSearchRequestMessagesItemContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: InstancesSearchRequestMessagesItemContentCase1ItemCase1Type, }), ).annotate({ identifier: "InstancesSearchRequestMessagesItemContentCase1ItemCase1", }) as any as S.Schema; export type InstancesSearchRequestMessagesItemContentCase1Item = | InstancesSearchRequestMessagesItemContentCase1ItemCase0 | InstancesSearchRequestMessagesItemContentCase1ItemCase1; export const InstancesSearchRequestMessagesItemContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type InstancesSearchRequestMessagesItemContentCase1List = Array; export const InstancesSearchRequestMessagesItemContentCase1List = /*@__PURE__*/ S.Array( InstancesSearchRequestMessagesItemContentCase1Item, ) as any as S.Schema; export type InstancesSearchRequestMessagesItemContent = | string | InstancesSearchRequestMessagesItemContentCase1List; export const InstancesSearchRequestMessagesItemContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type InstancesSearchRequestMessagesItemRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const InstancesSearchRequestMessagesItemRole = /*@__PURE__*/ S.String; export interface InstancesSearchRequestMessagesItem { content: InstancesSearchRequestMessagesItemContent; role: InstancesSearchRequestMessagesItemRole | (string & {}); } export const InstancesSearchRequestMessagesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ content: InstancesSearchRequestMessagesItemContent, role: InstancesSearchRequestMessagesItemRole, }), ).annotate({ identifier: "InstancesSearchRequestMessagesItem", }) as any as S.Schema; export type InstancesSearchRequestMessagesList = Array; export const InstancesSearchRequestMessagesList = /*@__PURE__*/ S.Array( InstancesSearchRequestMessagesItem, ) as any as S.Schema; export interface SearchInstanceRequest { accountId: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; aiSearchOptions?: InstancesSearchRequestAiSearchOptions; /** OpenAI-compatible message array. For multimodal queries, set the last user message's `content` to an array of typed parts: `[{type:'text', text:'…'}, {type:'image_url', image_url:{url:'…'}}]`. Image inputs require the RAG's embedding_model to declare 'image' in supported_modalities. */ messages?: InstancesSearchRequestMessagesList; /** A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both. */ query?: string; } export const SearchInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), aiSearchOptions: S.optional( InstancesSearchRequestAiSearchOptions.pipe(T.Body("ai_search_options")), ), messages: S.optional(InstancesSearchRequestMessagesList), query: S.optional(S.String), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/instances/{id}/search", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SearchInstanceRequest", }) as any as S.Schema; export type InstancesSearchResponseChunksItemItemMetadataMap = { [key: string]: unknown | undefined; }; export const InstancesSearchResponseChunksItemItemMetadataMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export interface InstancesSearchResponseChunksItemItem { key: string; metadata?: InstancesSearchResponseChunksItemItemMetadataMap | null; timestamp?: number | null; } export const InstancesSearchResponseChunksItemItem = /*@__PURE__*/ S.suspend( () => S.Struct({ key: S.String, metadata: S.optional( S.NullOr(InstancesSearchResponseChunksItemItemMetadataMap), ), timestamp: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "InstancesSearchResponseChunksItemItem", }) as any as S.Schema; export type InstancesSearchResponseChunksItemScoringDetailsFusionMethod = | "rrf" | "max"; export const InstancesSearchResponseChunksItemScoringDetailsFusionMethod = /*@__PURE__*/ S.String; export interface InstancesSearchResponseChunksItemScoringDetails { fusionMethod?: InstancesSearchResponseChunksItemScoringDetailsFusionMethod | null; keywordRank?: number | null; keywordScore?: number | null; rerankingScore?: number | null; vectorRank?: number | null; vectorScore?: number | null; } export const InstancesSearchResponseChunksItemScoringDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ fusionMethod: S.optional( S.NullOr( InstancesSearchResponseChunksItemScoringDetailsFusionMethod, ).pipe(T.Body("fusion_method")), ), keywordRank: S.optional(S.NullOr(S.Number).pipe(T.Body("keyword_rank"))), keywordScore: S.optional( S.NullOr(S.Number).pipe(T.Body("keyword_score")), ), rerankingScore: S.optional( S.NullOr(S.Number).pipe(T.Body("reranking_score")), ), vectorRank: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_rank"))), vectorScore: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_score"))), }), ).annotate({ identifier: "InstancesSearchResponseChunksItemScoringDetails", }) as any as S.Schema; export interface InstancesSearchResponseChunksItem { id: string; score: number; text: string; type: string; item?: InstancesSearchResponseChunksItemItem | null; scoringDetails?: InstancesSearchResponseChunksItemScoringDetails | null; } export const InstancesSearchResponseChunksItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, score: S.Number, text: S.String, type: S.String, item: S.optional(S.NullOr(InstancesSearchResponseChunksItemItem)), scoringDetails: S.optional( S.NullOr(InstancesSearchResponseChunksItemScoringDetails).pipe( T.Body("scoring_details"), ), ), }), ).annotate({ identifier: "InstancesSearchResponseChunksItem", }) as any as S.Schema; export type InstancesSearchResponseChunksList = Array; export const InstancesSearchResponseChunksList = /*@__PURE__*/ S.Array( InstancesSearchResponseChunksItem, ) as any as S.Schema; export type InstancesSearchResponseQueryKind = "text" | "image" | "multimodal"; export const InstancesSearchResponseQueryKind = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SearchInstanceResponse { chunks: InstancesSearchResponseChunksList; queryKind: InstancesSearchResponseQueryKind; searchQuery?: string | null; } export const SearchInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ chunks: InstancesSearchResponseChunksList, queryKind: InstancesSearchResponseQueryKind.pipe(T.Body("query_kind")), searchQuery: S.optional(S.NullOr(S.String).pipe(T.Body("search_query"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SearchInstanceResponse", }) as any as S.Schema; export type NamespacesSearchRequestAiSearchOptionsInstanceIdsList = Array; export const NamespacesSearchRequestAiSearchOptionsInstanceIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesSearchRequestAiSearchOptionsCacheCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesSearchRequestAiSearchOptionsCacheCacheThreshold = /*@__PURE__*/ S.String; export interface NamespacesSearchRequestAiSearchOptionsCache { cacheThreshold?: | NamespacesSearchRequestAiSearchOptionsCacheCacheThreshold | (string & {}); enabled?: boolean; } export const NamespacesSearchRequestAiSearchOptionsCache = /*@__PURE__*/ S.suspend(() => S.Struct({ cacheThreshold: S.optional( NamespacesSearchRequestAiSearchOptionsCacheCacheThreshold.pipe( T.Body("cache_threshold"), ), ), enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "NamespacesSearchRequestAiSearchOptionsCache", }) as any as S.Schema; export type NamespacesSearchRequestAiSearchOptionsQueryRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesSearchRequestAiSearchOptionsQueryRewriteModel = /*@__PURE__*/ S.String; export interface NamespacesSearchRequestAiSearchOptionsQueryRewrite { enabled?: boolean; model?: | NamespacesSearchRequestAiSearchOptionsQueryRewriteModel | (string & {}); rewritePrompt?: string; } export const NamespacesSearchRequestAiSearchOptionsQueryRewrite = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), model: S.optional( NamespacesSearchRequestAiSearchOptionsQueryRewriteModel, ), rewritePrompt: S.optional(S.String.pipe(T.Body("rewrite_prompt"))), }), ).annotate({ identifier: "NamespacesSearchRequestAiSearchOptionsQueryRewrite", }) as any as S.Schema; export type NamespacesSearchRequestAiSearchOptionsRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesSearchRequestAiSearchOptionsRerankingModel = /*@__PURE__*/ S.String; export interface NamespacesSearchRequestAiSearchOptionsReranking { enabled?: boolean; matchThreshold?: number; model?: NamespacesSearchRequestAiSearchOptionsRerankingModel | (string & {}); } export const NamespacesSearchRequestAiSearchOptionsReranking = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), model: S.optional(NamespacesSearchRequestAiSearchOptionsRerankingModel), }), ).annotate({ identifier: "NamespacesSearchRequestAiSearchOptionsReranking", }) as any as S.Schema; export type NamespacesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesSearchRequestAiSearchOptionsRetrievalBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | NamespacesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection | (string & {}); } export const NamespacesSearchRequestAiSearchOptionsRetrievalBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( NamespacesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection, ), }), ).annotate({ identifier: "NamespacesSearchRequestAiSearchOptionsRetrievalBoostByItem", }) as any as S.Schema; export type NamespacesSearchRequestAiSearchOptionsRetrievalBoostByList = Array; export const NamespacesSearchRequestAiSearchOptionsRetrievalBoostByList = /*@__PURE__*/ S.Array( NamespacesSearchRequestAiSearchOptionsRetrievalBoostByItem, ) as any as S.Schema; export type NamespacesSearchRequestAiSearchOptionsRetrievalFiltersMap = { [key: string]: unknown | undefined; }; export const NamespacesSearchRequestAiSearchOptionsRetrievalFiltersMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type NamespacesSearchRequestAiSearchOptionsRetrievalFusionMethod = | "max" | "rrf"; export const NamespacesSearchRequestAiSearchOptionsRetrievalFusionMethod = /*@__PURE__*/ S.String; export type NamespacesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode = | "and" | "or"; export const NamespacesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode = /*@__PURE__*/ S.String; export type NamespacesSearchRequestAiSearchOptionsRetrievalRetrievalType = | "vector" | "keyword" | "hybrid"; export const NamespacesSearchRequestAiSearchOptionsRetrievalRetrievalType = /*@__PURE__*/ S.String; export interface NamespacesSearchRequestAiSearchOptionsRetrieval { /** Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesSearchRequestAiSearchOptionsRetrievalBoostByList; contextExpansion?: number; filters?: NamespacesSearchRequestAiSearchOptionsRetrievalFiltersMap; fusionMethod?: | NamespacesSearchRequestAiSearchOptionsRetrievalFusionMethod | (string & {}); /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. When omitted, falls back to the instance-level retrieval_options.keyword_match_mode, then to 'and'. */ keywordMatchMode?: | NamespacesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode | (string & {}); matchThreshold?: number; maxNumResults?: number; retrievalType?: | NamespacesSearchRequestAiSearchOptionsRetrievalRetrievalType | (string & {}); returnOnFailure?: boolean; } export const NamespacesSearchRequestAiSearchOptionsRetrieval = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( NamespacesSearchRequestAiSearchOptionsRetrievalBoostByList.pipe( T.Body("boost_by"), ), ), contextExpansion: S.optional(S.Number.pipe(T.Body("context_expansion"))), filters: S.optional( NamespacesSearchRequestAiSearchOptionsRetrievalFiltersMap, ), fusionMethod: S.optional( NamespacesSearchRequestAiSearchOptionsRetrievalFusionMethod.pipe( T.Body("fusion_method"), ), ), keywordMatchMode: S.optional( NamespacesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), retrievalType: S.optional( NamespacesSearchRequestAiSearchOptionsRetrievalRetrievalType.pipe( T.Body("retrieval_type"), ), ), returnOnFailure: S.optional(S.Boolean.pipe(T.Body("return_on_failure"))), }), ).annotate({ identifier: "NamespacesSearchRequestAiSearchOptionsRetrieval", }) as any as S.Schema; export interface NamespacesSearchRequestAiSearchOptions { instanceIds: NamespacesSearchRequestAiSearchOptionsInstanceIdsList; cache?: NamespacesSearchRequestAiSearchOptionsCache; queryRewrite?: NamespacesSearchRequestAiSearchOptionsQueryRewrite; reranking?: NamespacesSearchRequestAiSearchOptionsReranking; retrieval?: NamespacesSearchRequestAiSearchOptionsRetrieval; } export const NamespacesSearchRequestAiSearchOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ instanceIds: NamespacesSearchRequestAiSearchOptionsInstanceIdsList.pipe( T.Body("instance_ids"), ), cache: S.optional(NamespacesSearchRequestAiSearchOptionsCache), queryRewrite: S.optional( NamespacesSearchRequestAiSearchOptionsQueryRewrite.pipe( T.Body("query_rewrite"), ), ), reranking: S.optional(NamespacesSearchRequestAiSearchOptionsReranking), retrieval: S.optional(NamespacesSearchRequestAiSearchOptionsRetrieval), }), ).annotate({ identifier: "NamespacesSearchRequestAiSearchOptions", }) as any as S.Schema; export type NamespacesSearchRequestMessagesItemContentCase1ItemCase0Type = "text"; export const NamespacesSearchRequestMessagesItemContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface NamespacesSearchRequestMessagesItemContentCase1ItemCase0 { text: string; type: NamespacesSearchRequestMessagesItemContentCase1ItemCase0Type; } export const NamespacesSearchRequestMessagesItemContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: NamespacesSearchRequestMessagesItemContentCase1ItemCase0Type, }), ).annotate({ identifier: "NamespacesSearchRequestMessagesItemContentCase1ItemCase0", }) as any as S.Schema; export type NamespacesSearchRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export const NamespacesSearchRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export type NamespacesSearchRequestMessagesItemContentCase1ItemCase1Type = "image_url"; export const NamespacesSearchRequestMessagesItemContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface NamespacesSearchRequestMessagesItemContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: NamespacesSearchRequestMessagesItemContentCase1ItemCase1Type; } export const NamespacesSearchRequestMessagesItemContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: NamespacesSearchRequestMessagesItemContentCase1ItemCase1Type, }), ).annotate({ identifier: "NamespacesSearchRequestMessagesItemContentCase1ItemCase1", }) as any as S.Schema; export type NamespacesSearchRequestMessagesItemContentCase1Item = | NamespacesSearchRequestMessagesItemContentCase1ItemCase0 | NamespacesSearchRequestMessagesItemContentCase1ItemCase1; export const NamespacesSearchRequestMessagesItemContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type NamespacesSearchRequestMessagesItemContentCase1List = Array; export const NamespacesSearchRequestMessagesItemContentCase1List = /*@__PURE__*/ S.Array( NamespacesSearchRequestMessagesItemContentCase1Item, ) as any as S.Schema; export type NamespacesSearchRequestMessagesItemContent = | string | NamespacesSearchRequestMessagesItemContentCase1List; export const NamespacesSearchRequestMessagesItemContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type NamespacesSearchRequestMessagesItemRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const NamespacesSearchRequestMessagesItemRole = /*@__PURE__*/ S.String; export interface NamespacesSearchRequestMessagesItem { content: NamespacesSearchRequestMessagesItemContent; role: NamespacesSearchRequestMessagesItemRole | (string & {}); } export const NamespacesSearchRequestMessagesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ content: NamespacesSearchRequestMessagesItemContent, role: NamespacesSearchRequestMessagesItemRole, }), ).annotate({ identifier: "NamespacesSearchRequestMessagesItem", }) as any as S.Schema; export type NamespacesSearchRequestMessagesList = Array; export const NamespacesSearchRequestMessagesList = /*@__PURE__*/ S.Array( NamespacesSearchRequestMessagesItem, ) as any as S.Schema; export interface SearchNamespaceRequest { accountId: string; name: string; aiSearchOptions: NamespacesSearchRequestAiSearchOptions; /** OpenAI-compatible message array. For multimodal queries, set the last user message's `content` to an array of typed parts: `[{type:'text', text:'…'}, {type:'image_url', image_url:{url:'…'}}]`. Image inputs require the RAG's embedding_model to declare 'image' in supported_modalities. */ messages?: NamespacesSearchRequestMessagesList; /** A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both. */ query?: string; } export const SearchNamespaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), aiSearchOptions: NamespacesSearchRequestAiSearchOptions.pipe( T.Body("ai_search_options"), ), messages: S.optional(NamespacesSearchRequestMessagesList), query: S.optional(S.String), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/search", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SearchNamespaceRequest", }) as any as S.Schema; export type NamespacesSearchResponseChunksItemItemMetadataMap = { [key: string]: unknown | undefined; }; export const NamespacesSearchResponseChunksItemItemMetadataMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export interface NamespacesSearchResponseChunksItemItem { key: string; metadata?: NamespacesSearchResponseChunksItemItemMetadataMap | null; timestamp?: number | null; } export const NamespacesSearchResponseChunksItemItem = /*@__PURE__*/ S.suspend( () => S.Struct({ key: S.String, metadata: S.optional( S.NullOr(NamespacesSearchResponseChunksItemItemMetadataMap), ), timestamp: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "NamespacesSearchResponseChunksItemItem", }) as any as S.Schema; export type NamespacesSearchResponseChunksItemScoringDetailsFusionMethod = | "rrf" | "max"; export const NamespacesSearchResponseChunksItemScoringDetailsFusionMethod = /*@__PURE__*/ S.String; export interface NamespacesSearchResponseChunksItemScoringDetails { fusionMethod?: NamespacesSearchResponseChunksItemScoringDetailsFusionMethod | null; keywordRank?: number | null; keywordScore?: number | null; rerankingScore?: number | null; vectorRank?: number | null; vectorScore?: number | null; } export const NamespacesSearchResponseChunksItemScoringDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ fusionMethod: S.optional( S.NullOr( NamespacesSearchResponseChunksItemScoringDetailsFusionMethod, ).pipe(T.Body("fusion_method")), ), keywordRank: S.optional(S.NullOr(S.Number).pipe(T.Body("keyword_rank"))), keywordScore: S.optional( S.NullOr(S.Number).pipe(T.Body("keyword_score")), ), rerankingScore: S.optional( S.NullOr(S.Number).pipe(T.Body("reranking_score")), ), vectorRank: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_rank"))), vectorScore: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_score"))), }), ).annotate({ identifier: "NamespacesSearchResponseChunksItemScoringDetails", }) as any as S.Schema; export interface NamespacesSearchResponseChunksItem { id: string; instanceId: string; score: number; text: string; type: string; item?: NamespacesSearchResponseChunksItemItem | null; scoringDetails?: NamespacesSearchResponseChunksItemScoringDetails | null; } export const NamespacesSearchResponseChunksItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, instanceId: S.String.pipe(T.Body("instance_id")), score: S.Number, text: S.String, type: S.String, item: S.optional(S.NullOr(NamespacesSearchResponseChunksItemItem)), scoringDetails: S.optional( S.NullOr(NamespacesSearchResponseChunksItemScoringDetails).pipe( T.Body("scoring_details"), ), ), }), ).annotate({ identifier: "NamespacesSearchResponseChunksItem", }) as any as S.Schema; export type NamespacesSearchResponseChunksList = Array; export const NamespacesSearchResponseChunksList = /*@__PURE__*/ S.Array( NamespacesSearchResponseChunksItem, ) as any as S.Schema; export type NamespacesSearchResponseQueryKind = "text" | "image" | "multimodal"; export const NamespacesSearchResponseQueryKind = /*@__PURE__*/ S.String; export interface NamespacesSearchResponseErrorsItem { instanceId: string; message: string; } export const NamespacesSearchResponseErrorsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ instanceId: S.String.pipe(T.Body("instance_id")), message: S.String, }), ).annotate({ identifier: "NamespacesSearchResponseErrorsItem", }) as any as S.Schema; export type NamespacesSearchResponseErrorsList = Array; export const NamespacesSearchResponseErrorsList = /*@__PURE__*/ S.Array( NamespacesSearchResponseErrorsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SearchNamespaceResponse { chunks: NamespacesSearchResponseChunksList; queryKind: NamespacesSearchResponseQueryKind; errors?: NamespacesSearchResponseErrorsList | null; searchQuery?: string | null; } export const SearchNamespaceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ chunks: NamespacesSearchResponseChunksList, queryKind: NamespacesSearchResponseQueryKind.pipe(T.Body("query_kind")), errors: S.optional(S.NullOr(NamespacesSearchResponseErrorsList)), searchQuery: S.optional(S.NullOr(S.String).pipe(T.Body("search_query"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SearchNamespaceResponse", }) as any as S.Schema; export type NamespacesInstancesSearchRequestAiSearchOptionsCacheCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesSearchRequestAiSearchOptionsCacheCacheThreshold = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchRequestAiSearchOptionsCache { cacheThreshold?: | NamespacesInstancesSearchRequestAiSearchOptionsCacheCacheThreshold | (string & {}); enabled?: boolean; } export const NamespacesInstancesSearchRequestAiSearchOptionsCache = /*@__PURE__*/ S.suspend(() => S.Struct({ cacheThreshold: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsCacheCacheThreshold.pipe( T.Body("cache_threshold"), ), ), enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "NamespacesInstancesSearchRequestAiSearchOptionsCache", }) as any as S.Schema; export type NamespacesInstancesSearchRequestAiSearchOptionsQueryRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesSearchRequestAiSearchOptionsQueryRewriteModel = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchRequestAiSearchOptionsQueryRewrite { enabled?: boolean; model?: | NamespacesInstancesSearchRequestAiSearchOptionsQueryRewriteModel | (string & {}); rewritePrompt?: string; } export const NamespacesInstancesSearchRequestAiSearchOptionsQueryRewrite = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), model: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsQueryRewriteModel, ), rewritePrompt: S.optional(S.String.pipe(T.Body("rewrite_prompt"))), }), ).annotate({ identifier: "NamespacesInstancesSearchRequestAiSearchOptionsQueryRewrite", }) as any as S.Schema; export type NamespacesInstancesSearchRequestAiSearchOptionsRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesSearchRequestAiSearchOptionsRerankingModel = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchRequestAiSearchOptionsReranking { enabled?: boolean; matchThreshold?: number; model?: | NamespacesInstancesSearchRequestAiSearchOptionsRerankingModel | (string & {}); } export const NamespacesInstancesSearchRequestAiSearchOptionsReranking = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), model: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsRerankingModel, ), }), ).annotate({ identifier: "NamespacesInstancesSearchRequestAiSearchOptionsReranking", }) as any as S.Schema; export type NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection | (string & {}); } export const NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByItemDirection, ), }), ).annotate({ identifier: "NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByItem", }) as any as S.Schema; export type NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByList = Array; export const NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByItem, ) as any as S.Schema; export type NamespacesInstancesSearchRequestAiSearchOptionsRetrievalFiltersMap = { [key: string]: unknown | undefined }; export const NamespacesInstancesSearchRequestAiSearchOptionsRetrievalFiltersMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type NamespacesInstancesSearchRequestAiSearchOptionsRetrievalFusionMethod = | "max" | "rrf"; export const NamespacesInstancesSearchRequestAiSearchOptionsRetrievalFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode = /*@__PURE__*/ S.String; export type NamespacesInstancesSearchRequestAiSearchOptionsRetrievalRetrievalType = | "vector" | "keyword" | "hybrid"; export const NamespacesInstancesSearchRequestAiSearchOptionsRetrievalRetrievalType = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchRequestAiSearchOptionsRetrieval { /** Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByList; contextExpansion?: number; filters?: NamespacesInstancesSearchRequestAiSearchOptionsRetrievalFiltersMap; fusionMethod?: | NamespacesInstancesSearchRequestAiSearchOptionsRetrievalFusionMethod | (string & {}); /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. When omitted, falls back to the instance-level retrieval_options.keyword_match_mode, then to 'and'. */ keywordMatchMode?: | NamespacesInstancesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode | (string & {}); matchThreshold?: number; maxNumResults?: number; retrievalType?: | NamespacesInstancesSearchRequestAiSearchOptionsRetrievalRetrievalType | (string & {}); returnOnFailure?: boolean; } export const NamespacesInstancesSearchRequestAiSearchOptionsRetrieval = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsRetrievalBoostByList.pipe( T.Body("boost_by"), ), ), contextExpansion: S.optional(S.Number.pipe(T.Body("context_expansion"))), filters: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsRetrievalFiltersMap, ), fusionMethod: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsRetrievalFusionMethod.pipe( T.Body("fusion_method"), ), ), keywordMatchMode: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsRetrievalKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), matchThreshold: S.optional(S.Number.pipe(T.Body("match_threshold"))), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), retrievalType: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsRetrievalRetrievalType.pipe( T.Body("retrieval_type"), ), ), returnOnFailure: S.optional(S.Boolean.pipe(T.Body("return_on_failure"))), }), ).annotate({ identifier: "NamespacesInstancesSearchRequestAiSearchOptionsRetrieval", }) as any as S.Schema; export interface NamespacesInstancesSearchRequestAiSearchOptions { cache?: NamespacesInstancesSearchRequestAiSearchOptionsCache; queryRewrite?: NamespacesInstancesSearchRequestAiSearchOptionsQueryRewrite; reranking?: NamespacesInstancesSearchRequestAiSearchOptionsReranking; retrieval?: NamespacesInstancesSearchRequestAiSearchOptionsRetrieval; } export const NamespacesInstancesSearchRequestAiSearchOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ cache: S.optional(NamespacesInstancesSearchRequestAiSearchOptionsCache), queryRewrite: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsQueryRewrite.pipe( T.Body("query_rewrite"), ), ), reranking: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsReranking, ), retrieval: S.optional( NamespacesInstancesSearchRequestAiSearchOptionsRetrieval, ), }), ).annotate({ identifier: "NamespacesInstancesSearchRequestAiSearchOptions", }) as any as S.Schema; export type NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase0Type = "text"; export const NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase0Type = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase0 { text: string; type: NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase0Type; } export const NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase0 = /*@__PURE__*/ S.suspend(() => S.Struct({ text: S.String, type: NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase0Type, }), ).annotate({ identifier: "NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase0", }) as any as S.Schema; export type NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export const NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1ImageUrl = InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; export type NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1Type = "image_url"; export const NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1Type = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1 { imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl; type: NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1Type; } export const NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1 = /*@__PURE__*/ S.suspend(() => S.Struct({ imageUrl: InstancesChatCompletionsRequestMessagesItemContentCase1ItemCase1ImageUrl.pipe( T.Body("image_url"), ), type: NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1Type, }), ).annotate({ identifier: "NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1", }) as any as S.Schema; export type NamespacesInstancesSearchRequestMessagesItemContentCase1Item = | NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase0 | NamespacesInstancesSearchRequestMessagesItemContentCase1ItemCase1; export const NamespacesInstancesSearchRequestMessagesItemContentCase1Item = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["text", "type"], ["imageUrl", "type"], ]), ); export type NamespacesInstancesSearchRequestMessagesItemContentCase1List = Array; export const NamespacesInstancesSearchRequestMessagesItemContentCase1List = /*@__PURE__*/ S.Array( NamespacesInstancesSearchRequestMessagesItemContentCase1Item, ) as any as S.Schema; export type NamespacesInstancesSearchRequestMessagesItemContent = | string | NamespacesInstancesSearchRequestMessagesItemContentCase1List; export const NamespacesInstancesSearchRequestMessagesItemContent = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export type NamespacesInstancesSearchRequestMessagesItemRole = | "system" | "developer" | "user" | "assistant" | "tool"; export const NamespacesInstancesSearchRequestMessagesItemRole = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchRequestMessagesItem { content: NamespacesInstancesSearchRequestMessagesItemContent; role: NamespacesInstancesSearchRequestMessagesItemRole | (string & {}); } export const NamespacesInstancesSearchRequestMessagesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ content: NamespacesInstancesSearchRequestMessagesItemContent, role: NamespacesInstancesSearchRequestMessagesItemRole, }), ).annotate({ identifier: "NamespacesInstancesSearchRequestMessagesItem", }) as any as S.Schema; export type NamespacesInstancesSearchRequestMessagesList = Array; export const NamespacesInstancesSearchRequestMessagesList = /*@__PURE__*/ S.Array( NamespacesInstancesSearchRequestMessagesItem, ) as any as S.Schema; export interface SearchNamespaceInstanceRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; aiSearchOptions?: NamespacesInstancesSearchRequestAiSearchOptions; /** OpenAI-compatible message array. For multimodal queries, set the last user message's `content` to an array of typed parts: `[{type:'text', text:'…'}, {type:'image_url', image_url:{url:'…'}}]`. Image inputs require the RAG's embedding_model to declare 'image' in supported_modalities. */ messages?: NamespacesInstancesSearchRequestMessagesList; /** A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both. */ query?: string; } export const SearchNamespaceInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), aiSearchOptions: S.optional( NamespacesInstancesSearchRequestAiSearchOptions.pipe( T.Body("ai_search_options"), ), ), messages: S.optional(NamespacesInstancesSearchRequestMessagesList), query: S.optional(S.String), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/search", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SearchNamespaceInstanceRequest", }) as any as S.Schema; export type NamespacesInstancesSearchResponseChunksItemItemMetadataMap = { [key: string]: unknown | undefined; }; export const NamespacesInstancesSearchResponseChunksItemItemMetadataMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export interface NamespacesInstancesSearchResponseChunksItemItem { key: string; metadata?: NamespacesInstancesSearchResponseChunksItemItemMetadataMap | null; timestamp?: number | null; } export const NamespacesInstancesSearchResponseChunksItemItem = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.String, metadata: S.optional( S.NullOr(NamespacesInstancesSearchResponseChunksItemItemMetadataMap), ), timestamp: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "NamespacesInstancesSearchResponseChunksItemItem", }) as any as S.Schema; export type NamespacesInstancesSearchResponseChunksItemScoringDetailsFusionMethod = | "rrf" | "max"; export const NamespacesInstancesSearchResponseChunksItemScoringDetailsFusionMethod = /*@__PURE__*/ S.String; export interface NamespacesInstancesSearchResponseChunksItemScoringDetails { fusionMethod?: NamespacesInstancesSearchResponseChunksItemScoringDetailsFusionMethod | null; keywordRank?: number | null; keywordScore?: number | null; rerankingScore?: number | null; vectorRank?: number | null; vectorScore?: number | null; } export const NamespacesInstancesSearchResponseChunksItemScoringDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ fusionMethod: S.optional( S.NullOr( NamespacesInstancesSearchResponseChunksItemScoringDetailsFusionMethod, ).pipe(T.Body("fusion_method")), ), keywordRank: S.optional(S.NullOr(S.Number).pipe(T.Body("keyword_rank"))), keywordScore: S.optional( S.NullOr(S.Number).pipe(T.Body("keyword_score")), ), rerankingScore: S.optional( S.NullOr(S.Number).pipe(T.Body("reranking_score")), ), vectorRank: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_rank"))), vectorScore: S.optional(S.NullOr(S.Number).pipe(T.Body("vector_score"))), }), ).annotate({ identifier: "NamespacesInstancesSearchResponseChunksItemScoringDetails", }) as any as S.Schema; export interface NamespacesInstancesSearchResponseChunksItem { id: string; score: number; text: string; type: string; item?: NamespacesInstancesSearchResponseChunksItemItem | null; scoringDetails?: NamespacesInstancesSearchResponseChunksItemScoringDetails | null; } export const NamespacesInstancesSearchResponseChunksItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, score: S.Number, text: S.String, type: S.String, item: S.optional( S.NullOr(NamespacesInstancesSearchResponseChunksItemItem), ), scoringDetails: S.optional( S.NullOr( NamespacesInstancesSearchResponseChunksItemScoringDetails, ).pipe(T.Body("scoring_details")), ), }), ).annotate({ identifier: "NamespacesInstancesSearchResponseChunksItem", }) as any as S.Schema; export type NamespacesInstancesSearchResponseChunksList = Array; export const NamespacesInstancesSearchResponseChunksList = /*@__PURE__*/ S.Array( NamespacesInstancesSearchResponseChunksItem, ) as any as S.Schema; export type NamespacesInstancesSearchResponseQueryKind = | "text" | "image" | "multimodal"; export const NamespacesInstancesSearchResponseQueryKind = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SearchNamespaceInstanceResponse { chunks: NamespacesInstancesSearchResponseChunksList; queryKind: NamespacesInstancesSearchResponseQueryKind; searchQuery?: string | null; } export const SearchNamespaceInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ chunks: NamespacesInstancesSearchResponseChunksList, queryKind: NamespacesInstancesSearchResponseQueryKind.pipe( T.Body("query_kind"), ), searchQuery: S.optional(S.NullOr(S.String).pipe(T.Body("search_query"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SearchNamespaceInstanceResponse", }) as any as S.Schema; export interface StatsInstanceRequest { accountId: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; } export const StatsInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/instances/{id}/stats", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "StatsInstanceRequest", }) as any as S.Schema; export interface InstancesStatsResponseEngineR2 { metadataSizeBytes: number; objectCount: number; payloadSizeBytes: number; } export const InstancesStatsResponseEngineR2 = /*@__PURE__*/ S.suspend(() => S.Struct({ metadataSizeBytes: S.Number, objectCount: S.Number, payloadSizeBytes: S.Number, }), ).annotate({ identifier: "InstancesStatsResponseEngineR2", }) as any as S.Schema; export interface InstancesStatsResponseEngineVectorize { dimensions: number; vectorsCount: number; } export const InstancesStatsResponseEngineVectorize = /*@__PURE__*/ S.suspend( () => S.Struct({ dimensions: S.Number, vectorsCount: S.Number, }), ).annotate({ identifier: "InstancesStatsResponseEngineVectorize", }) as any as S.Schema; export interface InstancesStatsResponseEngine { /** R2 bucket storage usage in bytes. */ r2?: InstancesStatsResponseEngineR2 | null; /** Vectorize index metadata (dimensions, vector count). */ vectorize?: InstancesStatsResponseEngineVectorize | null; } export const InstancesStatsResponseEngine = /*@__PURE__*/ S.suspend(() => S.Struct({ r2: S.optional(S.NullOr(InstancesStatsResponseEngineR2)), vectorize: S.optional(S.NullOr(InstancesStatsResponseEngineVectorize)), }), ).annotate({ identifier: "InstancesStatsResponseEngine", }) as any as S.Schema; export type InstancesStatsResponseFileEmbedErrorsMap = { [key: string]: unknown | undefined; }; export const InstancesStatsResponseFileEmbedErrorsMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type InstancesStatsResponseIndexSourceErrorsMap = { [key: string]: unknown | undefined; }; export const InstancesStatsResponseIndexSourceErrorsMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface StatsInstanceResponse { completed?: number | null; /** True when status counts are unavailable (e.g. legacy stats query exceeded D1 statement-size limit). Counts are omitted in this case. */ degraded?: boolean | null; /** Engine-specific metadata. Present only for managed (v3) instances. */ engine?: InstancesStatsResponseEngine | null; error?: number | null; fileEmbedErrors?: InstancesStatsResponseFileEmbedErrorsMap | null; indexSourceErrors?: InstancesStatsResponseIndexSourceErrorsMap | null; lastActivity?: string | null; outdated?: number | null; queued?: number | null; running?: number | null; skipped?: number | null; } export const StatsInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ completed: S.optional(S.NullOr(S.Number)), degraded: S.optional(S.NullOr(S.Boolean)), engine: S.optional(S.NullOr(InstancesStatsResponseEngine)), error: S.optional(S.NullOr(S.Number)), fileEmbedErrors: S.optional( S.NullOr(InstancesStatsResponseFileEmbedErrorsMap).pipe( T.Body("file_embed_errors"), ), ), indexSourceErrors: S.optional( S.NullOr(InstancesStatsResponseIndexSourceErrorsMap).pipe( T.Body("index_source_errors"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), outdated: S.optional(S.NullOr(S.Number)), queued: S.optional(S.NullOr(S.Number)), running: S.optional(S.NullOr(S.Number)), skipped: S.optional(S.NullOr(S.Number)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "StatsInstanceResponse", }) as any as S.Schema; export interface StatsNamespaceInstanceRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; } export const StatsNamespaceInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/stats", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "StatsNamespaceInstanceRequest", }) as any as S.Schema; export type NamespacesInstancesStatsResponseEngineR2 = InstancesStatsResponseEngineR2; export const NamespacesInstancesStatsResponseEngineR2 = InstancesStatsResponseEngineR2; export type NamespacesInstancesStatsResponseEngineVectorize = InstancesStatsResponseEngineVectorize; export const NamespacesInstancesStatsResponseEngineVectorize = InstancesStatsResponseEngineVectorize; export type NamespacesInstancesStatsResponseEngine = InstancesStatsResponseEngine; export const NamespacesInstancesStatsResponseEngine = InstancesStatsResponseEngine; export type NamespacesInstancesStatsResponseFileEmbedErrorsMap = { [key: string]: unknown | undefined; }; export const NamespacesInstancesStatsResponseFileEmbedErrorsMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type NamespacesInstancesStatsResponseIndexSourceErrorsMap = { [key: string]: unknown | undefined; }; export const NamespacesInstancesStatsResponseIndexSourceErrorsMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface StatsNamespaceInstanceResponse { completed?: number | null; /** True when status counts are unavailable (e.g. legacy stats query exceeded D1 statement-size limit). Counts are omitted in this case. */ degraded?: boolean | null; /** Engine-specific metadata. Present only for managed (v3) instances. */ engine?: InstancesStatsResponseEngine | null; error?: number | null; fileEmbedErrors?: NamespacesInstancesStatsResponseFileEmbedErrorsMap | null; indexSourceErrors?: NamespacesInstancesStatsResponseIndexSourceErrorsMap | null; lastActivity?: string | null; outdated?: number | null; queued?: number | null; running?: number | null; skipped?: number | null; } export const StatsNamespaceInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ completed: S.optional(S.NullOr(S.Number)), degraded: S.optional(S.NullOr(S.Boolean)), engine: S.optional(S.NullOr(InstancesStatsResponseEngine)), error: S.optional(S.NullOr(S.Number)), fileEmbedErrors: S.optional( S.NullOr(NamespacesInstancesStatsResponseFileEmbedErrorsMap).pipe( T.Body("file_embed_errors"), ), ), indexSourceErrors: S.optional( S.NullOr(NamespacesInstancesStatsResponseIndexSourceErrorsMap).pipe( T.Body("index_source_errors"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), outdated: S.optional(S.NullOr(S.Number)), queued: S.optional(S.NullOr(S.Number)), running: S.optional(S.NullOr(S.Number)), skipped: S.optional(S.NullOr(S.Number)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "StatsNamespaceInstanceResponse", }) as any as S.Schema; export type NamespacesInstancesItemsSyncRequestNextAction = "INDEX"; export const NamespacesInstancesItemsSyncRequestNextAction = /*@__PURE__*/ S.String; export interface SyncNamespaceInstanceItemRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; itemId: string; nextAction: NamespacesInstancesItemsSyncRequestNextAction | (string & {}); /** Wait for indexing to fully complete before responding. On RAGs with vector indexing enabled, this additionally waits for Vectorize ingestion confirmation (up to 40s) so the returned item reflects a queryable state. On timeout the item is returned in `running` state and the background alarm continues polling. Defaults to false. */ waitForCompletion?: boolean; } export const SyncNamespaceInstanceItemRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), itemId: S.String.pipe(T.Label("item_id")), nextAction: NamespacesInstancesItemsSyncRequestNextAction.pipe( T.Body("next_action"), ), waitForCompletion: S.optional( S.Boolean.pipe(T.Body("wait_for_completion")), ), }) .pipe( T.Http({ method: "PATCH", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SyncNamespaceInstanceItemRequest", }) as any as S.Schema; export type NamespacesInstancesItemsSyncResponseNextAction = "INDEX" | "DELETE"; export const NamespacesInstancesItemsSyncResponseNextAction = /*@__PURE__*/ S.String; export type NamespacesInstancesItemsSyncResponseStatus = | "queued" | "running" | "completed" | "error" | "skipped" | "outdated"; export const NamespacesInstancesItemsSyncResponseStatus = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SyncNamespaceInstanceItemResponse { id: string; checksum: string; chunksCount: number; createdAt: string; fileSize: number; key: string; lastSeenAt: string; namespace: string; nextAction: NamespacesInstancesItemsSyncResponseNextAction; /** Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. */ sourceId: string; status: NamespacesInstancesItemsSyncResponseStatus; error?: string | null; } export const SyncNamespaceInstanceItemResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, checksum: S.String, chunksCount: S.Number.pipe(T.Body("chunks_count")), createdAt: S.String.pipe(T.Body("created_at")), fileSize: S.Number.pipe(T.Body("file_size")), key: S.String, lastSeenAt: S.String.pipe(T.Body("last_seen_at")), namespace: S.String, nextAction: NamespacesInstancesItemsSyncResponseNextAction.pipe( T.Body("next_action"), ), sourceId: S.String.pipe(T.Body("source_id")), status: NamespacesInstancesItemsSyncResponseStatus, error: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SyncNamespaceInstanceItemResponse", }) as any as S.Schema; export type InstancesUpdateRequestAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesUpdateRequestAiSearchModel = /*@__PURE__*/ S.String; export type InstancesUpdateRequestCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesUpdateRequestCacheThreshold = /*@__PURE__*/ S.String; export type InstancesUpdateRequestCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const InstancesUpdateRequestCacheTtl = /*@__PURE__*/ S.Number; export type InstancesUpdateRequestCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const InstancesUpdateRequestCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface InstancesUpdateRequestCustomMetadataItem { dataType: InstancesUpdateRequestCustomMetadataItemDataType | (string & {}); fieldName: string; } export const InstancesUpdateRequestCustomMetadataItem = /*@__PURE__*/ S.suspend( () => S.Struct({ dataType: InstancesUpdateRequestCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "InstancesUpdateRequestCustomMetadataItem", }) as any as S.Schema; export type InstancesUpdateRequestCustomMetadataList = Array; export const InstancesUpdateRequestCustomMetadataList = /*@__PURE__*/ S.Array( InstancesUpdateRequestCustomMetadataItem, ) as any as S.Schema; export type InstancesUpdateRequestEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const InstancesUpdateRequestEmbeddingModel = /*@__PURE__*/ S.String; export type InstancesUpdateRequestFusionMethod = "max" | "rrf"; export const InstancesUpdateRequestFusionMethod = /*@__PURE__*/ S.String; export type InstancesUpdateRequestIndexMethod = InstancesCreateRequestIndexMethod; export const InstancesUpdateRequestIndexMethod = InstancesCreateRequestIndexMethod; export type InstancesUpdateRequestIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const InstancesUpdateRequestIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface InstancesUpdateRequestIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: | InstancesUpdateRequestIndexingOptionsKeywordTokenizer | (string & {}); } export const InstancesUpdateRequestIndexingOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ keywordTokenizer: S.optional( InstancesUpdateRequestIndexingOptionsKeywordTokenizer.pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "InstancesUpdateRequestIndexingOptions", }) as any as S.Schema; export type InstancesUpdateRequestMetadata = InstancesCreateRequestMetadata; export const InstancesUpdateRequestMetadata = InstancesCreateRequestMetadata; export type InstancesUpdateRequestPublicEndpointParamsAuthorizedHostsList = Array; export const InstancesUpdateRequestPublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesUpdateRequestPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; export const InstancesUpdateRequestPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; export type InstancesUpdateRequestPublicEndpointParamsCustomDomainsList = Array; export const InstancesUpdateRequestPublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesUpdateRequestPublicEndpointParamsMcp = InstancesCreateRequestPublicEndpointParamsMcp; export const InstancesUpdateRequestPublicEndpointParamsMcp = InstancesCreateRequestPublicEndpointParamsMcp; export type InstancesUpdateRequestPublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const InstancesUpdateRequestPublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface InstancesUpdateRequestPublicEndpointParamsRateLimit { periodMs?: number; requests?: number; technique?: | InstancesUpdateRequestPublicEndpointParamsRateLimitTechnique | (string & {}); } export const InstancesUpdateRequestPublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.Number.pipe(T.Body("period_ms"))), requests: S.optional(S.Number), technique: S.optional( InstancesUpdateRequestPublicEndpointParamsRateLimitTechnique, ), }), ).annotate({ identifier: "InstancesUpdateRequestPublicEndpointParamsRateLimit", }) as any as S.Schema; export type InstancesUpdateRequestPublicEndpointParamsSearchEndpoint = InstancesCreateRequestPublicEndpointParamsSearchEndpoint; export const InstancesUpdateRequestPublicEndpointParamsSearchEndpoint = InstancesCreateRequestPublicEndpointParamsSearchEndpoint; export interface InstancesUpdateRequestPublicEndpointParams { authorizedHosts?: InstancesUpdateRequestPublicEndpointParamsAuthorizedHostsList; chatCompletionsEndpoint?: InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: InstancesUpdateRequestPublicEndpointParamsCustomDomainsList; enabled?: boolean; mcp?: InstancesCreateRequestPublicEndpointParamsMcp; rateLimit?: InstancesUpdateRequestPublicEndpointParamsRateLimit; searchEndpoint?: InstancesCreateRequestPublicEndpointParamsSearchEndpoint; } export const InstancesUpdateRequestPublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( InstancesUpdateRequestPublicEndpointParamsAuthorizedHostsList.pipe( T.Body("authorized_hosts"), ), ), chatCompletionsEndpoint: S.optional( InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint.pipe( T.Body("chat_completions_endpoint"), ), ), customDomains: S.optional( InstancesUpdateRequestPublicEndpointParamsCustomDomainsList.pipe( T.Body("custom_domains"), ), ), enabled: S.optional(S.Boolean), mcp: S.optional(InstancesCreateRequestPublicEndpointParamsMcp), rateLimit: S.optional( InstancesUpdateRequestPublicEndpointParamsRateLimit.pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( InstancesCreateRequestPublicEndpointParamsSearchEndpoint.pipe( T.Body("search_endpoint"), ), ), }), ).annotate({ identifier: "InstancesUpdateRequestPublicEndpointParams", }) as any as S.Schema; export type InstancesUpdateRequestRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesUpdateRequestRerankingModel = /*@__PURE__*/ S.String; export type InstancesUpdateRequestRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesUpdateRequestRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesUpdateRequestRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | InstancesUpdateRequestRetrievalOptionsBoostByItemDirection | (string & {}); } export const InstancesUpdateRequestRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( InstancesUpdateRequestRetrievalOptionsBoostByItemDirection, ), }), ).annotate({ identifier: "InstancesUpdateRequestRetrievalOptionsBoostByItem", }) as any as S.Schema; export type InstancesUpdateRequestRetrievalOptionsBoostByList = Array; export const InstancesUpdateRequestRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( InstancesUpdateRequestRetrievalOptionsBoostByItem, ) as any as S.Schema; export type InstancesUpdateRequestRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const InstancesUpdateRequestRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface InstancesUpdateRequestRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesUpdateRequestRetrievalOptionsBoostByList; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: | InstancesUpdateRequestRetrievalOptionsKeywordMatchMode | (string & {}); } export const InstancesUpdateRequestRetrievalOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ boostBy: S.optional( InstancesUpdateRequestRetrievalOptionsBoostByList.pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( InstancesUpdateRequestRetrievalOptionsKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "InstancesUpdateRequestRetrievalOptions", }) as any as S.Schema; export type InstancesUpdateRequestRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesUpdateRequestRewriteModel = /*@__PURE__*/ S.String; export type InstancesUpdateRequestSourceParamsExcludeItemsList = Array; export const InstancesUpdateRequestSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesUpdateRequestSourceParamsIncludeItemsList = Array; export const InstancesUpdateRequestSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesUpdateRequestSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap; includeImages?: boolean; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList; useBrowserRendering?: boolean; } export const InstancesUpdateRequestSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList.pipe( T.Body("content_selector"), ), ), includeHeaders: S.optional( InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap.pipe( T.Body("include_headers"), ), ), includeImages: S.optional(S.Boolean.pipe(T.Body("include_images"))), specificSitemaps: S.optional( InstancesUpdateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList.pipe( T.Body("specific_sitemaps"), ), ), useBrowserRendering: S.optional( S.Boolean.pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "InstancesUpdateRequestSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type InstancesUpdateRequestSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const InstancesUpdateRequestSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface InstancesUpdateRequestSourceParamsWebCrawler { parseOptions?: InstancesUpdateRequestSourceParamsWebCrawlerParseOptions; parseType?: | InstancesUpdateRequestSourceParamsWebCrawlerParseType | (string & {}); /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions; } export const InstancesUpdateRequestSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( InstancesUpdateRequestSourceParamsWebCrawlerParseOptions.pipe( T.Body("parse_options"), ), ), parseType: S.optional( InstancesUpdateRequestSourceParamsWebCrawlerParseType.pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( WebCrawlerCrawlOptions.pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "InstancesUpdateRequestSourceParamsWebCrawler", }) as any as S.Schema; export interface InstancesUpdateRequestSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: InstancesUpdateRequestSourceParamsExcludeItemsList; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: InstancesUpdateRequestSourceParamsIncludeItemsList; prefix?: string; r2Jurisdiction?: string; webCrawler?: InstancesUpdateRequestSourceParamsWebCrawler; } export const InstancesUpdateRequestSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( InstancesUpdateRequestSourceParamsExcludeItemsList.pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( InstancesUpdateRequestSourceParamsIncludeItemsList.pipe( T.Body("include_items"), ), ), prefix: S.optional(S.String), r2Jurisdiction: S.optional(S.String.pipe(T.Body("r2_jurisdiction"))), webCrawler: S.optional( InstancesUpdateRequestSourceParamsWebCrawler.pipe(T.Body("web_crawler")), ), }), ).annotate({ identifier: "InstancesUpdateRequestSourceParams", }) as any as S.Schema; export type InstancesUpdateRequestSummarizationModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesUpdateRequestSummarizationModel = /*@__PURE__*/ S.String; export type InstancesUpdateRequestSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const InstancesUpdateRequestSyncInterval = /*@__PURE__*/ S.Number; export interface UpdateInstanceRequest { accountId: string; id: string; aiGatewayId?: string; aiSearchModel?: InstancesUpdateRequestAiSearchModel | (string & {}); cache?: boolean; cacheThreshold?: InstancesUpdateRequestCacheThreshold | (string & {}); /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: InstancesUpdateRequestCacheTtl | (number & {}); chunk?: boolean; chunkOverlap?: number; chunkSize?: number; customMetadata?: InstancesUpdateRequestCustomMetadataList; embeddingModel?: InstancesUpdateRequestEmbeddingModel | (string & {}); fusionMethod?: InstancesUpdateRequestFusionMethod | (string & {}); /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod; indexingOptions?: InstancesUpdateRequestIndexingOptions; maxNumResults?: number; metadata?: InstancesCreateRequestMetadata; paused?: boolean; publicEndpointParams?: InstancesUpdateRequestPublicEndpointParams; reranking?: boolean; rerankingModel?: InstancesUpdateRequestRerankingModel | (string & {}); retrievalOptions?: InstancesUpdateRequestRetrievalOptions; rewriteModel?: InstancesUpdateRequestRewriteModel | (string & {}); rewriteQuery?: boolean; scoreThreshold?: number; source?: string; sourceParams?: InstancesUpdateRequestSourceParams; summarization?: boolean; summarizationModel?: InstancesUpdateRequestSummarizationModel | (string & {}); /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: InstancesUpdateRequestSyncInterval | (number & {}); systemPromptAiSearch?: string; systemPromptIndexSummarization?: string; systemPromptRewriteQuery?: string; tokenId?: string; } export const UpdateInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), aiGatewayId: S.optional(S.String.pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( InstancesUpdateRequestAiSearchModel.pipe(T.Body("ai_search_model")), ), cache: S.optional(S.Boolean), cacheThreshold: S.optional( InstancesUpdateRequestCacheThreshold.pipe(T.Body("cache_threshold")), ), cacheTtl: S.optional( InstancesUpdateRequestCacheTtl.pipe(T.Body("cache_ttl")), ), chunk: S.optional(S.Boolean), chunkOverlap: S.optional(S.Number.pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.Number.pipe(T.Body("chunk_size"))), customMetadata: S.optional( InstancesUpdateRequestCustomMetadataList.pipe(T.Body("custom_metadata")), ), embeddingModel: S.optional( InstancesUpdateRequestEmbeddingModel.pipe(T.Body("embedding_model")), ), fusionMethod: S.optional( InstancesUpdateRequestFusionMethod.pipe(T.Body("fusion_method")), ), indexMethod: S.optional( InstancesCreateRequestIndexMethod.pipe(T.Body("index_method")), ), indexingOptions: S.optional( InstancesUpdateRequestIndexingOptions.pipe(T.Body("indexing_options")), ), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), metadata: S.optional(InstancesCreateRequestMetadata), paused: S.optional(S.Boolean), publicEndpointParams: S.optional( InstancesUpdateRequestPublicEndpointParams.pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.Boolean), rerankingModel: S.optional( InstancesUpdateRequestRerankingModel.pipe(T.Body("reranking_model")), ), retrievalOptions: S.optional( InstancesUpdateRequestRetrievalOptions.pipe(T.Body("retrieval_options")), ), rewriteModel: S.optional( InstancesUpdateRequestRewriteModel.pipe(T.Body("rewrite_model")), ), rewriteQuery: S.optional(S.Boolean.pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional(S.Number.pipe(T.Body("score_threshold"))), source: S.optional(S.String), sourceParams: S.optional( InstancesUpdateRequestSourceParams.pipe(T.Body("source_params")), ), summarization: S.optional(S.Boolean), summarizationModel: S.optional( InstancesUpdateRequestSummarizationModel.pipe( T.Body("summarization_model"), ), ), syncInterval: S.optional( InstancesUpdateRequestSyncInterval.pipe(T.Body("sync_interval")), ), systemPromptAiSearch: S.optional( S.String.pipe(T.Body("system_prompt_ai_search")), ), systemPromptIndexSummarization: S.optional( S.String.pipe(T.Body("system_prompt_index_summarization")), ), systemPromptRewriteQuery: S.optional( S.String.pipe(T.Body("system_prompt_rewrite_query")), ), tokenId: S.optional(S.String.pipe(T.Body("token_id"))), }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/ai-search/instances/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateInstanceRequest", }) as any as S.Schema; export type InstancesUpdateResponseAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesUpdateResponseAiSearchModel = /*@__PURE__*/ S.String; export type InstancesUpdateResponseCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const InstancesUpdateResponseCacheThreshold = /*@__PURE__*/ S.String; export type InstancesUpdateResponseCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const InstancesUpdateResponseCacheTtl = /*@__PURE__*/ S.Number; export type InstancesUpdateResponseCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const InstancesUpdateResponseCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface InstancesUpdateResponseCustomMetadataItem { dataType: InstancesUpdateResponseCustomMetadataItemDataType; fieldName: string; } export const InstancesUpdateResponseCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: InstancesUpdateResponseCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "InstancesUpdateResponseCustomMetadataItem", }) as any as S.Schema; export type InstancesUpdateResponseCustomMetadataList = Array; export const InstancesUpdateResponseCustomMetadataList = /*@__PURE__*/ S.Array( InstancesUpdateResponseCustomMetadataItem, ) as any as S.Schema; export type InstancesUpdateResponseEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const InstancesUpdateResponseEmbeddingModel = /*@__PURE__*/ S.String; export type InstancesUpdateResponseFusionMethod = "max" | "rrf"; export const InstancesUpdateResponseFusionMethod = /*@__PURE__*/ S.String; export type InstancesUpdateResponseIndexMethod = InstancesCreateRequestIndexMethod; export const InstancesUpdateResponseIndexMethod = InstancesCreateRequestIndexMethod; export type InstancesUpdateResponseIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const InstancesUpdateResponseIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface InstancesUpdateResponseIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: InstancesUpdateResponseIndexingOptionsKeywordTokenizer | null; } export const InstancesUpdateResponseIndexingOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ keywordTokenizer: S.optional( S.NullOr(InstancesUpdateResponseIndexingOptionsKeywordTokenizer).pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "InstancesUpdateResponseIndexingOptions", }) as any as S.Schema; export type InstancesUpdateResponseMetadata = InstancesCreateResponseMetadata; export const InstancesUpdateResponseMetadata = InstancesCreateResponseMetadata; export type InstancesUpdateResponsePublicEndpointParamsAuthorizedHostsList = Array; export const InstancesUpdateResponsePublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesUpdateResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const InstancesUpdateResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type InstancesUpdateResponsePublicEndpointParamsCustomDomainsList = Array; export const InstancesUpdateResponsePublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesUpdateResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const InstancesUpdateResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type InstancesUpdateResponsePublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const InstancesUpdateResponsePublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface InstancesUpdateResponsePublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: InstancesUpdateResponsePublicEndpointParamsRateLimitTechnique | null; } export const InstancesUpdateResponsePublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr(InstancesUpdateResponsePublicEndpointParamsRateLimitTechnique), ), }), ).annotate({ identifier: "InstancesUpdateResponsePublicEndpointParamsRateLimit", }) as any as S.Schema; export type InstancesUpdateResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const InstancesUpdateResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface InstancesUpdateResponsePublicEndpointParams { authorizedHosts?: InstancesUpdateResponsePublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: InstancesUpdateResponsePublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: InstancesUpdateResponsePublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const InstancesUpdateResponsePublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( InstancesUpdateResponsePublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( InstancesUpdateResponsePublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr(InstancesUpdateResponsePublicEndpointParamsRateLimit).pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "InstancesUpdateResponsePublicEndpointParams", }) as any as S.Schema; export type InstancesUpdateResponseRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const InstancesUpdateResponseRerankingModel = /*@__PURE__*/ S.String; export type InstancesUpdateResponseRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const InstancesUpdateResponseRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface InstancesUpdateResponseRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: InstancesUpdateResponseRetrievalOptionsBoostByItemDirection | null; } export const InstancesUpdateResponseRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr(InstancesUpdateResponseRetrievalOptionsBoostByItemDirection), ), }), ).annotate({ identifier: "InstancesUpdateResponseRetrievalOptionsBoostByItem", }) as any as S.Schema; export type InstancesUpdateResponseRetrievalOptionsBoostByList = Array; export const InstancesUpdateResponseRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( InstancesUpdateResponseRetrievalOptionsBoostByItem, ) as any as S.Schema; export type InstancesUpdateResponseRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const InstancesUpdateResponseRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface InstancesUpdateResponseRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: InstancesUpdateResponseRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: InstancesUpdateResponseRetrievalOptionsKeywordMatchMode | null; } export const InstancesUpdateResponseRetrievalOptions = /*@__PURE__*/ S.suspend( () => S.Struct({ boostBy: S.optional( S.NullOr(InstancesUpdateResponseRetrievalOptionsBoostByList).pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( S.NullOr(InstancesUpdateResponseRetrievalOptionsKeywordMatchMode).pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "InstancesUpdateResponseRetrievalOptions", }) as any as S.Schema; export type InstancesUpdateResponseRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const InstancesUpdateResponseRewriteModel = /*@__PURE__*/ S.String; export type InstancesUpdateResponseSourceParamsExcludeItemsList = Array; export const InstancesUpdateResponseSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesUpdateResponseSourceParamsIncludeItemsList = Array; export const InstancesUpdateResponseSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InstancesUpdateResponseSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const InstancesUpdateResponseSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( InstancesUpdateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "InstancesUpdateResponseSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type InstancesUpdateResponseSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const InstancesUpdateResponseSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface InstancesUpdateResponseSourceParamsWebCrawler { parseOptions?: InstancesUpdateResponseSourceParamsWebCrawlerParseOptions | null; parseType?: InstancesUpdateResponseSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const InstancesUpdateResponseSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( InstancesUpdateResponseSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr(InstancesUpdateResponseSourceParamsWebCrawlerParseType).pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "InstancesUpdateResponseSourceParamsWebCrawler", }) as any as S.Schema; export interface InstancesUpdateResponseSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: InstancesUpdateResponseSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: InstancesUpdateResponseSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: InstancesUpdateResponseSourceParamsWebCrawler | null; } export const InstancesUpdateResponseSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr(InstancesUpdateResponseSourceParamsExcludeItemsList).pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( S.NullOr(InstancesUpdateResponseSourceParamsIncludeItemsList).pipe( T.Body("include_items"), ), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(InstancesUpdateResponseSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "InstancesUpdateResponseSourceParams", }) as any as S.Schema; export type InstancesUpdateResponseSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const InstancesUpdateResponseSyncInterval = /*@__PURE__*/ S.Number; export type InstancesUpdateResponseType = "r2" | "web-crawler"; export const InstancesUpdateResponseType = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateInstanceResponse { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: InstancesUpdateResponseAiSearchModel | null; cache?: boolean | null; cacheThreshold?: InstancesUpdateResponseCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: InstancesUpdateResponseCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: InstancesUpdateResponseCustomMetadataList | null; embeddingModel?: InstancesUpdateResponseEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: InstancesUpdateResponseFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: InstancesUpdateResponseIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: InstancesUpdateResponsePublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: InstancesUpdateResponseRerankingModel | null; retrievalOptions?: InstancesUpdateResponseRetrievalOptions | null; rewriteModel?: InstancesUpdateResponseRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: InstancesUpdateResponseSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: InstancesUpdateResponseSyncInterval | null; tokenId?: string | null; type?: InstancesUpdateResponseType | null; } export const UpdateInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(InstancesUpdateResponseAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(InstancesUpdateResponseCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(InstancesUpdateResponseCacheTtl).pipe(T.Body("cache_ttl")), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(InstancesUpdateResponseCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(InstancesUpdateResponseEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(InstancesUpdateResponseFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(InstancesUpdateResponseIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(InstancesUpdateResponsePublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(InstancesUpdateResponseRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(InstancesUpdateResponseRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(InstancesUpdateResponseRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(InstancesUpdateResponseSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(InstancesUpdateResponseSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(InstancesUpdateResponseType)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateInstanceResponse", }) as any as S.Schema; export interface UpdateNamespaceRequest { accountId: string; name: string; /** Optional description for the namespace. Max 256 characters. */ description?: string | null; } export const UpdateNamespaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), description: S.optional(S.NullOr(S.String)), }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/ai-search/namespaces/{name}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateNamespaceRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateNamespaceResponse { createdAt: string; name: string; /** Optional description for the namespace. Max 256 characters. */ description?: string | null; } export const UpdateNamespaceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.String.pipe(T.Body("created_at")), name: S.String, description: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateNamespaceResponse", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesUpdateRequestAiSearchModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateRequestCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesUpdateRequestCacheThreshold = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateRequestCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const NamespacesInstancesUpdateRequestCacheTtl = /*@__PURE__*/ S.Number; export type NamespacesInstancesUpdateRequestCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const NamespacesInstancesUpdateRequestCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateRequestCustomMetadataItem { dataType: | NamespacesInstancesUpdateRequestCustomMetadataItemDataType | (string & {}); fieldName: string; } export const NamespacesInstancesUpdateRequestCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: NamespacesInstancesUpdateRequestCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestCustomMetadataItem", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestCustomMetadataList = Array; export const NamespacesInstancesUpdateRequestCustomMetadataList = /*@__PURE__*/ S.Array( NamespacesInstancesUpdateRequestCustomMetadataItem, ) as any as S.Schema; export type NamespacesInstancesUpdateRequestEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const NamespacesInstancesUpdateRequestEmbeddingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateRequestFusionMethod = "max" | "rrf"; export const NamespacesInstancesUpdateRequestFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateRequestIndexMethod = InstancesCreateRequestIndexMethod; export const NamespacesInstancesUpdateRequestIndexMethod = InstancesCreateRequestIndexMethod; export type NamespacesInstancesUpdateRequestIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const NamespacesInstancesUpdateRequestIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateRequestIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: | NamespacesInstancesUpdateRequestIndexingOptionsKeywordTokenizer | (string & {}); } export const NamespacesInstancesUpdateRequestIndexingOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ keywordTokenizer: S.optional( NamespacesInstancesUpdateRequestIndexingOptionsKeywordTokenizer.pipe( T.Body("keyword_tokenizer"), ), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestIndexingOptions", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestMetadata = InstancesCreateRequestMetadata; export const NamespacesInstancesUpdateRequestMetadata = InstancesCreateRequestMetadata; export type NamespacesInstancesUpdateRequestPublicEndpointParamsAuthorizedHostsList = Array; export const NamespacesInstancesUpdateRequestPublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateRequestPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; export const NamespacesInstancesUpdateRequestPublicEndpointParamsChatCompletionsEndpoint = InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; export type NamespacesInstancesUpdateRequestPublicEndpointParamsCustomDomainsList = Array; export const NamespacesInstancesUpdateRequestPublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateRequestPublicEndpointParamsMcp = InstancesCreateRequestPublicEndpointParamsMcp; export const NamespacesInstancesUpdateRequestPublicEndpointParamsMcp = InstancesCreateRequestPublicEndpointParamsMcp; export type NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimit { periodMs?: number; requests?: number; technique?: | NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimitTechnique | (string & {}); } export const NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.Number.pipe(T.Body("period_ms"))), requests: S.optional(S.Number), technique: S.optional( NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimitTechnique, ), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimit", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestPublicEndpointParamsSearchEndpoint = InstancesCreateRequestPublicEndpointParamsSearchEndpoint; export const NamespacesInstancesUpdateRequestPublicEndpointParamsSearchEndpoint = InstancesCreateRequestPublicEndpointParamsSearchEndpoint; export interface NamespacesInstancesUpdateRequestPublicEndpointParams { authorizedHosts?: NamespacesInstancesUpdateRequestPublicEndpointParamsAuthorizedHostsList; chatCompletionsEndpoint?: InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: NamespacesInstancesUpdateRequestPublicEndpointParamsCustomDomainsList; enabled?: boolean; mcp?: InstancesCreateRequestPublicEndpointParamsMcp; rateLimit?: NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimit; searchEndpoint?: InstancesCreateRequestPublicEndpointParamsSearchEndpoint; } export const NamespacesInstancesUpdateRequestPublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( NamespacesInstancesUpdateRequestPublicEndpointParamsAuthorizedHostsList.pipe( T.Body("authorized_hosts"), ), ), chatCompletionsEndpoint: S.optional( InstancesCreateRequestPublicEndpointParamsChatCompletionsEndpoint.pipe( T.Body("chat_completions_endpoint"), ), ), customDomains: S.optional( NamespacesInstancesUpdateRequestPublicEndpointParamsCustomDomainsList.pipe( T.Body("custom_domains"), ), ), enabled: S.optional(S.Boolean), mcp: S.optional(InstancesCreateRequestPublicEndpointParamsMcp), rateLimit: S.optional( NamespacesInstancesUpdateRequestPublicEndpointParamsRateLimit.pipe( T.Body("rate_limit"), ), ), searchEndpoint: S.optional( InstancesCreateRequestPublicEndpointParamsSearchEndpoint.pipe( T.Body("search_endpoint"), ), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestPublicEndpointParams", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesUpdateRequestRerankingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateRequestRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesUpdateRequestRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateRequestRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: | NamespacesInstancesUpdateRequestRetrievalOptionsBoostByItemDirection | (string & {}); } export const NamespacesInstancesUpdateRequestRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( NamespacesInstancesUpdateRequestRetrievalOptionsBoostByItemDirection, ), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestRetrievalOptionsBoostByItem", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestRetrievalOptionsBoostByList = Array; export const NamespacesInstancesUpdateRequestRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesUpdateRequestRetrievalOptionsBoostByItem, ) as any as S.Schema; export type NamespacesInstancesUpdateRequestRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesUpdateRequestRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateRequestRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesUpdateRequestRetrievalOptionsBoostByList; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: | NamespacesInstancesUpdateRequestRetrievalOptionsKeywordMatchMode | (string & {}); } export const NamespacesInstancesUpdateRequestRetrievalOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( NamespacesInstancesUpdateRequestRetrievalOptionsBoostByList.pipe( T.Body("boost_by"), ), ), keywordMatchMode: S.optional( NamespacesInstancesUpdateRequestRetrievalOptionsKeywordMatchMode.pipe( T.Body("keyword_match_mode"), ), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestRetrievalOptions", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesUpdateRequestRewriteModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateRequestSourceParamsExcludeItemsList = Array; export const NamespacesInstancesUpdateRequestSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateRequestSourceParamsIncludeItemsList = Array; export const NamespacesInstancesUpdateRequestSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap; includeImages?: boolean; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList; useBrowserRendering?: boolean; } export const NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsContentSelectorList.pipe( T.Body("content_selector"), ), ), includeHeaders: S.optional( NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsIncludeHeadersMap.pipe( T.Body("include_headers"), ), ), includeImages: S.optional(S.Boolean.pipe(T.Body("include_images"))), specificSitemaps: S.optional( NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptionsSpecificSitemapsList.pipe( T.Body("specific_sitemaps"), ), ), useBrowserRendering: S.optional( S.Boolean.pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateRequestSourceParamsWebCrawler { parseOptions?: NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptions; parseType?: | NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseType | (string & {}); /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions; } export const NamespacesInstancesUpdateRequestSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseOptions.pipe( T.Body("parse_options"), ), ), parseType: S.optional( NamespacesInstancesUpdateRequestSourceParamsWebCrawlerParseType.pipe( T.Body("parse_type"), ), ), crawlOptions: S.optional( WebCrawlerCrawlOptions.pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestSourceParamsWebCrawler", }) as any as S.Schema; export interface NamespacesInstancesUpdateRequestSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: NamespacesInstancesUpdateRequestSourceParamsExcludeItemsList; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: NamespacesInstancesUpdateRequestSourceParamsIncludeItemsList; prefix?: string; r2Jurisdiction?: string; webCrawler?: NamespacesInstancesUpdateRequestSourceParamsWebCrawler; } export const NamespacesInstancesUpdateRequestSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( NamespacesInstancesUpdateRequestSourceParamsExcludeItemsList.pipe( T.Body("exclude_items"), ), ), includeItems: S.optional( NamespacesInstancesUpdateRequestSourceParamsIncludeItemsList.pipe( T.Body("include_items"), ), ), prefix: S.optional(S.String), r2Jurisdiction: S.optional(S.String.pipe(T.Body("r2_jurisdiction"))), webCrawler: S.optional( NamespacesInstancesUpdateRequestSourceParamsWebCrawler.pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateRequestSourceParams", }) as any as S.Schema; export type NamespacesInstancesUpdateRequestSummarizationModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesUpdateRequestSummarizationModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateRequestSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const NamespacesInstancesUpdateRequestSyncInterval = /*@__PURE__*/ S.Number; export interface UpdateNamespaceInstanceRequest { accountId: string; name: string; id: string; aiGatewayId?: string; aiSearchModel?: NamespacesInstancesUpdateRequestAiSearchModel | (string & {}); cache?: boolean; cacheThreshold?: | NamespacesInstancesUpdateRequestCacheThreshold | (string & {}); /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: NamespacesInstancesUpdateRequestCacheTtl | (number & {}); chunk?: boolean; chunkOverlap?: number; chunkSize?: number; customMetadata?: NamespacesInstancesUpdateRequestCustomMetadataList; embeddingModel?: | NamespacesInstancesUpdateRequestEmbeddingModel | (string & {}); fusionMethod?: NamespacesInstancesUpdateRequestFusionMethod | (string & {}); /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod; indexingOptions?: NamespacesInstancesUpdateRequestIndexingOptions; maxNumResults?: number; metadata?: InstancesCreateRequestMetadata; paused?: boolean; publicEndpointParams?: NamespacesInstancesUpdateRequestPublicEndpointParams; reranking?: boolean; rerankingModel?: | NamespacesInstancesUpdateRequestRerankingModel | (string & {}); retrievalOptions?: NamespacesInstancesUpdateRequestRetrievalOptions; rewriteModel?: NamespacesInstancesUpdateRequestRewriteModel | (string & {}); rewriteQuery?: boolean; scoreThreshold?: number; source?: string; sourceParams?: NamespacesInstancesUpdateRequestSourceParams; summarization?: boolean; summarizationModel?: | NamespacesInstancesUpdateRequestSummarizationModel | (string & {}); /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: NamespacesInstancesUpdateRequestSyncInterval | (number & {}); systemPromptAiSearch?: string; systemPromptIndexSummarization?: string; systemPromptRewriteQuery?: string; tokenId?: string; } export const UpdateNamespaceInstanceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), aiGatewayId: S.optional(S.String.pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( NamespacesInstancesUpdateRequestAiSearchModel.pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.Boolean), cacheThreshold: S.optional( NamespacesInstancesUpdateRequestCacheThreshold.pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( NamespacesInstancesUpdateRequestCacheTtl.pipe(T.Body("cache_ttl")), ), chunk: S.optional(S.Boolean), chunkOverlap: S.optional(S.Number.pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.Number.pipe(T.Body("chunk_size"))), customMetadata: S.optional( NamespacesInstancesUpdateRequestCustomMetadataList.pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( NamespacesInstancesUpdateRequestEmbeddingModel.pipe( T.Body("embedding_model"), ), ), fusionMethod: S.optional( NamespacesInstancesUpdateRequestFusionMethod.pipe( T.Body("fusion_method"), ), ), indexMethod: S.optional( InstancesCreateRequestIndexMethod.pipe(T.Body("index_method")), ), indexingOptions: S.optional( NamespacesInstancesUpdateRequestIndexingOptions.pipe( T.Body("indexing_options"), ), ), maxNumResults: S.optional(S.Number.pipe(T.Body("max_num_results"))), metadata: S.optional(InstancesCreateRequestMetadata), paused: S.optional(S.Boolean), publicEndpointParams: S.optional( NamespacesInstancesUpdateRequestPublicEndpointParams.pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.Boolean), rerankingModel: S.optional( NamespacesInstancesUpdateRequestRerankingModel.pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( NamespacesInstancesUpdateRequestRetrievalOptions.pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( NamespacesInstancesUpdateRequestRewriteModel.pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.Boolean.pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional(S.Number.pipe(T.Body("score_threshold"))), source: S.optional(S.String), sourceParams: S.optional( NamespacesInstancesUpdateRequestSourceParams.pipe( T.Body("source_params"), ), ), summarization: S.optional(S.Boolean), summarizationModel: S.optional( NamespacesInstancesUpdateRequestSummarizationModel.pipe( T.Body("summarization_model"), ), ), syncInterval: S.optional( NamespacesInstancesUpdateRequestSyncInterval.pipe( T.Body("sync_interval"), ), ), systemPromptAiSearch: S.optional( S.String.pipe(T.Body("system_prompt_ai_search")), ), systemPromptIndexSummarization: S.optional( S.String.pipe(T.Body("system_prompt_index_summarization")), ), systemPromptRewriteQuery: S.optional( S.String.pipe(T.Body("system_prompt_rewrite_query")), ), tokenId: S.optional(S.String.pipe(T.Body("token_id"))), }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateNamespaceInstanceRequest", }) as any as S.Schema; export type NamespacesInstancesUpdateResponseAiSearchModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesUpdateResponseAiSearchModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateResponseCacheThreshold = | "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes"; export const NamespacesInstancesUpdateResponseCacheThreshold = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateResponseCacheTtl = | 600 | 1800 | 3600 | 7200 | 21600 | 43200 | 86400 | 172800 | 259200 | 518400; export const NamespacesInstancesUpdateResponseCacheTtl = /*@__PURE__*/ S.Number; export type NamespacesInstancesUpdateResponseCustomMetadataItemDataType = | "text" | "number" | "boolean" | "datetime"; export const NamespacesInstancesUpdateResponseCustomMetadataItemDataType = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateResponseCustomMetadataItem { dataType: NamespacesInstancesUpdateResponseCustomMetadataItemDataType; fieldName: string; } export const NamespacesInstancesUpdateResponseCustomMetadataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataType: NamespacesInstancesUpdateResponseCustomMetadataItemDataType.pipe( T.Body("data_type"), ), fieldName: S.String.pipe(T.Body("field_name")), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponseCustomMetadataItem", }) as any as S.Schema; export type NamespacesInstancesUpdateResponseCustomMetadataList = Array; export const NamespacesInstancesUpdateResponseCustomMetadataList = /*@__PURE__*/ S.Array( NamespacesInstancesUpdateResponseCustomMetadataItem, ) as any as S.Schema; export type NamespacesInstancesUpdateResponseEmbeddingModel = | "@cf/qwen/qwen3-embedding-0.6b" | "@cf/qwen/qwen3-vl-embedding-2b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "google-ai-studio/gemini-embedding-2-preview" | "google-ai-studio/gemini-embedding-2" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | ""; export const NamespacesInstancesUpdateResponseEmbeddingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateResponseFusionMethod = "max" | "rrf"; export const NamespacesInstancesUpdateResponseFusionMethod = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateResponseIndexMethod = InstancesCreateRequestIndexMethod; export const NamespacesInstancesUpdateResponseIndexMethod = InstancesCreateRequestIndexMethod; export type NamespacesInstancesUpdateResponseIndexingOptionsKeywordTokenizer = | "porter" | "trigram"; export const NamespacesInstancesUpdateResponseIndexingOptionsKeywordTokenizer = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateResponseIndexingOptions { /** Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. */ keywordTokenizer?: NamespacesInstancesUpdateResponseIndexingOptionsKeywordTokenizer | null; } export const NamespacesInstancesUpdateResponseIndexingOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ keywordTokenizer: S.optional( S.NullOr( NamespacesInstancesUpdateResponseIndexingOptionsKeywordTokenizer, ).pipe(T.Body("keyword_tokenizer")), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponseIndexingOptions", }) as any as S.Schema; export type NamespacesInstancesUpdateResponseMetadata = InstancesCreateResponseMetadata; export const NamespacesInstancesUpdateResponseMetadata = InstancesCreateResponseMetadata; export type NamespacesInstancesUpdateResponsePublicEndpointParamsAuthorizedHostsList = Array; export const NamespacesInstancesUpdateResponsePublicEndpointParamsAuthorizedHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export const NamespacesInstancesUpdateResponsePublicEndpointParamsChatCompletionsEndpoint = InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint; export type NamespacesInstancesUpdateResponsePublicEndpointParamsCustomDomainsList = Array; export const NamespacesInstancesUpdateResponsePublicEndpointParamsCustomDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export const NamespacesInstancesUpdateResponsePublicEndpointParamsMcp = InstancesCreateResponsePublicEndpointParamsMcp; export type NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimitTechnique = | "fixed" | "sliding"; export const NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimitTechnique = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimit { periodMs?: number | null; requests?: number | null; technique?: NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimitTechnique | null; } export const NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ periodMs: S.optional(S.NullOr(S.Number).pipe(T.Body("period_ms"))), requests: S.optional(S.NullOr(S.Number)), technique: S.optional( S.NullOr( NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimitTechnique, ), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimit", }) as any as S.Schema; export type NamespacesInstancesUpdateResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export const NamespacesInstancesUpdateResponsePublicEndpointParamsSearchEndpoint = InstancesCreateResponsePublicEndpointParamsSearchEndpoint; export interface NamespacesInstancesUpdateResponsePublicEndpointParams { authorizedHosts?: NamespacesInstancesUpdateResponsePublicEndpointParamsAuthorizedHostsList | null; chatCompletionsEndpoint?: InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint | null; /** Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged). */ customDomains?: NamespacesInstancesUpdateResponsePublicEndpointParamsCustomDomainsList | null; enabled?: boolean | null; mcp?: InstancesCreateResponsePublicEndpointParamsMcp | null; rateLimit?: NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimit | null; searchEndpoint?: InstancesCreateResponsePublicEndpointParamsSearchEndpoint | null; } export const NamespacesInstancesUpdateResponsePublicEndpointParams = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedHosts: S.optional( S.NullOr( NamespacesInstancesUpdateResponsePublicEndpointParamsAuthorizedHostsList, ).pipe(T.Body("authorized_hosts")), ), chatCompletionsEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsChatCompletionsEndpoint, ).pipe(T.Body("chat_completions_endpoint")), ), customDomains: S.optional( S.NullOr( NamespacesInstancesUpdateResponsePublicEndpointParamsCustomDomainsList, ).pipe(T.Body("custom_domains")), ), enabled: S.optional(S.NullOr(S.Boolean)), mcp: S.optional(S.NullOr(InstancesCreateResponsePublicEndpointParamsMcp)), rateLimit: S.optional( S.NullOr( NamespacesInstancesUpdateResponsePublicEndpointParamsRateLimit, ).pipe(T.Body("rate_limit")), ), searchEndpoint: S.optional( S.NullOr( InstancesCreateResponsePublicEndpointParamsSearchEndpoint, ).pipe(T.Body("search_endpoint")), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponsePublicEndpointParams", }) as any as S.Schema; export type NamespacesInstancesUpdateResponseRerankingModel = | "@cf/baai/bge-reranker-base" | ""; export const NamespacesInstancesUpdateResponseRerankingModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateResponseRetrievalOptionsBoostByItemDirection = | "asc" | "desc" | "exists" | "not_exists"; export const NamespacesInstancesUpdateResponseRetrievalOptionsBoostByItemDirection = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateResponseRetrievalOptionsBoostByItem { /** Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not_exists); text/boolean fields only support exists/not_exists. */ field: string; /** Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional — defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. */ direction?: NamespacesInstancesUpdateResponseRetrievalOptionsBoostByItemDirection | null; } export const NamespacesInstancesUpdateResponseRetrievalOptionsBoostByItem = /*@__PURE__*/ S.suspend(() => S.Struct({ field: S.String, direction: S.optional( S.NullOr( NamespacesInstancesUpdateResponseRetrievalOptionsBoostByItemDirection, ), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponseRetrievalOptionsBoostByItem", }) as any as S.Schema; export type NamespacesInstancesUpdateResponseRetrievalOptionsBoostByList = Array; export const NamespacesInstancesUpdateResponseRetrievalOptionsBoostByList = /*@__PURE__*/ S.Array( NamespacesInstancesUpdateResponseRetrievalOptionsBoostByItem, ) as any as S.Schema; export type NamespacesInstancesUpdateResponseRetrievalOptionsKeywordMatchMode = | "and" | "or"; export const NamespacesInstancesUpdateResponseRetrievalOptionsKeywordMatchMode = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateResponseRetrievalOptions { /** Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric/datetime fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. */ boostBy?: NamespacesInstancesUpdateResponseRetrievalOptionsBoostByList | null; /** Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. */ keywordMatchMode?: NamespacesInstancesUpdateResponseRetrievalOptionsKeywordMatchMode | null; } export const NamespacesInstancesUpdateResponseRetrievalOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ boostBy: S.optional( S.NullOr( NamespacesInstancesUpdateResponseRetrievalOptionsBoostByList, ).pipe(T.Body("boost_by")), ), keywordMatchMode: S.optional( S.NullOr( NamespacesInstancesUpdateResponseRetrievalOptionsKeywordMatchMode, ).pipe(T.Body("keyword_match_mode")), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponseRetrievalOptions", }) as any as S.Schema; export type NamespacesInstancesUpdateResponseRewriteModel = | "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/zai-org/glm-4.7-flash" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "@cf/google/gemma-3-12b-it" | "@cf/google/gemma-4-26b-a4b-it" | "@cf/moonshotai/kimi-k2.5" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | ""; export const NamespacesInstancesUpdateResponseRewriteModel = /*@__PURE__*/ S.String; export type NamespacesInstancesUpdateResponseSourceParamsExcludeItemsList = Array; export const NamespacesInstancesUpdateResponseSourceParamsExcludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateResponseSourceParamsIncludeItemsList = Array; export const NamespacesInstancesUpdateResponseSourceParamsIncludeItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export const NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorItem = InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem; export type NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = Array; export const NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList = /*@__PURE__*/ S.Array( InstancesCreateRequestSourceParamsWebCrawlerParseOptionsContentSelectorItem, ) as any as S.Schema; export type NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = { [key: string]: string | undefined }; export const NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export type NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = Array; export const NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptions { /** List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. */ contentSelector?: NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList | null; /** Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). */ includeHeaders?: NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap | null; includeImages?: boolean | null; /** List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. */ specificSitemaps?: NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList | null; useBrowserRendering?: boolean | null; } export const NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ contentSelector: S.optional( S.NullOr( NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelectorList, ).pipe(T.Body("content_selector")), ), includeHeaders: S.optional( S.NullOr( NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsIncludeHeadersMap, ).pipe(T.Body("include_headers")), ), includeImages: S.optional( S.NullOr(S.Boolean).pipe(T.Body("include_images")), ), specificSitemaps: S.optional( S.NullOr( NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptionsSpecificSitemapsList, ).pipe(T.Body("specific_sitemaps")), ), useBrowserRendering: S.optional( S.NullOr(S.Boolean).pipe(T.Body("use_browser_rendering")), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptions", }) as any as S.Schema; export type NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseType = | "sitemap" | "crawl"; export const NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseType = /*@__PURE__*/ S.String; export interface NamespacesInstancesUpdateResponseSourceParamsWebCrawler { parseOptions?: NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptions | null; parseType?: NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseType | null; /** Options controlling crawl discovery (e.g. { source: "links" }). */ crawlOptions?: WebCrawlerCrawlOptions | null; } export const NamespacesInstancesUpdateResponseSourceParamsWebCrawler = /*@__PURE__*/ S.suspend(() => S.Struct({ parseOptions: S.optional( S.NullOr( NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseOptions, ).pipe(T.Body("parse_options")), ), parseType: S.optional( S.NullOr( NamespacesInstancesUpdateResponseSourceParamsWebCrawlerParseType, ).pipe(T.Body("parse_type")), ), crawlOptions: S.optional( S.NullOr(WebCrawlerCrawlOptions).pipe(T.Body("crawl_options")), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponseSourceParamsWebCrawler", }) as any as S.Schema; export interface NamespacesInstancesUpdateResponseSourceParams { /** List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) */ excludeItems?: NamespacesInstancesUpdateResponseSourceParamsExcludeItemsList | null; /** List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) */ includeItems?: NamespacesInstancesUpdateResponseSourceParamsIncludeItemsList | null; prefix?: string | null; r2Jurisdiction?: string | null; webCrawler?: NamespacesInstancesUpdateResponseSourceParamsWebCrawler | null; } export const NamespacesInstancesUpdateResponseSourceParams = /*@__PURE__*/ S.suspend(() => S.Struct({ excludeItems: S.optional( S.NullOr( NamespacesInstancesUpdateResponseSourceParamsExcludeItemsList, ).pipe(T.Body("exclude_items")), ), includeItems: S.optional( S.NullOr( NamespacesInstancesUpdateResponseSourceParamsIncludeItemsList, ).pipe(T.Body("include_items")), ), prefix: S.optional(S.NullOr(S.String)), r2Jurisdiction: S.optional( S.NullOr(S.String).pipe(T.Body("r2_jurisdiction")), ), webCrawler: S.optional( S.NullOr(NamespacesInstancesUpdateResponseSourceParamsWebCrawler).pipe( T.Body("web_crawler"), ), ), }), ).annotate({ identifier: "NamespacesInstancesUpdateResponseSourceParams", }) as any as S.Schema; export type NamespacesInstancesUpdateResponseSyncInterval = | 900 | 1800 | 3600 | 7200 | 14400 | 21600 | 43200 | 86400; export const NamespacesInstancesUpdateResponseSyncInterval = /*@__PURE__*/ S.Number; export type NamespacesInstancesUpdateResponseType = "r2" | "web-crawler"; export const NamespacesInstancesUpdateResponseType = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateNamespaceInstanceResponse { /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; createdAt: string; modifiedAt: string; aiGatewayId?: string | null; aiSearchModel?: NamespacesInstancesUpdateResponseAiSearchModel | null; cache?: boolean | null; cacheThreshold?: NamespacesInstancesUpdateResponseCacheThreshold | null; /** Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). */ cacheTtl?: NamespacesInstancesUpdateResponseCacheTtl | null; chunkOverlap?: number | null; chunkSize?: number | null; createdBy?: string | null; customMetadata?: NamespacesInstancesUpdateResponseCustomMetadataList | null; embeddingModel?: NamespacesInstancesUpdateResponseEmbeddingModel | null; enable?: boolean | null; engineVersion?: number | null; fusionMethod?: NamespacesInstancesUpdateResponseFusionMethod | null; /** Deprecated — use index_method instead. */ hybridSearchEnabled?: boolean | null; /** Controls which storage backends are used during indexing. Defaults to vector-only. */ indexMethod?: InstancesCreateRequestIndexMethod | null; indexingOptions?: NamespacesInstancesUpdateResponseIndexingOptions | null; lastActivity?: string | null; maxNumResults?: number | null; metadata?: InstancesCreateResponseMetadata | null; modifiedBy?: string | null; namespace?: string | null; paused?: boolean | null; publicEndpointId?: string | null; publicEndpointParams?: NamespacesInstancesUpdateResponsePublicEndpointParams | null; reranking?: boolean | null; rerankingModel?: NamespacesInstancesUpdateResponseRerankingModel | null; retrievalOptions?: NamespacesInstancesUpdateResponseRetrievalOptions | null; rewriteModel?: NamespacesInstancesUpdateResponseRewriteModel | null; rewriteQuery?: boolean | null; scoreThreshold?: number | null; source?: string | null; sourceParams?: NamespacesInstancesUpdateResponseSourceParams | null; status?: string | null; /** Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). */ syncInterval?: NamespacesInstancesUpdateResponseSyncInterval | null; tokenId?: string | null; type?: NamespacesInstancesUpdateResponseType | null; } export const UpdateNamespaceInstanceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), aiGatewayId: S.optional(S.NullOr(S.String).pipe(T.Body("ai_gateway_id"))), aiSearchModel: S.optional( S.NullOr(NamespacesInstancesUpdateResponseAiSearchModel).pipe( T.Body("ai_search_model"), ), ), cache: S.optional(S.NullOr(S.Boolean)), cacheThreshold: S.optional( S.NullOr(NamespacesInstancesUpdateResponseCacheThreshold).pipe( T.Body("cache_threshold"), ), ), cacheTtl: S.optional( S.NullOr(NamespacesInstancesUpdateResponseCacheTtl).pipe( T.Body("cache_ttl"), ), ), chunkOverlap: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_overlap"))), chunkSize: S.optional(S.NullOr(S.Number).pipe(T.Body("chunk_size"))), createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), customMetadata: S.optional( S.NullOr(NamespacesInstancesUpdateResponseCustomMetadataList).pipe( T.Body("custom_metadata"), ), ), embeddingModel: S.optional( S.NullOr(NamespacesInstancesUpdateResponseEmbeddingModel).pipe( T.Body("embedding_model"), ), ), enable: S.optional(S.NullOr(S.Boolean)), engineVersion: S.optional( S.NullOr(S.Number).pipe(T.Body("engine_version")), ), fusionMethod: S.optional( S.NullOr(NamespacesInstancesUpdateResponseFusionMethod).pipe( T.Body("fusion_method"), ), ), hybridSearchEnabled: S.optional( S.NullOr(S.Boolean).pipe(T.Body("hybrid_search_enabled")), ), indexMethod: S.optional( S.NullOr(InstancesCreateRequestIndexMethod).pipe(T.Body("index_method")), ), indexingOptions: S.optional( S.NullOr(NamespacesInstancesUpdateResponseIndexingOptions).pipe( T.Body("indexing_options"), ), ), lastActivity: S.optional(S.NullOr(S.String).pipe(T.Body("last_activity"))), maxNumResults: S.optional( S.NullOr(S.Number).pipe(T.Body("max_num_results")), ), metadata: S.optional(S.NullOr(InstancesCreateResponseMetadata)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), namespace: S.optional(S.NullOr(S.String)), paused: S.optional(S.NullOr(S.Boolean)), publicEndpointId: S.optional( S.NullOr(S.String).pipe(T.Body("public_endpoint_id")), ), publicEndpointParams: S.optional( S.NullOr(NamespacesInstancesUpdateResponsePublicEndpointParams).pipe( T.Body("public_endpoint_params"), ), ), reranking: S.optional(S.NullOr(S.Boolean)), rerankingModel: S.optional( S.NullOr(NamespacesInstancesUpdateResponseRerankingModel).pipe( T.Body("reranking_model"), ), ), retrievalOptions: S.optional( S.NullOr(NamespacesInstancesUpdateResponseRetrievalOptions).pipe( T.Body("retrieval_options"), ), ), rewriteModel: S.optional( S.NullOr(NamespacesInstancesUpdateResponseRewriteModel).pipe( T.Body("rewrite_model"), ), ), rewriteQuery: S.optional(S.NullOr(S.Boolean).pipe(T.Body("rewrite_query"))), scoreThreshold: S.optional( S.NullOr(S.Number).pipe(T.Body("score_threshold")), ), source: S.optional(S.NullOr(S.String)), sourceParams: S.optional( S.NullOr(NamespacesInstancesUpdateResponseSourceParams).pipe( T.Body("source_params"), ), ), status: S.optional(S.NullOr(S.String)), syncInterval: S.optional( S.NullOr(NamespacesInstancesUpdateResponseSyncInterval).pipe( T.Body("sync_interval"), ), ), tokenId: S.optional(S.NullOr(S.String).pipe(T.Body("token_id"))), type: S.optional(S.NullOr(NamespacesInstancesUpdateResponseType)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateNamespaceInstanceResponse", }) as any as S.Schema; export interface UpdateTokenRequest { accountId: string; id: string; cfApiId: string; cfApiKey: string; name: string; legacy?: boolean; } export const UpdateTokenRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), id: S.String.pipe(T.Label()), cfApiId: S.String.pipe(T.Body("cf_api_id")), cfApiKey: S.String.pipe(T.Body("cf_api_key")), name: S.String, legacy: S.optional(S.Boolean), }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/ai-search/tokens/{id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateTokenRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateTokenResponse { id: string; cfApiId: string; createdAt: string; modifiedAt: string; name: string; createdBy?: string | null; enabled?: boolean | null; legacy?: boolean | null; modifiedBy?: string | null; } export const UpdateTokenResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, cfApiId: S.String.pipe(T.Body("cf_api_id")), createdAt: S.String.pipe(T.Body("created_at")), modifiedAt: S.String.pipe(T.Body("modified_at")), name: S.String, createdBy: S.optional(S.NullOr(S.String).pipe(T.Body("created_by"))), enabled: S.optional(S.NullOr(S.Boolean)), legacy: S.optional(S.NullOr(S.Boolean)), modifiedBy: S.optional(S.NullOr(S.String).pipe(T.Body("modified_by"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateTokenResponse", }) as any as S.Schema; export interface UploadNamespaceInstanceItemRequest { accountId: string; name: string; /** AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. */ id: string; } export const UploadNamespaceInstanceItemRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UploadNamespaceInstanceItemRequest", }) as any as S.Schema; export type NamespacesInstancesItemsUploadResponseNextAction = | "INDEX" | "DELETE"; export const NamespacesInstancesItemsUploadResponseNextAction = /*@__PURE__*/ S.String; export type NamespacesInstancesItemsUploadResponseStatus = | "queued" | "running" | "completed" | "error" | "skipped" | "outdated"; export const NamespacesInstancesItemsUploadResponseStatus = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UploadNamespaceInstanceItemResponse { id: string; checksum: string; chunksCount: number; createdAt: string; fileSize: number; key: string; lastSeenAt: string; namespace: string; nextAction: NamespacesInstancesItemsUploadResponseNextAction; /** Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. */ sourceId: string; status: NamespacesInstancesItemsUploadResponseStatus; error?: string | null; } export const UploadNamespaceInstanceItemResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, checksum: S.String, chunksCount: S.Number.pipe(T.Body("chunks_count")), createdAt: S.String.pipe(T.Body("created_at")), fileSize: S.Number.pipe(T.Body("file_size")), key: S.String, lastSeenAt: S.String.pipe(T.Body("last_seen_at")), namespace: S.String, nextAction: NamespacesInstancesItemsUploadResponseNextAction.pipe( T.Body("next_action"), ), sourceId: S.String.pipe(T.Body("source_id")), status: NamespacesInstancesItemsUploadResponseStatus, error: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UploadNamespaceInstanceItemResponse", }) as any as S.Schema; export type ChatCompletionsInstanceError = CloudflareOpError; /** Performs a chat completion request against an AI Search instance, using indexed content as context for generating responses. */ export const chatCompletionsInstance: API.OperationMethod< ChatCompletionsInstanceRequest, ChatCompletionsInstanceResponse, ChatCompletionsInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ChatCompletionsInstanceRequest, output: ChatCompletionsInstanceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ChatCompletionsNamespaceError = CloudflareOpError; /** Performs a chat completion request against multiple AI Search instances in parallel, merging retrieved content as context for generating a response. */ export const chatCompletionsNamespace: API.OperationMethod< ChatCompletionsNamespaceRequest, ChatCompletionsNamespaceResponse, ChatCompletionsNamespaceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ChatCompletionsNamespaceRequest, output: ChatCompletionsNamespaceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ChatCompletionsNamespaceInstanceError = CloudflareOpError; /** Performs a chat completion request against an AI Search instance, using indexed content as context for generating responses. */ export const chatCompletionsNamespaceInstance: API.OperationMethod< ChatCompletionsNamespaceInstanceRequest, ChatCompletionsNamespaceInstanceResponse, ChatCompletionsNamespaceInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ChatCompletionsNamespaceInstanceRequest, output: ChatCompletionsNamespaceInstanceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ChunksNamespaceInstanceItemError = CloudflareOpError; /** Lists chunks for a specific item in an AI Search instance, including their text content. */ export const chunksNamespaceInstanceItem: API.OperationMethod< ChunksNamespaceInstanceItemRequest, ChunksNamespaceInstanceItemResponse, ChunksNamespaceInstanceItemError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ChunksNamespaceInstanceItemRequest, output: ChunksNamespaceInstanceItemResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateInstanceError = | ValidationError | NotFound | InvalidRoute | InstanceAlreadyExists | InvalidTokenCredentials | Forbidden | CloudflareOpError; /** Create a new instance. */ export const createInstance: API.OperationMethod< CreateInstanceRequest, CreateInstanceResponse, CreateInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateInstanceRequest, output: CreateInstanceResponse, errors: [ ValidationError, NotFound, InvalidRoute, InstanceAlreadyExists, InvalidTokenCredentials, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateInstanceJobError = | ValidationError | NotFound | InvalidRoute | UnableToConnect | SyncInCooldown | CloudflareOpError; /** Creates a new indexing job for an AI Search instance. */ export const createInstanceJob: API.OperationMethod< CreateInstanceJobRequest, CreateInstanceJobResponse, CreateInstanceJobError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateInstanceJobRequest, output: CreateInstanceJobResponse, errors: [ ValidationError, NotFound, InvalidRoute, UnableToConnect, SyncInCooldown, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateNamespaceError = | NamespaceAlreadyExists | Forbidden | CloudflareOpError; /** Create a new namespace. */ export const createNamespace: API.OperationMethod< CreateNamespaceRequest, CreateNamespaceResponse, CreateNamespaceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateNamespaceRequest, output: CreateNamespaceResponse, errors: [ NamespaceAlreadyExists, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateNamespaceInstanceError = | ValidationError | NamespaceNotFound | AiSearchInstanceNotFound | InvalidRoute | InstanceAlreadyExists | InvalidTokenCredentials | WebCrawlerDomainNotOwned | MissingSitemap | Forbidden | CloudflareOpError; /** Create a new instance. */ export const createNamespaceInstance: API.OperationMethod< CreateNamespaceInstanceRequest, CreateNamespaceInstanceResponse, CreateNamespaceInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateNamespaceInstanceRequest, output: CreateNamespaceInstanceResponse, errors: [ ValidationError, NamespaceNotFound, AiSearchInstanceNotFound, InvalidRoute, InstanceAlreadyExists, InvalidTokenCredentials, WebCrawlerDomainNotOwned, MissingSitemap, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateNamespaceInstanceJobError = CloudflareOpError; /** Creates a new indexing job for an AI Search instance. */ export const createNamespaceInstanceJob: API.OperationMethod< CreateNamespaceInstanceJobRequest, CreateNamespaceInstanceJobResponse, CreateNamespaceInstanceJobError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateNamespaceInstanceJobRequest, output: CreateNamespaceInstanceJobResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateOrUpdateNamespaceInstanceItemError = CloudflareOpError; /** Creates or updates an indexed item in an AI Search instance. */ export const createOrUpdateNamespaceInstanceItem: API.OperationMethod< CreateOrUpdateNamespaceInstanceItemRequest, CreateOrUpdateNamespaceInstanceItemResponse, CreateOrUpdateNamespaceInstanceItemError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrUpdateNamespaceInstanceItemRequest, output: CreateOrUpdateNamespaceInstanceItemResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateTokenError = | ValidationError | NotFound | InvalidRoute | InvalidTokenCredentials | Forbidden | CloudflareOpError; /** Create a new token. */ export const createToken: API.OperationMethod< CreateTokenRequest, CreateTokenResponse, CreateTokenError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateTokenRequest, output: CreateTokenResponse, errors: [ ValidationError, NotFound, InvalidRoute, InvalidTokenCredentials, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteInstanceError = | ValidationError | NotFound | InvalidRoute | Forbidden | CloudflareOpError; /** Delete instance. */ export const deleteInstance: API.OperationMethod< DeleteInstanceRequest, DeleteInstanceResponse, DeleteInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteInstanceRequest, output: DeleteInstanceResponse, errors: [ ValidationError, NotFound, InvalidRoute, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteNamespaceError = | NamespaceNotFound | Forbidden | CloudflareOpError; /** Delete namespace. */ export const deleteNamespace: API.OperationMethod< DeleteNamespaceRequest, DeleteNamespaceResponse, DeleteNamespaceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteNamespaceRequest, output: DeleteNamespaceResponse, errors: [ NamespaceNotFound, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteNamespaceInstanceError = | ValidationError | NamespaceNotFound | AiSearchInstanceNotFound | InvalidRoute | Forbidden | CloudflareOpError; /** Delete instance. */ export const deleteNamespaceInstance: API.OperationMethod< DeleteNamespaceInstanceRequest, DeleteNamespaceInstanceResponse, DeleteNamespaceInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteNamespaceInstanceRequest, output: DeleteNamespaceInstanceResponse, errors: [ ValidationError, NamespaceNotFound, AiSearchInstanceNotFound, InvalidRoute, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteNamespaceInstanceItemError = CloudflareOpError; /** Deletes a file from a managed AI Search instance and triggers a reindex. */ export const deleteNamespaceInstanceItem: API.OperationMethod< DeleteNamespaceInstanceItemRequest, DeleteNamespaceInstanceItemResponse, DeleteNamespaceInstanceItemError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteNamespaceInstanceItemRequest, output: DeleteNamespaceInstanceItemResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteTokenError = | ValidationError | NotFound | InvalidRoute | TokenNotFound | TokenInUseByInstances | Forbidden | CloudflareOpError; /** Delete token. */ export const deleteToken: API.OperationMethod< DeleteTokenRequest, DeleteTokenResponse, DeleteTokenError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteTokenRequest, output: DeleteTokenResponse, errors: [ ValidationError, NotFound, InvalidRoute, TokenNotFound, TokenInUseByInstances, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DownloadNamespaceInstanceItemError = CloudflareOpError; /** Downloads the raw file content for a specific item from the managed AI Search instance storage. */ export const downloadNamespaceInstanceItem: API.OperationMethod< DownloadNamespaceInstanceItemRequest, DownloadNamespaceInstanceItemResponse, DownloadNamespaceInstanceItemError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DownloadNamespaceInstanceItemRequest, output: DownloadNamespaceInstanceItemResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetInstanceJobError = | ValidationError | NotFound | InvalidRoute | CloudflareOpError; /** Retrieves details for a specific AI Search indexing job. */ export const getInstanceJob: API.OperationMethod< GetInstanceJobRequest, GetInstanceJobResponse, GetInstanceJobError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetInstanceJobRequest, output: GetInstanceJobResponse, errors: [ ValidationError, NotFound, InvalidRoute, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetNamespaceInstanceItemError = CloudflareOpError; /** Retrieves a specific indexed item from an AI Search instance. */ export const getNamespaceInstanceItem: API.OperationMethod< GetNamespaceInstanceItemRequest, GetNamespaceInstanceItemResponse, GetNamespaceInstanceItemError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetNamespaceInstanceItemRequest, output: GetNamespaceInstanceItemResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetNamespaceInstanceJobError = CloudflareOpError; /** Retrieves details for a specific AI Search indexing job. */ export const getNamespaceInstanceJob: API.OperationMethod< GetNamespaceInstanceJobRequest, GetNamespaceInstanceJobResponse, GetNamespaceInstanceJobError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetNamespaceInstanceJobRequest, output: GetNamespaceInstanceJobResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListInstanceJobsError = CloudflareOpError; /** Lists indexing jobs for an AI Search instance. */ export const listInstanceJobs: API.PaginatedOperationMethod< ListInstanceJobsRequest, ListInstanceJobsResponse, ListInstanceJobsError, CloudflareOpContext, InstancesJobsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListInstanceJobsRequest, output: ListInstanceJobsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListInstancesError = InvalidRoute | Forbidden | CloudflareOpError; /** List instances. */ export const listInstances: API.PaginatedOperationMethod< ListInstancesRequest, ListInstancesResponse, ListInstancesError, CloudflareOpContext, InstancesListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListInstancesRequest, output: ListInstancesResponse, errors: [InvalidRoute, Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListNamespaceInstanceItemsError = CloudflareOpError; /** Lists indexed items in an AI Search instance. */ export const listNamespaceInstanceItems: API.PaginatedOperationMethod< ListNamespaceInstanceItemsRequest, ListNamespaceInstanceItemsResponse, ListNamespaceInstanceItemsError, CloudflareOpContext, NamespacesInstancesItemsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListNamespaceInstanceItemsRequest, output: ListNamespaceInstanceItemsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListNamespaceInstanceJobsError = CloudflareOpError; /** Lists indexing jobs for an AI Search instance. */ export const listNamespaceInstanceJobs: API.PaginatedOperationMethod< ListNamespaceInstanceJobsRequest, ListNamespaceInstanceJobsResponse, ListNamespaceInstanceJobsError, CloudflareOpContext, NamespacesInstancesJobsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListNamespaceInstanceJobsRequest, output: ListNamespaceInstanceJobsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListNamespaceInstancesError = | NamespaceNotFound | InvalidRoute | Forbidden | CloudflareOpError; /** List instances. */ export const listNamespaceInstances: API.PaginatedOperationMethod< ListNamespaceInstancesRequest, ListNamespaceInstancesResponse, ListNamespaceInstancesError, CloudflareOpContext, NamespacesInstancesListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListNamespaceInstancesRequest, output: ListNamespaceInstancesResponse, errors: [ NamespaceNotFound, InvalidRoute, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListNamespacesError = CloudflareOpError; /** List namespaces. */ export const listNamespaces: API.PaginatedOperationMethod< ListNamespacesRequest, ListNamespacesResponse, ListNamespacesError, CloudflareOpContext, NamespacesListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListNamespacesRequest, output: ListNamespacesResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListTokensError = InvalidRoute | Forbidden | CloudflareOpError; /** List tokens. */ export const listTokens: API.PaginatedOperationMethod< ListTokensRequest, ListTokensResponse, ListTokensError, CloudflareOpContext, TokensListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListTokensRequest, output: ListTokensResponse, errors: [InvalidRoute, Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type LogsInstanceJobError = | ValidationError | NotFound | InvalidRoute | CloudflareOpError; /** Lists log entries for an AI Search indexing job. */ export const logsInstanceJob: API.OperationMethod< LogsInstanceJobRequest, LogsInstanceJobResponse, LogsInstanceJobError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: LogsInstanceJobRequest, output: LogsInstanceJobResponse, errors: [ ValidationError, NotFound, InvalidRoute, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type LogsNamespaceInstanceItemError = CloudflareOpError; /** Lists processing logs for a specific item in an AI Search instance. */ export const logsNamespaceInstanceItem: API.OperationMethod< LogsNamespaceInstanceItemRequest, LogsNamespaceInstanceItemResponse, LogsNamespaceInstanceItemError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: LogsNamespaceInstanceItemRequest, output: LogsNamespaceInstanceItemResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type LogsNamespaceInstanceJobError = CloudflareOpError; /** Lists log entries for an AI Search indexing job. */ export const logsNamespaceInstanceJob: API.OperationMethod< LogsNamespaceInstanceJobRequest, LogsNamespaceInstanceJobResponse, LogsNamespaceInstanceJobError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: LogsNamespaceInstanceJobRequest, output: LogsNamespaceInstanceJobResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PatchNamespaceInstanceJobError = CloudflareOpError; /** Updates the status of an AI Search indexing job. */ export const patchNamespaceInstanceJob: API.OperationMethod< PatchNamespaceInstanceJobRequest, PatchNamespaceInstanceJobResponse, PatchNamespaceInstanceJobError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PatchNamespaceInstanceJobRequest, output: PatchNamespaceInstanceJobResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ReadInstanceError = | ValidationError | NotFound | InvalidRoute | Forbidden | CloudflareOpError; /** Read instance. */ export const readInstance: API.OperationMethod< ReadInstanceRequest, ReadInstanceResponse, ReadInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ReadInstanceRequest, output: ReadInstanceResponse, errors: [ ValidationError, NotFound, InvalidRoute, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ReadNamespaceError = | NamespaceNotFound | Forbidden | CloudflareOpError; /** Read namespace. */ export const readNamespace: API.OperationMethod< ReadNamespaceRequest, ReadNamespaceResponse, ReadNamespaceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ReadNamespaceRequest, output: ReadNamespaceResponse, errors: [ NamespaceNotFound, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ReadNamespaceInstanceError = | ValidationError | NamespaceNotFound | AiSearchInstanceNotFound | InvalidRoute | Forbidden | CloudflareOpError; /** Read instance. */ export const readNamespaceInstance: API.OperationMethod< ReadNamespaceInstanceRequest, ReadNamespaceInstanceResponse, ReadNamespaceInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ReadNamespaceInstanceRequest, output: ReadNamespaceInstanceResponse, errors: [ ValidationError, NamespaceNotFound, AiSearchInstanceNotFound, InvalidRoute, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ReadTokenError = | ValidationError | NotFound | InvalidRoute | TokenNotFound | Forbidden | CloudflareOpError; /** Read token. */ export const readToken: API.OperationMethod< ReadTokenRequest, ReadTokenResponse, ReadTokenError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ReadTokenRequest, output: ReadTokenResponse, errors: [ ValidationError, NotFound, InvalidRoute, TokenNotFound, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SearchInstanceError = CloudflareOpError; /** Executes a semantic search query against an AI Search instance to find relevant indexed content. */ export const searchInstance: API.OperationMethod< SearchInstanceRequest, SearchInstanceResponse, SearchInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SearchInstanceRequest, output: SearchInstanceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SearchNamespaceError = CloudflareOpError; /** Performs a semantic search query against multiple AI Search instances in parallel, merging the retrieved results into a single ranked response. */ export const searchNamespace: API.OperationMethod< SearchNamespaceRequest, SearchNamespaceResponse, SearchNamespaceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SearchNamespaceRequest, output: SearchNamespaceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SearchNamespaceInstanceError = CloudflareOpError; /** Executes a semantic search query against an AI Search instance to find relevant indexed content. */ export const searchNamespaceInstance: API.OperationMethod< SearchNamespaceInstanceRequest, SearchNamespaceInstanceResponse, SearchNamespaceInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SearchNamespaceInstanceRequest, output: SearchNamespaceInstanceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type StatsInstanceError = | ValidationError | NotFound | InvalidRoute | CloudflareOpError; /** Retrieves usage statistics for AI Search instances. */ export const statsInstance: API.OperationMethod< StatsInstanceRequest, StatsInstanceResponse, StatsInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: StatsInstanceRequest, output: StatsInstanceResponse, errors: [ ValidationError, NotFound, InvalidRoute, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type StatsNamespaceInstanceError = CloudflareOpError; /** Retrieves usage statistics for AI Search instances. */ export const statsNamespaceInstance: API.OperationMethod< StatsNamespaceInstanceRequest, StatsNamespaceInstanceResponse, StatsNamespaceInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: StatsNamespaceInstanceRequest, output: StatsNamespaceInstanceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SyncNamespaceInstanceItemError = CloudflareOpError; /** Syncs an item to an AI Search instance index. */ export const syncNamespaceInstanceItem: API.OperationMethod< SyncNamespaceInstanceItemRequest, SyncNamespaceInstanceItemResponse, SyncNamespaceInstanceItemError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SyncNamespaceInstanceItemRequest, output: SyncNamespaceInstanceItemResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateInstanceError = | ValidationError | NotFound | InvalidRoute | InvalidTokenCredentials | Forbidden | CloudflareOpError; /** Update instance. */ export const updateInstance: API.OperationMethod< UpdateInstanceRequest, UpdateInstanceResponse, UpdateInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateInstanceRequest, output: UpdateInstanceResponse, errors: [ ValidationError, NotFound, InvalidRoute, InvalidTokenCredentials, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateNamespaceError = | NamespaceNotFound | Forbidden | CloudflareOpError; /** Update namespace. */ export const updateNamespace: API.OperationMethod< UpdateNamespaceRequest, UpdateNamespaceResponse, UpdateNamespaceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateNamespaceRequest, output: UpdateNamespaceResponse, errors: [ NamespaceNotFound, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateNamespaceInstanceError = | ValidationError | NamespaceNotFound | AiSearchInstanceNotFound | InvalidRoute | InvalidTokenCredentials | WebCrawlerDomainNotOwned | Forbidden | CloudflareOpError; /** Update instance. */ export const updateNamespaceInstance: API.OperationMethod< UpdateNamespaceInstanceRequest, UpdateNamespaceInstanceResponse, UpdateNamespaceInstanceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateNamespaceInstanceRequest, output: UpdateNamespaceInstanceResponse, errors: [ ValidationError, NamespaceNotFound, AiSearchInstanceNotFound, InvalidRoute, InvalidTokenCredentials, WebCrawlerDomainNotOwned, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateTokenError = | ValidationError | NotFound | InvalidRoute | TokenNotFound | Forbidden | InvalidTokenCredentials | CloudflareOpError; /** Update token. */ export const updateToken: API.OperationMethod< UpdateTokenRequest, UpdateTokenResponse, UpdateTokenError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateTokenRequest, output: UpdateTokenResponse, errors: [ ValidationError, NotFound, InvalidRoute, TokenNotFound, Forbidden, InvalidTokenCredentials, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UploadNamespaceInstanceItemError = CloudflareOpError; /** Uploads a file to a managed AI Search instance via multipart/form-data (max 4MB). */ export const uploadNamespaceInstanceItem: API.OperationMethod< UploadNamespaceInstanceItemRequest, UploadNamespaceInstanceItemResponse, UploadNamespaceInstanceItemError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UploadNamespaceInstanceItemRequest, output: UploadNamespaceInstanceItemResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, }));