@dbx-tools/shared-model 0.9.40 → 0.9.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/contracts.ts CHANGED
@@ -1,8 +1,22 @@
1
- /** Browser-safe model contracts owned by the TypeScript model runtime. */
1
+ /**
2
+ * Browser-safe Zod model contracts shared across dbx-tools runtimes.
3
+ *
4
+ * This module is the single owner for model wire validation and TypeScript
5
+ * types. Define schemas here and derive exported types with `z.infer`; do not
6
+ * maintain parallel interfaces or generated schema mirrors.
7
+ *
8
+ * @module
9
+ */
2
10
 
3
- /** Intent-oriented endpoint class slug. */
4
- export type ModelClass = "chat-thinking" | "chat-balanced" | "chat-fast" | "embedding";
11
+ import { z } from "zod";
5
12
 
13
+ export const ModelClassSchema = z
14
+ .enum(["chat-thinking", "chat-balanced", "chat-fast", "embedding"])
15
+ .describe("Intent-oriented Databricks Model Serving endpoint class.");
16
+
17
+ export type ModelClass = z.infer<typeof ModelClassSchema>;
18
+
19
+ /** Named runtime values for the model class contract. */
6
20
  export const ModelClass = {
7
21
  ChatThinking: "chat-thinking",
8
22
  ChatBalanced: "chat-balanced",
@@ -10,9 +24,13 @@ export const ModelClass = {
10
24
  Embedding: "embedding",
11
25
  } as const satisfies Record<string, ModelClass>;
12
26
 
13
- /** Reasoning effort value accepted by compatible model endpoints. */
14
- export type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
27
+ export const ReasoningEffortSchema = z
28
+ .enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"])
29
+ .describe("Reasoning effort value accepted by compatible model endpoints.");
30
+
31
+ export type ReasoningEffort = z.infer<typeof ReasoningEffortSchema>;
15
32
 
33
+ /** Named runtime values for the reasoning effort contract. */
16
34
  export const ReasoningEffort = {
17
35
  None: "none",
18
36
  Minimal: "minimal",
@@ -23,196 +41,257 @@ export const ReasoningEffort = {
23
41
  Max: "max",
24
42
  } as const satisfies Record<string, ReasoningEffort>;
25
43
 
26
- /** Relative quality, speed, and cost scores for an endpoint. */
27
- export interface ModelProfile {
28
- /** Relative model quality score. */
29
- readonly quality?: number;
30
- /** Relative model speed score. */
31
- readonly speed?: number;
32
- /** Relative model cost score. */
33
- readonly cost?: number;
34
- }
35
-
36
- /** Model retirement status. */
37
- export interface ModelStatus {
38
- /**
39
- * Whether Databricks lists the model as retired or deprecated.
40
- *
41
- * @default false
42
- */
43
- readonly deprecated: boolean;
44
- }
45
-
46
- /** Browser-safe normalized Model Serving endpoint metadata. */
47
- export interface ServingEndpointSummary {
48
- /** Model Serving endpoint name used for invocation. */
49
- readonly name: string;
50
- /** Human-readable endpoint or model name. */
51
- readonly displayName?: string;
52
- /** Normalized model family parsed from the endpoint identities. */
53
- readonly family?: string;
54
- /** Endpoint task, such as chat or embeddings. */
55
- readonly task?: string;
56
- /** Endpoint readiness state. */
57
- readonly state?: string;
58
- /** Endpoint description supplied by Databricks. */
59
- readonly description?: string;
60
- /** Whether the endpoint supports tool calling. */
61
- readonly supportsTools?: boolean;
62
- /** AI Gateway model profile scores. */
63
- readonly profile?: ModelProfile;
64
- /** Intent-oriented endpoint class. */
65
- readonly class?: ModelClass;
66
- /** Provider names mapped to provider-specific model names. */
67
- readonly serviceNames?: Record<string, string>;
68
- /** Foundation model name reported by the served entity. */
69
- readonly modelServiceName?: string;
70
- /** Reasoning effort values accepted by the endpoint. */
71
- readonly reasoningEfforts?: ReasoningEffort[];
72
- /** Retirement status for the served model. */
73
- readonly status?: ModelStatus;
74
- /** Embedding vector dimension measured by the caller, when available. */
75
- readonly dimension?: number;
76
- }
77
-
78
- /** Browser-safe model catalogue search and ranking controls. */
79
- export interface ModelQuery {
80
- /** Optional fuzzy model-name search. */
81
- readonly search?: string;
82
- /** Requested model-class ceiling, or the exact embedding class. */
83
- readonly modelClass?: ModelClass;
84
- /** Whether candidates must support tool calling. */
85
- readonly requiresTools?: boolean;
86
- /** Whether retired models remain eligible. */
87
- readonly includeDeprecated?: boolean;
88
- /**
89
- * Maximum number of results.
90
- *
91
- * @schema number().int().min(1).max(50).optional()
92
- */
93
- readonly limit?: number;
94
- /**
95
- * Maximum fuzzy-match distance.
96
- *
97
- * @minimum 0
98
- * @maximum 1
99
- */
100
- readonly threshold?: number;
101
- }
102
-
103
- /** One ranked model-search result. */
104
- export interface RankedModel {
105
- /** Matching endpoint metadata. */
106
- readonly endpoint: ServingEndpointSummary;
107
- /** Intent-oriented endpoint class. */
108
- readonly modelClass: ModelClass;
109
- /**
110
- * Fuzzy-match distance, where lower values are closer.
111
- *
112
- * @minimum 0
113
- * @maximum 1
114
- */
115
- readonly score?: number;
116
- }
117
-
118
- /** Capabilities derived from one normalized serving endpoint. */
119
- export interface EndpointCapabilities {
120
- /** Whether the endpoint accepts chat or Responses requests. */
121
- readonly chat: boolean;
122
- /** Whether the endpoint produces embedding vectors. */
123
- readonly embedding: boolean;
124
- /** Whether the endpoint supports a complete function-tool round trip. */
125
- readonly tools: boolean;
126
- }
127
-
128
- /** Fallback class and rank for an unscored recognized model family. */
129
- export interface FamilyClass {
130
- /** Chat capability band assigned to the family. */
131
- readonly class: ModelClass;
132
- /**
133
- * Intra-family ordering hint.
134
- *
135
- * @minimum 0
136
- */
137
- readonly rank: number;
138
- }
139
-
140
- /** Documented capabilities resolved for one model identity. */
141
- export interface ModelCapabilities {
142
- readonly responses: boolean;
143
- readonly imageInput: boolean;
144
- readonly applyPatch: boolean;
145
- readonly webSearch: boolean;
146
- }
147
-
148
- /** Published pay-per-token limits for one model. */
149
- export interface ModelRateLimits {
150
- /** @schema number().int().min(0).nullable() */
151
- readonly inputTokensPerMinute: number | null;
152
- /** @schema number().int().min(0).nullable() */
153
- readonly outputTokensPerMinute: number | null;
154
- /** @schema number().int().min(0).nullable() */
155
- readonly queriesPerHour: number | null;
156
- }
157
-
158
- /** Combined retirement, capability, and rate-limit metadata. */
159
- export interface ModelMetadata {
160
- readonly status: ModelStatus;
161
- readonly capabilities: ModelCapabilities;
162
- readonly rateLimits?: ModelRateLimits;
163
- }
164
-
165
- /** Result of resolving a fuzzy model identifier. */
166
- export interface ResolvedModel {
167
- readonly modelId: string;
168
- readonly matched: boolean;
169
- /**
170
- * @minimum 0
171
- * @maximum 1
172
- */
173
- readonly score?: number;
174
- }
175
-
176
- /** Pure controls for fuzzy endpoint resolution. */
177
- export interface ResolveModelOptions {
178
- /**
179
- * Maximum fuzzy-match distance.
180
- *
181
- * @minimum 0
182
- * @maximum 1
183
- */
184
- readonly threshold?: number;
185
- /** Whether candidates must support tool calling. */
186
- readonly requiresTools?: boolean;
187
- }
188
-
189
- /** One endpoint paired with its fuzzy-match distance. */
190
- export interface ScoredEndpoint {
191
- readonly endpoint: ServingEndpointSummary;
192
- /**
193
- * @minimum 0
194
- * @maximum 1
195
- */
196
- readonly score: number;
197
- }
198
-
199
- /** Caller intent used to resolve one model from a catalogue. */
200
- export interface ResolveModelInput {
201
- readonly explicit?: string;
202
- readonly fuzzy?: boolean;
203
- /**
204
- * @minimum 0
205
- * @maximum 1
206
- */
207
- readonly threshold?: number;
208
- readonly requiresTools?: boolean;
209
- readonly modelClass?: ModelClass;
210
- readonly fallbacks?: string[];
211
- readonly liveOnly?: boolean;
212
- }
213
-
214
- /** Selected model identifier and the policy branch that selected it. */
215
- export interface ResolvedModelSelection {
216
- readonly modelId: string;
217
- readonly source: "explicit" | "fuzzy-match" | "class" | "fallback";
218
- }
44
+ /** Existing public name for reasoning effort runtime values. */
45
+ export const ReasoningEffortValues = ReasoningEffort;
46
+
47
+ export const ModelProfileSchema = z
48
+ .object({
49
+ quality: z.number().optional().describe("Relative quality score for ranking."),
50
+ speed: z.number().optional().describe("Relative speed score for ranking."),
51
+ cost: z.number().optional().describe("Relative cost score for ranking."),
52
+ })
53
+ .describe("Relative quality, speed, and cost scores for an endpoint.");
54
+
55
+ export type ModelProfile = z.infer<typeof ModelProfileSchema>;
56
+
57
+ export const ModelStatusSchema = z
58
+ .object({
59
+ deprecated: z
60
+ .boolean()
61
+ .default(false)
62
+ .describe("True when the model should no longer be selected by default."),
63
+ })
64
+ .describe("Model retirement status.");
65
+
66
+ export type ModelStatus = z.infer<typeof ModelStatusSchema>;
67
+
68
+ export const ServingEndpointSummarySchema = z
69
+ .object({
70
+ name: z.string().describe("Serving endpoint invoke id."),
71
+ displayName: z
72
+ .string()
73
+ .optional()
74
+ .describe("Human-readable label when the workspace provides one."),
75
+ family: z
76
+ .string()
77
+ .optional()
78
+ .describe("Detected model family used for grouping and sort order."),
79
+ task: z.string().optional().describe("Databricks serving task reported for the endpoint."),
80
+ state: z.string().optional().describe("Serving endpoint lifecycle state."),
81
+ description: z.string().optional().describe("Workspace-provided endpoint description."),
82
+ supportsTools: z.boolean().optional().describe("True when the endpoint accepts tool calls."),
83
+ profile: ModelProfileSchema.optional().describe("Relative quality, speed, and cost scores."),
84
+ class: ModelClassSchema.optional().describe("Intent-oriented class assigned to this endpoint."),
85
+ serviceNames: z
86
+ .record(z.string(), z.string())
87
+ .optional()
88
+ .describe("Provider-specific service name aliases keyed by protocol."),
89
+ modelServiceName: z
90
+ .string()
91
+ .optional()
92
+ .describe("Canonical model-service name used for metadata lookup."),
93
+ reasoningEfforts: z
94
+ .array(ReasoningEffortSchema)
95
+ .optional()
96
+ .describe("Reasoning effort values this endpoint accepts."),
97
+ status: ModelStatusSchema.optional().describe("Retirement status for this endpoint."),
98
+ dimension: z
99
+ .number()
100
+ .optional()
101
+ .describe("Embedding vector size when the endpoint is an embedding model."),
102
+ })
103
+ .describe("Browser-safe normalized Model Serving endpoint metadata.");
104
+
105
+ export type ServingEndpointSummary = z.infer<typeof ServingEndpointSummarySchema>;
106
+
107
+ export const ModelQuerySchema = z
108
+ .object({
109
+ search: z
110
+ .string()
111
+ .optional()
112
+ .describe("Free-text query matched against endpoint names and labels."),
113
+ modelClass: ModelClassSchema.optional().describe(
114
+ "Restrict results to this intent-oriented class.",
115
+ ),
116
+ requiresTools: z
117
+ .boolean()
118
+ .optional()
119
+ .describe("When true, only endpoints that accept tools are returned."),
120
+ includeDeprecated: z
121
+ .boolean()
122
+ .optional()
123
+ .describe("When true, retired endpoints remain in the result set."),
124
+ limit: z
125
+ .number()
126
+ .int()
127
+ .min(1)
128
+ .max(50)
129
+ .optional()
130
+ .describe("Maximum number of ranked results to return."),
131
+ threshold: z
132
+ .number()
133
+ .min(0)
134
+ .max(1)
135
+ .optional()
136
+ .describe("Minimum fuzzy-match score in the range 0 to 1."),
137
+ })
138
+ .describe("Browser-safe model catalogue search and ranking controls.");
139
+
140
+ export type ModelQuery = z.infer<typeof ModelQuerySchema>;
141
+
142
+ export const RankedModelSchema = z
143
+ .object({
144
+ endpoint: ServingEndpointSummarySchema.describe("Normalized endpoint chosen for this result."),
145
+ modelClass: ModelClassSchema.describe("Class used to rank this result."),
146
+ score: z.number().min(0).max(1).optional().describe("Fuzzy-match score in the range 0 to 1."),
147
+ })
148
+ .describe("One ranked model-search result.");
149
+
150
+ export type RankedModel = z.infer<typeof RankedModelSchema>;
151
+
152
+ export const EndpointCapabilitiesSchema = z
153
+ .object({
154
+ chat: z.boolean().describe("True when the endpoint can serve chat completions."),
155
+ embedding: z.boolean().describe("True when the endpoint can serve embeddings."),
156
+ tools: z.boolean().describe("True when the endpoint accepts tool calls."),
157
+ })
158
+ .describe("Capabilities derived from one normalized serving endpoint.");
159
+
160
+ export type EndpointCapabilities = z.infer<typeof EndpointCapabilitiesSchema>;
161
+
162
+ export const FamilyClassSchema = z
163
+ .object({
164
+ class: ModelClassSchema.describe("Fallback class for an unscored recognized family."),
165
+ rank: z.number().min(0).describe("Relative rank among family fallbacks, starting at 0."),
166
+ })
167
+ .describe("Fallback class and rank for an unscored recognized model family.");
168
+
169
+ export type FamilyClass = z.infer<typeof FamilyClassSchema>;
170
+
171
+ export const ModelCapabilitiesSchema = z
172
+ .object({
173
+ responses: z.boolean().describe("True when the model supports the Responses API."),
174
+ imageInput: z.boolean().describe("True when the model accepts image inputs."),
175
+ applyPatch: z.boolean().describe("True when the model supports the apply-patch tool."),
176
+ webSearch: z.boolean().describe("True when the model supports web search."),
177
+ })
178
+ .describe("Documented capabilities resolved for one model identity.");
179
+
180
+ export type ModelCapabilities = z.infer<typeof ModelCapabilitiesSchema>;
181
+
182
+ export const ModelRateLimitsSchema = z
183
+ .object({
184
+ inputTokensPerMinute: z
185
+ .number()
186
+ .int()
187
+ .min(0)
188
+ .nullable()
189
+ .describe("Published input tokens per minute, or null when unpublished."),
190
+ outputTokensPerMinute: z
191
+ .number()
192
+ .int()
193
+ .min(0)
194
+ .nullable()
195
+ .describe("Published output tokens per minute, or null when unpublished."),
196
+ queriesPerHour: z
197
+ .number()
198
+ .int()
199
+ .min(0)
200
+ .nullable()
201
+ .describe("Published queries per hour, or null when unpublished."),
202
+ })
203
+ .describe("Published pay-per-token limits for one model.");
204
+
205
+ export type ModelRateLimits = z.infer<typeof ModelRateLimitsSchema>;
206
+
207
+ export const ModelMetadataSchema = z
208
+ .object({
209
+ status: ModelStatusSchema.describe("Retirement status for this model identity."),
210
+ capabilities: ModelCapabilitiesSchema.describe(
211
+ "Documented capabilities for this model identity.",
212
+ ),
213
+ rateLimits: ModelRateLimitsSchema.optional().describe("Published rate limits when available."),
214
+ })
215
+ .describe("Combined retirement, capability, and rate-limit metadata.");
216
+
217
+ export type ModelMetadata = z.infer<typeof ModelMetadataSchema>;
218
+
219
+ export const ResolvedModelSchema = z
220
+ .object({
221
+ modelId: z.string().describe("Resolved serving endpoint or model identifier."),
222
+ matched: z.boolean().describe("True when the identifier matched a catalogue entry."),
223
+ score: z.number().min(0).max(1).optional().describe("Fuzzy-match score in the range 0 to 1."),
224
+ })
225
+ .describe("Result of resolving a fuzzy model identifier.");
226
+
227
+ export type ResolvedModel = z.infer<typeof ResolvedModelSchema>;
228
+
229
+ export const ResolveModelOptionsSchema = z
230
+ .object({
231
+ threshold: z
232
+ .number()
233
+ .min(0)
234
+ .max(1)
235
+ .optional()
236
+ .describe("Minimum fuzzy-match score in the range 0 to 1."),
237
+ requiresTools: z
238
+ .boolean()
239
+ .optional()
240
+ .describe("When true, only tool-capable endpoints may match."),
241
+ })
242
+ .describe("Pure controls for fuzzy endpoint resolution.");
243
+
244
+ export type ResolveModelOptions = z.infer<typeof ResolveModelOptionsSchema>;
245
+
246
+ export const ScoredEndpointSchema = z
247
+ .object({
248
+ endpoint: ServingEndpointSummarySchema.describe("Candidate serving endpoint."),
249
+ score: z.number().min(0).max(1).describe("Fuzzy-match distance in the range 0 to 1."),
250
+ })
251
+ .describe("One endpoint paired with its fuzzy-match distance.");
252
+
253
+ export type ScoredEndpoint = z.infer<typeof ScoredEndpointSchema>;
254
+
255
+ export const ResolveModelInputSchema = z
256
+ .object({
257
+ explicit: z
258
+ .string()
259
+ .optional()
260
+ .describe("Exact model id or display name supplied by the caller."),
261
+ fuzzy: z.boolean().optional().describe("When true, unmatched explicit values may fuzzy-match."),
262
+ threshold: z
263
+ .number()
264
+ .min(0)
265
+ .max(1)
266
+ .optional()
267
+ .describe("Minimum fuzzy-match score in the range 0 to 1."),
268
+ requiresTools: z
269
+ .boolean()
270
+ .optional()
271
+ .describe("When true, only tool-capable endpoints may be selected."),
272
+ modelClass: ModelClassSchema.optional().describe(
273
+ "Preferred intent-oriented class when no explicit model matches.",
274
+ ),
275
+ fallbacks: z
276
+ .array(z.string())
277
+ .optional()
278
+ .describe("Ordered model ids tried after class selection fails."),
279
+ liveOnly: z
280
+ .boolean()
281
+ .optional()
282
+ .describe("When true, skip endpoints that are not currently ready."),
283
+ })
284
+ .describe("Caller intent used to resolve one model from a catalogue.");
285
+
286
+ export type ResolveModelInput = z.infer<typeof ResolveModelInputSchema>;
287
+
288
+ export const ResolvedModelSelectionSchema = z
289
+ .object({
290
+ modelId: z.string().describe("Selected serving endpoint identifier."),
291
+ source: z
292
+ .enum(["explicit", "fuzzy-match", "class", "fallback"])
293
+ .describe("Policy branch that selected this model."),
294
+ })
295
+ .describe("Selected model identifier and the policy branch that selected it.");
296
+
297
+ export type ResolvedModelSelection = z.infer<typeof ResolvedModelSelectionSchema>;
package/src/model.ts CHANGED
@@ -1,129 +1,10 @@
1
1
  /**
2
2
  * Browser-safe model contracts and runtime schemas.
3
3
  *
4
+ * The owning definitions live in `contracts.ts`; this module provides the
5
+ * established `model` namespace without maintaining a second contract surface.
6
+ *
4
7
  * @module
5
8
  */
6
9
 
7
- import {
8
- type EndpointCapabilities as GeneratedEndpointCapabilities,
9
- type FamilyClass as GeneratedFamilyClass,
10
- ModelClass as GeneratedModelClass,
11
- type ModelCapabilities as GeneratedModelCapabilities,
12
- type ModelMetadata as GeneratedModelMetadata,
13
- ReasoningEffort as GeneratedReasoningEffort,
14
- type ModelClass as GeneratedModelClassType,
15
- type ModelProfile as GeneratedModelProfile,
16
- type ModelQuery as GeneratedModelQuery,
17
- type ModelRateLimits as GeneratedModelRateLimits,
18
- type ModelStatus as GeneratedModelStatus,
19
- type RankedModel as GeneratedRankedModel,
20
- type ReasoningEffort as GeneratedReasoningEffortType,
21
- type ResolvedModel as GeneratedResolvedModel,
22
- type ResolvedModelSelection as GeneratedResolvedModelSelection,
23
- type ResolveModelInput as GeneratedResolveModelInput,
24
- type ResolveModelOptions as GeneratedResolveModelOptions,
25
- type ScoredEndpoint as GeneratedScoredEndpoint,
26
- type ServingEndpointSummary as GeneratedServingEndpointSummary,
27
- } from "./contracts.ts";
28
- import {
29
- endpointCapabilitiesSchema,
30
- familyClassSchema,
31
- modelClassSchema,
32
- modelCapabilitiesSchema,
33
- modelMetadataSchema,
34
- modelProfileSchema,
35
- modelQuerySchema,
36
- modelRateLimitsSchema,
37
- modelStatusSchema,
38
- rankedModelSchema,
39
- reasoningEffortSchema,
40
- resolvedModelSchema,
41
- resolvedModelSelectionSchema,
42
- resolveModelInputSchema,
43
- resolveModelOptionsSchema,
44
- scoredEndpointSchema,
45
- servingEndpointSummarySchema,
46
- } from "./generated/_schemas.ts";
47
-
48
- /** Capabilities derived from one normalized endpoint. */
49
- export type EndpointCapabilities = GeneratedEndpointCapabilities;
50
- /** Family fallback classification for an unscored model. */
51
- export type FamilyClass = GeneratedFamilyClass;
52
- /** Runtime values for the model class contract. */
53
- export const ModelClass = GeneratedModelClass;
54
- /** Class of a Databricks Model Serving endpoint. */
55
- export type ModelClass = GeneratedModelClassType;
56
- /** Runtime values for the reasoning effort contract. */
57
- export const ReasoningEffortValues = GeneratedReasoningEffort;
58
- /** Databricks AI Gateway profile scores. */
59
- export type ModelProfile = GeneratedModelProfile;
60
- /** Model catalogue query controls. */
61
- export type ModelQuery = GeneratedModelQuery;
62
- /** Published model capability metadata. */
63
- export type ModelCapabilities = GeneratedModelCapabilities;
64
- /** Combined model metadata. */
65
- export type ModelMetadata = GeneratedModelMetadata;
66
- /** Published model rate limits. */
67
- export type ModelRateLimits = GeneratedModelRateLimits;
68
- /** Model lifecycle status. */
69
- export type ModelStatus = GeneratedModelStatus;
70
- /** A ranked endpoint result. */
71
- export type RankedModel = GeneratedRankedModel;
72
- /** Provider wire value accepted as a reasoning effort. */
73
- export type ReasoningEffort = GeneratedReasoningEffortType;
74
- /** Fuzzy endpoint resolution result. */
75
- export type ResolvedModel = GeneratedResolvedModel;
76
- /** Selected model and policy source. */
77
- export type ResolvedModelSelection = GeneratedResolvedModelSelection;
78
- /** Model selection intent. */
79
- export type ResolveModelInput = GeneratedResolveModelInput;
80
- /** Fuzzy endpoint resolution controls. */
81
- export type ResolveModelOptions = GeneratedResolveModelOptions;
82
- /** Endpoint plus fuzzy-match score. */
83
- export type ScoredEndpoint = GeneratedScoredEndpoint;
84
- /** Normalized metadata for a Databricks Model Serving endpoint. */
85
- export type ServingEndpointSummary = GeneratedServingEndpointSummary;
86
-
87
- /** Runtime schema for model class wire values. */
88
- export const ModelClassSchema = modelClassSchema.describe(
89
- `Endpoint class slug: ${Object.values(GeneratedModelClass).join(", ")}.`,
90
- );
91
-
92
- /** Runtime schema for Databricks AI Gateway profile scores. */
93
- export const ModelProfileSchema = modelProfileSchema;
94
-
95
- /** Runtime schema for reasoning effort wire values. */
96
- export const ReasoningEffortSchema = reasoningEffortSchema;
97
-
98
- /** Runtime schema for model lifecycle status. */
99
- export const ModelStatusSchema = modelStatusSchema;
100
-
101
- /** Runtime schema for normalized endpoint metadata. */
102
- export const ServingEndpointSummarySchema = servingEndpointSummarySchema;
103
-
104
- /** Runtime schema for model catalogue query controls. */
105
- export const ModelQuerySchema = modelQuerySchema;
106
-
107
- /** Runtime schema for a ranked endpoint result. */
108
- export const RankedModelSchema = rankedModelSchema;
109
-
110
- /** Runtime schema for endpoint capabilities. */
111
- export const EndpointCapabilitiesSchema = endpointCapabilitiesSchema;
112
- /** Runtime schema for a family fallback classification. */
113
- export const FamilyClassSchema = familyClassSchema;
114
- /** Runtime schema for documented model capabilities. */
115
- export const ModelCapabilitiesSchema = modelCapabilitiesSchema;
116
- /** Runtime schema for combined model metadata. */
117
- export const ModelMetadataSchema = modelMetadataSchema;
118
- /** Runtime schema for published model rate limits. */
119
- export const ModelRateLimitsSchema = modelRateLimitsSchema;
120
- /** Runtime schema for a fuzzy endpoint resolution result. */
121
- export const ResolvedModelSchema = resolvedModelSchema;
122
- /** Runtime schema for fuzzy endpoint resolution controls. */
123
- export const ResolveModelOptionsSchema = resolveModelOptionsSchema;
124
- /** Runtime schema for an endpoint plus fuzzy score. */
125
- export const ScoredEndpointSchema = scoredEndpointSchema;
126
- /** Runtime schema for model selection intent. */
127
- export const ResolveModelInputSchema = resolveModelInputSchema;
128
- /** Runtime schema for a selected model and policy source. */
129
- export const ResolvedModelSelectionSchema = resolvedModelSelectionSchema;
10
+ export * from "./contracts.ts";