/** * Wire-format types for the model toolkit: the model class taxonomy, * the Foundation Model API score profile, the minimal serving-endpoint * descriptor, and the model-lookup request / ranked-result contract. * Pure types and zod schemas - no Node-only imports - so a browser * client (or an agent tool's `inputSchema`) can validate a lookup * request and type a ranked response without dragging in server * dependencies. * * @module */ import { z } from "zod"; /** * Class of a Databricks Model Serving endpoint - its modality plus, * for chat models, a capability band. Chat endpoints split by measured * `quality` into a three-rung ladder; embeddings are a separate * modality, not a rung on that ladder. * * String enum so the value is the slug used in cache keys, logs, query * strings, and serialized configs - and is what a client sends to * request a class. */ export declare enum ModelClass { ChatThinking = "chat-thinking", ChatBalanced = "chat-balanced", ChatFast = "chat-fast", Embedding = "embedding" } export declare const ModelClassSchema: z.ZodEnum; /** * Foundation Model API quality / speed / cost scores Databricks * publishes per pay-per-token endpoint (the bars shown in the AI * Playground). Surfaced from the serving list under * `config.served_entities[].foundation_model.ai_gateway_model_profile` * so the class classifier can rank models from live, workspace-local * numbers instead of a hand-maintained table. Scales are relative and * unitless; all axes are absent for custom or brand-new endpoints that * have no profile yet. */ export declare const ModelProfileSchema: z.ZodObject<{ quality: z.ZodOptional; speed: z.ZodOptional; cost: z.ZodOptional; }, z.core.$strip>; export type ModelProfile = z.infer; /** Reasoning effort accepted by a Databricks model endpoint. */ export declare enum ReasoningEffort { None = "none", Minimal = "minimal", Low = "low", Medium = "medium", High = "high", Xhigh = "xhigh", Max = "max" } export declare const ReasoningEffortSchema: z.ZodEnum; /** Lifecycle flags associated with one discovered model. */ export declare const ModelStatusSchema: z.ZodObject<{ deprecated: z.ZodDefault; }, z.core.$strip>; export type ModelStatus = z.infer; /** * Minimal descriptor for a Databricks Model Serving endpoint - a * stable subset of the SDK type so cache hits and `/models` responses * never expose SDK internals. */ export declare const ServingEndpointSummarySchema: z.ZodObject<{ name: z.ZodString; displayName: z.ZodOptional; task: z.ZodOptional; state: z.ZodOptional; description: z.ZodOptional; supportsTools: z.ZodOptional; profile: z.ZodOptional; speed: z.ZodOptional; cost: z.ZodOptional; }, z.core.$strip>>; class: z.ZodOptional>; serviceNames: z.ZodOptional>; modelServiceName: z.ZodOptional; reasoningEfforts: z.ZodOptional>>; status: z.ZodOptional; }, z.core.$strip>>; dimension: z.ZodOptional; }, z.core.$strip>; export type ServingEndpointSummary = z.infer; /** * A model-lookup request: search string, capability ceiling, both, or * nothing. This is the caller-facing query the `@dbx-tools/model` * ranker reads - shaped as a zod schema (with per-field descriptions) * so an agent tool can adopt it directly as its `inputSchema` and a * browser client can validate args before calling the model service. * * Every field is optional: an empty query ranks the live catalogue by * class alone. The "this class and below" ceiling semantics and the * match-then-class ordering live in the service, not here - this * surface is declarative. */ export declare const ModelQuerySchema: z.ZodObject<{ search: z.ZodOptional; modelClass: z.ZodOptional>; requiresTools: z.ZodOptional; limit: z.ZodOptional; threshold: z.ZodOptional; }, z.core.$strip>; export type ModelQuery = z.infer; /** * One ranked lookup result. Backs an agent tool's `outputSchema` and a * `/models` ranked response. */ export declare const RankedModelSchema: z.ZodObject<{ endpoint: z.ZodObject<{ name: z.ZodString; displayName: z.ZodOptional; task: z.ZodOptional; state: z.ZodOptional; description: z.ZodOptional; supportsTools: z.ZodOptional; profile: z.ZodOptional; speed: z.ZodOptional; cost: z.ZodOptional; }, z.core.$strip>>; class: z.ZodOptional>; serviceNames: z.ZodOptional>; modelServiceName: z.ZodOptional; reasoningEfforts: z.ZodOptional>>; status: z.ZodOptional; }, z.core.$strip>>; dimension: z.ZodOptional; }, z.core.$strip>; modelClass: z.ZodEnum; score: z.ZodOptional; }, z.core.$strip>; export type RankedModel = z.infer;