@llmops/core 0.6.5 → 0.6.7-beta.1

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/dist/index.cjs CHANGED
@@ -632,13 +632,24 @@ const inlineProviderConfigSchema = require_db.object({
632
632
  */
633
633
  const providersConfigSchema = require_db.array(inlineProviderConfigSchema).optional();
634
634
  /**
635
+ * Schema for OTLP endpoint configuration.
636
+ * When configured, trace/span data is forwarded to this endpoint
637
+ * instead of being stored in PostgreSQL.
638
+ */
639
+ const otlpConfigSchema = require_db.object({
640
+ endpoint: require_db.string().url("OTLP endpoint must be a valid URL").refine((url) => url.startsWith("http://") || url.startsWith("https://"), "OTLP endpoint must use http:// or https://"),
641
+ headers: require_db.record(require_db.string(), require_db.string()).optional(),
642
+ protocol: require_db._enum(["http/protobuf", "http/json"]).optional().default("http/protobuf")
643
+ }).optional();
644
+ /**
635
645
  * Base schema without refinements (used for transform)
636
646
  */
637
647
  const llmopsConfigBaseSchema = require_db.object({
638
648
  database: require_db.any().optional(),
639
649
  basePath: require_db.string().min(1, "Base path cannot be empty").refine((path) => path.startsWith("/"), "Base path must start with a forward slash").default("/llmops"),
640
650
  schema: require_db.string().optional().default("llmops"),
641
- providers: providersConfigSchema
651
+ providers: providersConfigSchema,
652
+ otlp: otlpConfigSchema
642
653
  });
643
654
  const llmopsConfigSchema = llmopsConfigBaseSchema.transform((config) => ({
644
655
  ...config,
package/dist/index.d.cts CHANGED
@@ -495,11 +495,24 @@ declare const llmopsConfigSchema: z.ZodPipe<z.ZodObject<{
495
495
  requestTimeout: z.ZodOptional<z.ZodNumber>;
496
496
  forwardHeaders: z.ZodOptional<z.ZodArray<z.ZodString>>;
497
497
  }, z.core.$loose>>>;
498
+ otlp: z.ZodOptional<z.ZodObject<{
499
+ endpoint: z.ZodString;
500
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
501
+ protocol: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
502
+ "http/protobuf": "http/protobuf";
503
+ "http/json": "http/json";
504
+ }>>>;
505
+ }, z.core.$strip>>;
498
506
  }, z.core.$strip>, z.ZodTransform<{
499
507
  providers: InlineProviderConfig[];
500
508
  basePath: string;
501
509
  schema: string;
502
510
  database?: any;
511
+ otlp?: {
512
+ endpoint: string;
513
+ protocol: "http/protobuf" | "http/json";
514
+ headers?: Record<string, string> | undefined;
515
+ } | undefined;
503
516
  }, {
504
517
  basePath: string;
505
518
  schema: string;
@@ -513,6 +526,11 @@ declare const llmopsConfigSchema: z.ZodPipe<z.ZodObject<{
513
526
  requestTimeout?: number | undefined;
514
527
  forwardHeaders?: string[] | undefined;
515
528
  }[] | undefined;
529
+ otlp?: {
530
+ endpoint: string;
531
+ protocol: "http/protobuf" | "http/json";
532
+ headers?: Record<string, string> | undefined;
533
+ } | undefined;
516
534
  }>>;
517
535
  /**
518
536
  * Validated LLMOps configuration
@@ -520,11 +538,17 @@ declare const llmopsConfigSchema: z.ZodPipe<z.ZodObject<{
520
538
  * Note: schema is optional in input but always present after validation
521
539
  * Either database or providers must be present (enforced by schema)
522
540
  */
541
+ type OtlpConfig = {
542
+ endpoint: string;
543
+ headers?: Record<string, string>;
544
+ protocol: 'http/protobuf' | 'http/json';
545
+ };
523
546
  type ValidatedLLMOpsConfig = {
524
547
  database?: unknown;
525
548
  basePath: string;
526
549
  schema: string;
527
550
  providers?: InlineProvidersConfig;
551
+ otlp?: OtlpConfig;
528
552
  };
529
553
  /**
530
554
  * Input type for LLMOps configuration (before validation)
@@ -536,6 +560,11 @@ type LLMOpsConfigInput = {
536
560
  basePath?: string;
537
561
  schema?: string;
538
562
  providers?: InlineProvidersConfig;
563
+ otlp?: {
564
+ endpoint: string;
565
+ headers?: Record<string, string>;
566
+ protocol?: 'http/protobuf' | 'http/json';
567
+ };
539
568
  };
540
569
  declare function validateLLMOpsConfig(config?: unknown): ValidatedLLMOpsConfig;
541
570
  //#endregion
@@ -1259,13 +1288,13 @@ declare const createConfigDataLayer: (db: Kysely<Database>) => {
1259
1288
  modelName: string | null;
1260
1289
  jsonData: Record<string, unknown> | null;
1261
1290
  variantVersionId: string | null;
1262
- id: string;
1263
1291
  slug: string;
1264
1292
  name: string | undefined;
1293
+ id: string;
1265
1294
  createdAt: Date;
1266
1295
  updatedAt: Date;
1267
- variantName: string | null;
1268
1296
  variantId: string | null;
1297
+ variantName: string | null;
1269
1298
  }[]>;
1270
1299
  };
1271
1300
  //#endregion
@@ -1370,13 +1399,13 @@ declare const createConfigVariantDataLayer: (db: Kysely<Database>) => {
1370
1399
  modelName: string;
1371
1400
  jsonData: Record<string, unknown>;
1372
1401
  } | null;
1373
- configName: string | null | undefined;
1402
+ configId: string;
1374
1403
  id: string;
1375
1404
  createdAt: Date;
1376
1405
  updatedAt: Date;
1377
1406
  variantId: string;
1378
- configId: string;
1379
1407
  variantName: string | null;
1408
+ configName: string | null | undefined;
1380
1409
  } | undefined>;
1381
1410
  /**
1382
1411
  * Get config variants with details including latest version data
@@ -1395,11 +1424,11 @@ declare const createConfigVariantDataLayer: (db: Kysely<Database>) => {
1395
1424
  modelName: string;
1396
1425
  jsonData: Record<string, unknown>;
1397
1426
  } | null;
1427
+ configId: string;
1398
1428
  id: string;
1399
1429
  createdAt: Date;
1400
1430
  updatedAt: Date;
1401
1431
  variantId: string;
1402
- configId: string;
1403
1432
  name: string | null;
1404
1433
  }[]>;
1405
1434
  /**
@@ -2235,13 +2264,13 @@ declare const createLLMRequestsDataLayer: (db: Kysely<Database>) => {
2235
2264
  * Get cost breakdown by config
2236
2265
  */
2237
2266
  getCostByConfig: (params: z$1.infer<typeof dateRangeSchema>) => Promise<{
2267
+ configName: string | null | undefined;
2238
2268
  configId: string | null;
2239
2269
  totalCost: number;
2240
2270
  totalInputCost: number;
2241
2271
  totalOutputCost: number;
2242
2272
  totalTokens: number;
2243
2273
  requestCount: number;
2244
- configName: string | null | undefined;
2245
2274
  configSlug: string | null;
2246
2275
  }[]>;
2247
2276
  /**
@@ -3179,6 +3208,8 @@ declare const createTargetingRulesDataLayer: (db: Kysely<Database>) => {
3179
3208
  variantModelName: string | null;
3180
3209
  pinnedVersion: number | null | undefined;
3181
3210
  latestVersion: number | null | undefined;
3211
+ variantId: string | null;
3212
+ variantName: string | null;
3182
3213
  id: string;
3183
3214
  createdAt: Date;
3184
3215
  updatedAt: Date;
@@ -3190,10 +3221,8 @@ declare const createTargetingRulesDataLayer: (db: Kysely<Database>) => {
3190
3221
  priority: number;
3191
3222
  enabled: boolean;
3192
3223
  conditions: Record<string, unknown>;
3193
- variantId: string | null;
3194
3224
  environmentName: string | null;
3195
3225
  environmentSlug: string | null;
3196
- variantName: string | null;
3197
3226
  }[]>;
3198
3227
  /**
3199
3228
  * Set a single variant for an environment (replaces existing).
@@ -4192,4 +4221,4 @@ declare class ManifestRouter {
4192
4221
  routeWithWeights(configIdOrSlug: string, environmentId: string, context?: RoutingContext): RoutingResult | null;
4193
4222
  }
4194
4223
  //#endregion
4195
- export { type AnthropicProviderConfig, type AnyProviderConfig, AuthClientDatabaseConfig, AuthClientOptions, type AzureAIProviderConfig, type AzureOpenAIProviderConfig, BaseCacheConfig, type BaseProviderConfig, type BedrockProviderConfig, COST_SUMMARY_GROUP_BY, CacheBackend, CacheBackendType, CacheConfig, CacheEntry, CacheOptions, CacheService, CacheStats, ChatCompletionCreateParamsBase, Config, ConfigVariant, ConfigVariantsDataLayer, ConfigVariantsTable, ConfigsDataLayer, ConfigsTable, type CortexProviderConfig, CostResult, CostSummaryGroupBy, DEFAULT_PROVIDER_ENV_VARS, DataLayer, Database, DatabaseConnection, DatabaseOptions, DatabaseType, Dataset, DatasetRecord, DatasetRecordsTable, DatasetVersion, DatasetVersionRecord, DatasetVersionRecordsTable, DatasetVersionsTable, DatasetsDataLayer, DatasetsTable, Environment, EnvironmentSecret, EnvironmentSecretsDataLayer, EnvironmentSecretsTable, EnvironmentsDataLayer, EnvironmentsTable, FileCacheBackend, FileCacheConfig, type FireworksAIProviderConfig, GatewayManifest, type GoogleProviderConfig, GuardrailConfig, GuardrailConfigsDataLayer, GuardrailConfigsTable, GuardrailResult, GuardrailResults, type HuggingFaceProviderConfig, type InlineProviderConfig, type InlineProvidersConfig, Insertable, LLMOPS_INTERNAL_HEADER, LLMOPS_REQUEST_ID_HEADER, LLMOPS_SESSION_ID_HEADER, LLMOPS_SPAN_ID_HEADER, LLMOPS_SPAN_NAME_HEADER, LLMOPS_TRACE_ID_HEADER, LLMOPS_TRACE_NAME_HEADER, LLMOPS_USER_ID_HEADER, LLMOpsClient, LLMOpsConfig, type LLMOpsConfigInput, LLMOpsPricingProvider, LLMRequest, LLMRequestInsert, LLMRequestsDataLayer, LLMRequestsTable, MS, ManifestBuilder, ManifestConfig, ManifestEnvironment, ManifestGuardrail, ManifestProviderGuardrailOverride, ManifestRouter, ManifestService, ManifestTargetingRule, ManifestVariantVersion, MemoryCacheBackend, MemoryCacheConfig, MigrationOptions, MigrationResult, type MistralAIProviderConfig, ModelPricing, type OpenAIProviderConfig, type OracleProviderConfig, Playground, PlaygroundColumn, PlaygroundResult, PlaygroundResultsDataLayer, PlaygroundResultsTable, PlaygroundRun, PlaygroundRunsDataLayer, PlaygroundRunsTable, PlaygroundsDataLayer, PlaygroundsTable, Prettify, PricingProvider, ProviderConfig, type ProviderConfigMap, ProviderConfigsDataLayer, ProviderConfigsTable, ProviderGuardrailOverride, ProviderGuardrailOverridesDataLayer, ProviderGuardrailOverridesTable, type ProvidersConfig, RoutingContext, RoutingResult, SCHEMA_METADATA, type SagemakerProviderConfig, Selectable, Span, SpanEvent, SpanEventInsert, SpanEventsTable, SpanInsert, SpansTable, type StabilityAIProviderConfig, SupportedProviders, TableName, TargetingRule, TargetingRulesDataLayer, TargetingRulesTable, Trace, TraceUpsert, TracesDataLayer, TracesTable, Updateable, UsageData, type ValidatedLLMOpsConfig, Variant, VariantJsonData, VariantVersion, VariantVersionsDataLayer, VariantVersionsTable, VariantsDataLayer, VariantsTable, type VertexAIProviderConfig, type WorkersAIProviderConfig, WorkspaceSettings, WorkspaceSettingsDataLayer, WorkspaceSettingsTable, calculateCacheAwareCost, calculateCost, chatCompletionCreateParamsBaseSchema, configVariantsSchema, configsSchema, createConfigDataLayer, createConfigVariantDataLayer, createDataLayer, createDatabase, createDatabaseFromConnection, createDatasetsDataLayer, createEnvironmentDataLayer, createEnvironmentSecretDataLayer, createGuardrailConfigsDataLayer, createLLMRequestsDataLayer, createNeonDialect, createPlaygroundDataLayer, createPlaygroundResultsDataLayer, createPlaygroundRunsDataLayer, createProviderConfigsDataLayer, createProviderGuardrailOverridesDataLayer, createTargetingRulesDataLayer, createTracesDataLayer, createVariantDataLayer, createVariantVersionsDataLayer, createWorkspaceSettingsDataLayer, datasetRecordsSchema, datasetVersionRecordsSchema, datasetVersionsSchema, datasetsSchema, detectDatabaseType, dollarsToMicroDollars, environmentSecretsSchema, environmentsSchema, executeWithSchema, formatCost, gateway, generateId, getAuthClientOptions, getDefaultPricingProvider, getDefaultProviders, getMigrations, guardrailConfigsSchema, llmRequestsSchema, llmopsConfigSchema, logger, matchType, mergeWithDefaultProviders, microDollarsToDollars, parsePartialTableData, parseTableData, playgroundColumnSchema, playgroundResultsSchema, playgroundRunsSchema, playgroundsSchema, providerConfigsSchema, providerGuardrailOverridesSchema, runAutoMigrations, schemas, spanEventsSchema, spansSchema, targetingRulesSchema, tracesSchema, validateLLMOpsConfig, validatePartialTableData, validateTableData, variantJsonDataSchema, variantVersionsSchema, variantsSchema, workspaceSettingsSchema };
4224
+ export { type AnthropicProviderConfig, type AnyProviderConfig, AuthClientDatabaseConfig, AuthClientOptions, type AzureAIProviderConfig, type AzureOpenAIProviderConfig, BaseCacheConfig, type BaseProviderConfig, type BedrockProviderConfig, COST_SUMMARY_GROUP_BY, CacheBackend, CacheBackendType, CacheConfig, CacheEntry, CacheOptions, CacheService, CacheStats, ChatCompletionCreateParamsBase, Config, ConfigVariant, ConfigVariantsDataLayer, ConfigVariantsTable, ConfigsDataLayer, ConfigsTable, type CortexProviderConfig, CostResult, CostSummaryGroupBy, DEFAULT_PROVIDER_ENV_VARS, DataLayer, Database, DatabaseConnection, DatabaseOptions, DatabaseType, Dataset, DatasetRecord, DatasetRecordsTable, DatasetVersion, DatasetVersionRecord, DatasetVersionRecordsTable, DatasetVersionsTable, DatasetsDataLayer, DatasetsTable, Environment, EnvironmentSecret, EnvironmentSecretsDataLayer, EnvironmentSecretsTable, EnvironmentsDataLayer, EnvironmentsTable, FileCacheBackend, FileCacheConfig, type FireworksAIProviderConfig, GatewayManifest, type GoogleProviderConfig, GuardrailConfig, GuardrailConfigsDataLayer, GuardrailConfigsTable, GuardrailResult, GuardrailResults, type HuggingFaceProviderConfig, type InlineProviderConfig, type InlineProvidersConfig, Insertable, LLMOPS_INTERNAL_HEADER, LLMOPS_REQUEST_ID_HEADER, LLMOPS_SESSION_ID_HEADER, LLMOPS_SPAN_ID_HEADER, LLMOPS_SPAN_NAME_HEADER, LLMOPS_TRACE_ID_HEADER, LLMOPS_TRACE_NAME_HEADER, LLMOPS_USER_ID_HEADER, LLMOpsClient, LLMOpsConfig, type LLMOpsConfigInput, LLMOpsPricingProvider, LLMRequest, LLMRequestInsert, LLMRequestsDataLayer, LLMRequestsTable, MS, ManifestBuilder, ManifestConfig, ManifestEnvironment, ManifestGuardrail, ManifestProviderGuardrailOverride, ManifestRouter, ManifestService, ManifestTargetingRule, ManifestVariantVersion, MemoryCacheBackend, MemoryCacheConfig, MigrationOptions, MigrationResult, type MistralAIProviderConfig, ModelPricing, type OpenAIProviderConfig, type OracleProviderConfig, type OtlpConfig, Playground, PlaygroundColumn, PlaygroundResult, PlaygroundResultsDataLayer, PlaygroundResultsTable, PlaygroundRun, PlaygroundRunsDataLayer, PlaygroundRunsTable, PlaygroundsDataLayer, PlaygroundsTable, Prettify, PricingProvider, ProviderConfig, type ProviderConfigMap, ProviderConfigsDataLayer, ProviderConfigsTable, ProviderGuardrailOverride, ProviderGuardrailOverridesDataLayer, ProviderGuardrailOverridesTable, type ProvidersConfig, RoutingContext, RoutingResult, SCHEMA_METADATA, type SagemakerProviderConfig, Selectable, Span, SpanEvent, SpanEventInsert, SpanEventsTable, SpanInsert, SpansTable, type StabilityAIProviderConfig, SupportedProviders, TableName, TargetingRule, TargetingRulesDataLayer, TargetingRulesTable, Trace, TraceUpsert, TracesDataLayer, TracesTable, Updateable, UsageData, type ValidatedLLMOpsConfig, Variant, VariantJsonData, VariantVersion, VariantVersionsDataLayer, VariantVersionsTable, VariantsDataLayer, VariantsTable, type VertexAIProviderConfig, type WorkersAIProviderConfig, WorkspaceSettings, WorkspaceSettingsDataLayer, WorkspaceSettingsTable, calculateCacheAwareCost, calculateCost, chatCompletionCreateParamsBaseSchema, configVariantsSchema, configsSchema, createConfigDataLayer, createConfigVariantDataLayer, createDataLayer, createDatabase, createDatabaseFromConnection, createDatasetsDataLayer, createEnvironmentDataLayer, createEnvironmentSecretDataLayer, createGuardrailConfigsDataLayer, createLLMRequestsDataLayer, createNeonDialect, createPlaygroundDataLayer, createPlaygroundResultsDataLayer, createPlaygroundRunsDataLayer, createProviderConfigsDataLayer, createProviderGuardrailOverridesDataLayer, createTargetingRulesDataLayer, createTracesDataLayer, createVariantDataLayer, createVariantVersionsDataLayer, createWorkspaceSettingsDataLayer, datasetRecordsSchema, datasetVersionRecordsSchema, datasetVersionsSchema, datasetsSchema, detectDatabaseType, dollarsToMicroDollars, environmentSecretsSchema, environmentsSchema, executeWithSchema, formatCost, gateway, generateId, getAuthClientOptions, getDefaultPricingProvider, getDefaultProviders, getMigrations, guardrailConfigsSchema, llmRequestsSchema, llmopsConfigSchema, logger, matchType, mergeWithDefaultProviders, microDollarsToDollars, parsePartialTableData, parseTableData, playgroundColumnSchema, playgroundResultsSchema, playgroundRunsSchema, playgroundsSchema, providerConfigsSchema, providerGuardrailOverridesSchema, runAutoMigrations, schemas, spanEventsSchema, spansSchema, targetingRulesSchema, tracesSchema, validateLLMOpsConfig, validatePartialTableData, validateTableData, variantJsonDataSchema, variantVersionsSchema, variantsSchema, workspaceSettingsSchema };
package/dist/index.d.mts CHANGED
@@ -495,11 +495,24 @@ declare const llmopsConfigSchema: z.ZodPipe<z.ZodObject<{
495
495
  requestTimeout: z.ZodOptional<z.ZodNumber>;
496
496
  forwardHeaders: z.ZodOptional<z.ZodArray<z.ZodString>>;
497
497
  }, z.core.$loose>>>;
498
+ otlp: z.ZodOptional<z.ZodObject<{
499
+ endpoint: z.ZodString;
500
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
501
+ protocol: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
502
+ "http/protobuf": "http/protobuf";
503
+ "http/json": "http/json";
504
+ }>>>;
505
+ }, z.core.$strip>>;
498
506
  }, z.core.$strip>, z.ZodTransform<{
499
507
  providers: InlineProviderConfig[];
500
508
  basePath: string;
501
509
  schema: string;
502
510
  database?: any;
511
+ otlp?: {
512
+ endpoint: string;
513
+ protocol: "http/protobuf" | "http/json";
514
+ headers?: Record<string, string> | undefined;
515
+ } | undefined;
503
516
  }, {
504
517
  basePath: string;
505
518
  schema: string;
@@ -513,6 +526,11 @@ declare const llmopsConfigSchema: z.ZodPipe<z.ZodObject<{
513
526
  requestTimeout?: number | undefined;
514
527
  forwardHeaders?: string[] | undefined;
515
528
  }[] | undefined;
529
+ otlp?: {
530
+ endpoint: string;
531
+ protocol: "http/protobuf" | "http/json";
532
+ headers?: Record<string, string> | undefined;
533
+ } | undefined;
516
534
  }>>;
517
535
  /**
518
536
  * Validated LLMOps configuration
@@ -520,11 +538,17 @@ declare const llmopsConfigSchema: z.ZodPipe<z.ZodObject<{
520
538
  * Note: schema is optional in input but always present after validation
521
539
  * Either database or providers must be present (enforced by schema)
522
540
  */
541
+ type OtlpConfig = {
542
+ endpoint: string;
543
+ headers?: Record<string, string>;
544
+ protocol: 'http/protobuf' | 'http/json';
545
+ };
523
546
  type ValidatedLLMOpsConfig = {
524
547
  database?: unknown;
525
548
  basePath: string;
526
549
  schema: string;
527
550
  providers?: InlineProvidersConfig;
551
+ otlp?: OtlpConfig;
528
552
  };
529
553
  /**
530
554
  * Input type for LLMOps configuration (before validation)
@@ -536,6 +560,11 @@ type LLMOpsConfigInput = {
536
560
  basePath?: string;
537
561
  schema?: string;
538
562
  providers?: InlineProvidersConfig;
563
+ otlp?: {
564
+ endpoint: string;
565
+ headers?: Record<string, string>;
566
+ protocol?: 'http/protobuf' | 'http/json';
567
+ };
539
568
  };
540
569
  declare function validateLLMOpsConfig(config?: unknown): ValidatedLLMOpsConfig;
541
570
  //#endregion
@@ -1259,13 +1288,13 @@ declare const createConfigDataLayer: (db: Kysely<Database>) => {
1259
1288
  modelName: string | null;
1260
1289
  jsonData: Record<string, unknown> | null;
1261
1290
  variantVersionId: string | null;
1262
- id: string;
1263
1291
  slug: string;
1264
1292
  name: string | undefined;
1293
+ id: string;
1265
1294
  createdAt: Date;
1266
1295
  updatedAt: Date;
1267
- variantName: string | null;
1268
1296
  variantId: string | null;
1297
+ variantName: string | null;
1269
1298
  }[]>;
1270
1299
  };
1271
1300
  //#endregion
@@ -1370,13 +1399,13 @@ declare const createConfigVariantDataLayer: (db: Kysely<Database>) => {
1370
1399
  modelName: string;
1371
1400
  jsonData: Record<string, unknown>;
1372
1401
  } | null;
1373
- configName: string | null | undefined;
1402
+ configId: string;
1374
1403
  id: string;
1375
1404
  createdAt: Date;
1376
1405
  updatedAt: Date;
1377
1406
  variantId: string;
1378
- configId: string;
1379
1407
  variantName: string | null;
1408
+ configName: string | null | undefined;
1380
1409
  } | undefined>;
1381
1410
  /**
1382
1411
  * Get config variants with details including latest version data
@@ -1395,11 +1424,11 @@ declare const createConfigVariantDataLayer: (db: Kysely<Database>) => {
1395
1424
  modelName: string;
1396
1425
  jsonData: Record<string, unknown>;
1397
1426
  } | null;
1427
+ configId: string;
1398
1428
  id: string;
1399
1429
  createdAt: Date;
1400
1430
  updatedAt: Date;
1401
1431
  variantId: string;
1402
- configId: string;
1403
1432
  name: string | null;
1404
1433
  }[]>;
1405
1434
  /**
@@ -2235,13 +2264,13 @@ declare const createLLMRequestsDataLayer: (db: Kysely<Database>) => {
2235
2264
  * Get cost breakdown by config
2236
2265
  */
2237
2266
  getCostByConfig: (params: z$1.infer<typeof dateRangeSchema>) => Promise<{
2267
+ configName: string | null | undefined;
2238
2268
  configId: string | null;
2239
2269
  totalCost: number;
2240
2270
  totalInputCost: number;
2241
2271
  totalOutputCost: number;
2242
2272
  totalTokens: number;
2243
2273
  requestCount: number;
2244
- configName: string | null | undefined;
2245
2274
  configSlug: string | null;
2246
2275
  }[]>;
2247
2276
  /**
@@ -3179,6 +3208,8 @@ declare const createTargetingRulesDataLayer: (db: Kysely<Database>) => {
3179
3208
  variantModelName: string | null;
3180
3209
  pinnedVersion: number | null | undefined;
3181
3210
  latestVersion: number | null | undefined;
3211
+ variantId: string | null;
3212
+ variantName: string | null;
3182
3213
  id: string;
3183
3214
  createdAt: Date;
3184
3215
  updatedAt: Date;
@@ -3190,10 +3221,8 @@ declare const createTargetingRulesDataLayer: (db: Kysely<Database>) => {
3190
3221
  priority: number;
3191
3222
  enabled: boolean;
3192
3223
  conditions: Record<string, unknown>;
3193
- variantId: string | null;
3194
3224
  environmentName: string | null;
3195
3225
  environmentSlug: string | null;
3196
- variantName: string | null;
3197
3226
  }[]>;
3198
3227
  /**
3199
3228
  * Set a single variant for an environment (replaces existing).
@@ -4192,4 +4221,4 @@ declare class ManifestRouter {
4192
4221
  routeWithWeights(configIdOrSlug: string, environmentId: string, context?: RoutingContext): RoutingResult | null;
4193
4222
  }
4194
4223
  //#endregion
4195
- export { type AnthropicProviderConfig, type AnyProviderConfig, AuthClientDatabaseConfig, AuthClientOptions, type AzureAIProviderConfig, type AzureOpenAIProviderConfig, BaseCacheConfig, type BaseProviderConfig, type BedrockProviderConfig, COST_SUMMARY_GROUP_BY, CacheBackend, CacheBackendType, CacheConfig, CacheEntry, CacheOptions, CacheService, CacheStats, ChatCompletionCreateParamsBase, type Config, type ConfigVariant, type ConfigVariantsDataLayer, type ConfigVariantsTable, type ConfigsDataLayer, type ConfigsTable, type CortexProviderConfig, CostResult, type CostSummaryGroupBy, DEFAULT_PROVIDER_ENV_VARS, type DataLayer, type Database, DatabaseConnection, DatabaseOptions, DatabaseType, type Dataset, type DatasetRecord, DatasetRecordsTable, type DatasetVersion, type DatasetVersionRecord, DatasetVersionRecordsTable, DatasetVersionsTable, type DatasetsDataLayer, DatasetsTable, type Environment, type EnvironmentSecret, type EnvironmentSecretsDataLayer, type EnvironmentSecretsTable, type EnvironmentsDataLayer, type EnvironmentsTable, FileCacheBackend, FileCacheConfig, type FireworksAIProviderConfig, type GatewayManifest, type GoogleProviderConfig, type GuardrailConfig, type GuardrailConfigsDataLayer, GuardrailConfigsTable, type GuardrailResult, type GuardrailResults, type HuggingFaceProviderConfig, type InlineProviderConfig, type InlineProvidersConfig, Insertable, LLMOPS_INTERNAL_HEADER, LLMOPS_REQUEST_ID_HEADER, LLMOPS_SESSION_ID_HEADER, LLMOPS_SPAN_ID_HEADER, LLMOPS_SPAN_NAME_HEADER, LLMOPS_TRACE_ID_HEADER, LLMOPS_TRACE_NAME_HEADER, LLMOPS_USER_ID_HEADER, LLMOpsClient, LLMOpsConfig, type LLMOpsConfigInput, LLMOpsPricingProvider, type LLMRequest, type LLMRequestInsert, type LLMRequestsDataLayer, LLMRequestsTable, MS, ManifestBuilder, type ManifestConfig, type ManifestEnvironment, type ManifestGuardrail, type ManifestProviderGuardrailOverride, ManifestRouter, ManifestService, type ManifestTargetingRule, type ManifestVariantVersion, MemoryCacheBackend, MemoryCacheConfig, MigrationOptions, MigrationResult, type MistralAIProviderConfig, ModelPricing, type OpenAIProviderConfig, type OracleProviderConfig, type Playground, type PlaygroundColumn, type PlaygroundResult, type PlaygroundResultsDataLayer, PlaygroundResultsTable, type PlaygroundRun, type PlaygroundRunsDataLayer, PlaygroundRunsTable, type PlaygroundsDataLayer, PlaygroundsTable, Prettify, PricingProvider, type ProviderConfig, type ProviderConfigMap, type ProviderConfigsDataLayer, ProviderConfigsTable, type ProviderGuardrailOverride, type ProviderGuardrailOverridesDataLayer, ProviderGuardrailOverridesTable, type ProvidersConfig, type RoutingContext, type RoutingResult, SCHEMA_METADATA, type SagemakerProviderConfig, Selectable, Span, SpanEvent, type SpanEventInsert, SpanEventsTable, type SpanInsert, SpansTable, type StabilityAIProviderConfig, SupportedProviders, type TableName, type TargetingRule, type TargetingRulesDataLayer, type TargetingRulesTable, Trace, type TraceUpsert, type TracesDataLayer, TracesTable, Updateable, UsageData, type ValidatedLLMOpsConfig, type Variant, VariantJsonData, type VariantVersion, type VariantVersionsDataLayer, VariantVersionsTable, type VariantsDataLayer, type VariantsTable, type VertexAIProviderConfig, type WorkersAIProviderConfig, type WorkspaceSettings, type WorkspaceSettingsDataLayer, WorkspaceSettingsTable, calculateCacheAwareCost, calculateCost, chatCompletionCreateParamsBaseSchema, configVariantsSchema, configsSchema, createConfigDataLayer, createConfigVariantDataLayer, createDataLayer, createDatabase, createDatabaseFromConnection, createDatasetsDataLayer, createEnvironmentDataLayer, createEnvironmentSecretDataLayer, createGuardrailConfigsDataLayer, createLLMRequestsDataLayer, createNeonDialect, createPlaygroundDataLayer, createPlaygroundResultsDataLayer, createPlaygroundRunsDataLayer, createProviderConfigsDataLayer, createProviderGuardrailOverridesDataLayer, createTargetingRulesDataLayer, createTracesDataLayer, createVariantDataLayer, createVariantVersionsDataLayer, createWorkspaceSettingsDataLayer, datasetRecordsSchema, datasetVersionRecordsSchema, datasetVersionsSchema, datasetsSchema, detectDatabaseType, dollarsToMicroDollars, environmentSecretsSchema, environmentsSchema, executeWithSchema, formatCost, gateway, generateId, getAuthClientOptions, getDefaultPricingProvider, getDefaultProviders, getMigrations, guardrailConfigsSchema, llmRequestsSchema, llmopsConfigSchema, logger, matchType, mergeWithDefaultProviders, microDollarsToDollars, parsePartialTableData, parseTableData, playgroundColumnSchema, playgroundResultsSchema, playgroundRunsSchema, playgroundsSchema, providerConfigsSchema, providerGuardrailOverridesSchema, runAutoMigrations, schemas, spanEventsSchema, spansSchema, targetingRulesSchema, tracesSchema, validateLLMOpsConfig, validatePartialTableData, validateTableData, variantJsonDataSchema, variantVersionsSchema, variantsSchema, workspaceSettingsSchema };
4224
+ export { type AnthropicProviderConfig, type AnyProviderConfig, AuthClientDatabaseConfig, AuthClientOptions, type AzureAIProviderConfig, type AzureOpenAIProviderConfig, BaseCacheConfig, type BaseProviderConfig, type BedrockProviderConfig, COST_SUMMARY_GROUP_BY, CacheBackend, CacheBackendType, CacheConfig, CacheEntry, CacheOptions, CacheService, CacheStats, ChatCompletionCreateParamsBase, type Config, type ConfigVariant, type ConfigVariantsDataLayer, type ConfigVariantsTable, type ConfigsDataLayer, type ConfigsTable, type CortexProviderConfig, CostResult, type CostSummaryGroupBy, DEFAULT_PROVIDER_ENV_VARS, type DataLayer, type Database, DatabaseConnection, DatabaseOptions, DatabaseType, type Dataset, type DatasetRecord, DatasetRecordsTable, type DatasetVersion, type DatasetVersionRecord, DatasetVersionRecordsTable, DatasetVersionsTable, type DatasetsDataLayer, DatasetsTable, type Environment, type EnvironmentSecret, type EnvironmentSecretsDataLayer, type EnvironmentSecretsTable, type EnvironmentsDataLayer, type EnvironmentsTable, FileCacheBackend, FileCacheConfig, type FireworksAIProviderConfig, type GatewayManifest, type GoogleProviderConfig, type GuardrailConfig, type GuardrailConfigsDataLayer, GuardrailConfigsTable, type GuardrailResult, type GuardrailResults, type HuggingFaceProviderConfig, type InlineProviderConfig, type InlineProvidersConfig, Insertable, LLMOPS_INTERNAL_HEADER, LLMOPS_REQUEST_ID_HEADER, LLMOPS_SESSION_ID_HEADER, LLMOPS_SPAN_ID_HEADER, LLMOPS_SPAN_NAME_HEADER, LLMOPS_TRACE_ID_HEADER, LLMOPS_TRACE_NAME_HEADER, LLMOPS_USER_ID_HEADER, LLMOpsClient, LLMOpsConfig, type LLMOpsConfigInput, LLMOpsPricingProvider, type LLMRequest, type LLMRequestInsert, type LLMRequestsDataLayer, LLMRequestsTable, MS, ManifestBuilder, type ManifestConfig, type ManifestEnvironment, type ManifestGuardrail, type ManifestProviderGuardrailOverride, ManifestRouter, ManifestService, type ManifestTargetingRule, type ManifestVariantVersion, MemoryCacheBackend, MemoryCacheConfig, MigrationOptions, MigrationResult, type MistralAIProviderConfig, ModelPricing, type OpenAIProviderConfig, type OracleProviderConfig, type OtlpConfig, type Playground, type PlaygroundColumn, type PlaygroundResult, type PlaygroundResultsDataLayer, PlaygroundResultsTable, type PlaygroundRun, type PlaygroundRunsDataLayer, PlaygroundRunsTable, type PlaygroundsDataLayer, PlaygroundsTable, Prettify, PricingProvider, type ProviderConfig, type ProviderConfigMap, type ProviderConfigsDataLayer, ProviderConfigsTable, type ProviderGuardrailOverride, type ProviderGuardrailOverridesDataLayer, ProviderGuardrailOverridesTable, type ProvidersConfig, type RoutingContext, type RoutingResult, SCHEMA_METADATA, type SagemakerProviderConfig, Selectable, Span, SpanEvent, type SpanEventInsert, SpanEventsTable, type SpanInsert, SpansTable, type StabilityAIProviderConfig, SupportedProviders, type TableName, type TargetingRule, type TargetingRulesDataLayer, type TargetingRulesTable, Trace, type TraceUpsert, type TracesDataLayer, TracesTable, Updateable, UsageData, type ValidatedLLMOpsConfig, type Variant, VariantJsonData, type VariantVersion, type VariantVersionsDataLayer, VariantVersionsTable, type VariantsDataLayer, type VariantsTable, type VertexAIProviderConfig, type WorkersAIProviderConfig, type WorkspaceSettings, type WorkspaceSettingsDataLayer, WorkspaceSettingsTable, calculateCacheAwareCost, calculateCost, chatCompletionCreateParamsBaseSchema, configVariantsSchema, configsSchema, createConfigDataLayer, createConfigVariantDataLayer, createDataLayer, createDatabase, createDatabaseFromConnection, createDatasetsDataLayer, createEnvironmentDataLayer, createEnvironmentSecretDataLayer, createGuardrailConfigsDataLayer, createLLMRequestsDataLayer, createNeonDialect, createPlaygroundDataLayer, createPlaygroundResultsDataLayer, createPlaygroundRunsDataLayer, createProviderConfigsDataLayer, createProviderGuardrailOverridesDataLayer, createTargetingRulesDataLayer, createTracesDataLayer, createVariantDataLayer, createVariantVersionsDataLayer, createWorkspaceSettingsDataLayer, datasetRecordsSchema, datasetVersionRecordsSchema, datasetVersionsSchema, datasetsSchema, detectDatabaseType, dollarsToMicroDollars, environmentSecretsSchema, environmentsSchema, executeWithSchema, formatCost, gateway, generateId, getAuthClientOptions, getDefaultPricingProvider, getDefaultProviders, getMigrations, guardrailConfigsSchema, llmRequestsSchema, llmopsConfigSchema, logger, matchType, mergeWithDefaultProviders, microDollarsToDollars, parsePartialTableData, parseTableData, playgroundColumnSchema, playgroundResultsSchema, playgroundRunsSchema, playgroundsSchema, providerConfigsSchema, providerGuardrailOverridesSchema, runAutoMigrations, schemas, spanEventsSchema, spansSchema, targetingRulesSchema, tracesSchema, validateLLMOpsConfig, validatePartialTableData, validateTableData, variantJsonDataSchema, variantVersionsSchema, variantsSchema, workspaceSettingsSchema };
package/dist/index.mjs CHANGED
@@ -628,13 +628,24 @@ const inlineProviderConfigSchema = object({
628
628
  */
629
629
  const providersConfigSchema = array(inlineProviderConfigSchema).optional();
630
630
  /**
631
+ * Schema for OTLP endpoint configuration.
632
+ * When configured, trace/span data is forwarded to this endpoint
633
+ * instead of being stored in PostgreSQL.
634
+ */
635
+ const otlpConfigSchema = object({
636
+ endpoint: string().url("OTLP endpoint must be a valid URL").refine((url) => url.startsWith("http://") || url.startsWith("https://"), "OTLP endpoint must use http:// or https://"),
637
+ headers: record(string(), string()).optional(),
638
+ protocol: _enum(["http/protobuf", "http/json"]).optional().default("http/protobuf")
639
+ }).optional();
640
+ /**
631
641
  * Base schema without refinements (used for transform)
632
642
  */
633
643
  const llmopsConfigBaseSchema = object({
634
644
  database: any().optional(),
635
645
  basePath: string().min(1, "Base path cannot be empty").refine((path$1) => path$1.startsWith("/"), "Base path must start with a forward slash").default("/llmops"),
636
646
  schema: string().optional().default("llmops"),
637
- providers: providersConfigSchema
647
+ providers: providersConfigSchema,
648
+ otlp: otlpConfigSchema
638
649
  });
639
650
  const llmopsConfigSchema = llmopsConfigBaseSchema.transform((config) => ({
640
651
  ...config,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llmops/core",
3
- "version": "0.6.5",
3
+ "version": "0.6.7-beta.1",
4
4
  "description": "Core LLMOps functionality and utilities",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -55,7 +55,7 @@
55
55
  "kysely": "^0.28.8",
56
56
  "kysely-neon": "^2.0.2",
57
57
  "pino": "^10.1.0",
58
- "@llmops/gateway": "^0.6.5"
58
+ "@llmops/gateway": "^0.6.7-beta.1"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/json-logic-js": "^2.0.8",