@llmops/core 0.3.0 → 0.3.2-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.d.cts CHANGED
@@ -1,4 +1,5 @@
1
- import { $ as variantsSchema, A as ProviderConfig, B as VariantVersionsTable, C as Environment, D as Insertable, E as EnvironmentsTable, F as TargetingRule, G as configsSchema, H as WorkspaceSettings, I as TargetingRulesTable, J as llmRequestsSchema, K as environmentSecretsSchema, L as Updateable, M as SCHEMA_METADATA, N as Selectable, O as LLMRequest, P as TableName, Q as variantVersionsSchema, R as Variant, S as Database, T as EnvironmentSecretsTable, U as WorkspaceSettingsTable, V as VariantsTable, W as configVariantsSchema, X as schemas, Y as providerConfigsSchema, Z as targetingRulesSchema, _ as validateTableData, a as createDatabaseFromConnection, b as ConfigVariantsTable, c as executeWithSchema, d as getMigrations, et as workspaceSettingsSchema, f as matchType, g as validatePartialTableData, h as parseTableData, i as createDatabase, j as ProviderConfigsTable, k as LLMRequestsTable, l as MigrationOptions, m as parsePartialTableData, n as DatabaseOptions, o as detectDatabaseType, p as runAutoMigrations, q as environmentsSchema, r as DatabaseType, s as createNeonDialect, t as DatabaseConnection, u as MigrationResult, v as Config, w as EnvironmentSecret, x as ConfigsTable, y as ConfigVariant, z as VariantVersion } from "./index-CunWjFE4.cjs";
1
+ import { $ as environmentsSchema, A as GuardrailResults, B as TableName, C as Environment, D as GuardrailConfig, E as EnvironmentsTable, F as ProviderConfigsTable, G as VariantVersion, H as TargetingRulesTable, I as ProviderGuardrailOverride, J as WorkspaceSettings, K as VariantVersionsTable, L as ProviderGuardrailOverridesTable, M as LLMRequest, N as LLMRequestsTable, O as GuardrailConfigsTable, P as ProviderConfig, Q as environmentSecretsSchema, R as SCHEMA_METADATA, S as Database, T as EnvironmentSecretsTable, U as Updateable, V as TargetingRule, W as Variant, X as configVariantsSchema, Y as WorkspaceSettingsTable, Z as configsSchema, _ as validateTableData, a as createDatabaseFromConnection, at as targetingRulesSchema, b as ConfigVariantsTable, c as executeWithSchema, ct as workspaceSettingsSchema, d as getMigrations, et as guardrailConfigsSchema, f as matchType, g as validatePartialTableData, h as parseTableData, i as createDatabase, it as schemas, j as Insertable, k as GuardrailResult, l as MigrationOptions, m as parsePartialTableData, n as DatabaseOptions, nt as providerConfigsSchema, o as detectDatabaseType, ot as variantVersionsSchema, p as runAutoMigrations, q as VariantsTable, r as DatabaseType, rt as providerGuardrailOverridesSchema, s as createNeonDialect, st as variantsSchema, t as DatabaseConnection, tt as llmRequestsSchema, u as MigrationResult, v as Config, w as EnvironmentSecret, x as ConfigsTable, y as ConfigVariant, z as Selectable } from "./index-nsx8vXII.cjs";
2
+ import * as kysely0 from "kysely";
2
3
  import { Kysely } from "kysely";
3
4
  import * as zod0 from "zod";
4
5
  import z$1, { z } from "zod";
@@ -691,6 +692,14 @@ type ChatCompletionCreateParamsBase = z.infer<typeof chatCompletionCreateParamsB
691
692
  */
692
693
  declare const variantJsonDataSchema: z.ZodObject<{
693
694
  system_prompt: z.ZodOptional<z.ZodString>;
695
+ messages: z.ZodOptional<z.ZodArray<z.ZodObject<{
696
+ role: z.ZodEnum<{
697
+ system: "system";
698
+ user: "user";
699
+ assistant: "assistant";
700
+ }>;
701
+ content: z.ZodString;
702
+ }, z.core.$strip>>>;
694
703
  model: z.ZodOptional<z.ZodString>;
695
704
  audio: z.ZodNullable<z.ZodOptional<z.ZodObject<{
696
705
  format: z.ZodEnum<{
@@ -1148,8 +1157,8 @@ declare const createLLMRequestsDataLayer: (db: Kysely<Database>) => {
1148
1157
  provider: string;
1149
1158
  environmentId: string | null;
1150
1159
  configId: string | null;
1151
- requestId: string;
1152
1160
  providerConfigId: string | null;
1161
+ requestId: string;
1153
1162
  model: string;
1154
1163
  promptTokens: number;
1155
1164
  completionTokens: number;
@@ -1164,6 +1173,17 @@ declare const createLLMRequestsDataLayer: (db: Kysely<Database>) => {
1164
1173
  isStreaming: boolean;
1165
1174
  userId: string | null;
1166
1175
  tags: Record<string, string>;
1176
+ guardrailResults: {
1177
+ results: {
1178
+ configId: string;
1179
+ functionId: string;
1180
+ hookType: "beforeRequestHook" | "afterRequestHook";
1181
+ verdict: boolean;
1182
+ latencyMs: number;
1183
+ }[];
1184
+ action: "allowed" | "blocked" | "logged";
1185
+ totalLatencyMs: number;
1186
+ } | null;
1167
1187
  } | undefined>;
1168
1188
  /**
1169
1189
  * List LLM requests with filtering and pagination
@@ -1178,8 +1198,8 @@ declare const createLLMRequestsDataLayer: (db: Kysely<Database>) => {
1178
1198
  provider: string;
1179
1199
  environmentId: string | null;
1180
1200
  configId: string | null;
1181
- requestId: string;
1182
1201
  providerConfigId: string | null;
1202
+ requestId: string;
1183
1203
  model: string;
1184
1204
  promptTokens: number;
1185
1205
  completionTokens: number;
@@ -1194,6 +1214,17 @@ declare const createLLMRequestsDataLayer: (db: Kysely<Database>) => {
1194
1214
  isStreaming: boolean;
1195
1215
  userId: string | null;
1196
1216
  tags: Record<string, string>;
1217
+ guardrailResults: {
1218
+ results: {
1219
+ configId: string;
1220
+ functionId: string;
1221
+ hookType: "beforeRequestHook" | "afterRequestHook";
1222
+ verdict: boolean;
1223
+ latencyMs: number;
1224
+ }[];
1225
+ action: "allowed" | "blocked" | "logged";
1226
+ totalLatencyMs: number;
1227
+ } | null;
1197
1228
  }[];
1198
1229
  total: number;
1199
1230
  limit: number;
@@ -1210,8 +1241,8 @@ declare const createLLMRequestsDataLayer: (db: Kysely<Database>) => {
1210
1241
  provider: string;
1211
1242
  environmentId: string | null;
1212
1243
  configId: string | null;
1213
- requestId: string;
1214
1244
  providerConfigId: string | null;
1245
+ requestId: string;
1215
1246
  model: string;
1216
1247
  promptTokens: number;
1217
1248
  completionTokens: number;
@@ -1226,6 +1257,17 @@ declare const createLLMRequestsDataLayer: (db: Kysely<Database>) => {
1226
1257
  isStreaming: boolean;
1227
1258
  userId: string | null;
1228
1259
  tags: Record<string, string>;
1260
+ guardrailResults: {
1261
+ results: {
1262
+ configId: string;
1263
+ functionId: string;
1264
+ hookType: "beforeRequestHook" | "afterRequestHook";
1265
+ verdict: boolean;
1266
+ latencyMs: number;
1267
+ }[];
1268
+ action: "allowed" | "blocked" | "logged";
1269
+ totalLatencyMs: number;
1270
+ } | null;
1229
1271
  } | undefined>;
1230
1272
  /**
1231
1273
  * Get total cost for a date range with optional filters
@@ -1491,6 +1533,250 @@ declare const createProviderConfigsDataLayer: (db: Kysely<Database>) => {
1491
1533
  } | undefined>;
1492
1534
  };
1493
1535
  //#endregion
1536
+ //#region src/datalayer/guardrailConfigs.d.ts
1537
+ declare const createGuardrailConfig: z$1.ZodObject<{
1538
+ name: z$1.ZodString;
1539
+ pluginId: z$1.ZodString;
1540
+ functionId: z$1.ZodString;
1541
+ hookType: z$1.ZodEnum<{
1542
+ beforeRequestHook: "beforeRequestHook";
1543
+ afterRequestHook: "afterRequestHook";
1544
+ }>;
1545
+ parameters: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>>;
1546
+ enabled: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBoolean>>;
1547
+ priority: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodNumber>>;
1548
+ onFail: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodEnum<{
1549
+ block: "block";
1550
+ log: "log";
1551
+ }>>>;
1552
+ }, z$1.core.$strip>;
1553
+ declare const updateGuardrailConfig: z$1.ZodObject<{
1554
+ id: z$1.ZodString;
1555
+ name: z$1.ZodOptional<z$1.ZodString>;
1556
+ hookType: z$1.ZodOptional<z$1.ZodEnum<{
1557
+ beforeRequestHook: "beforeRequestHook";
1558
+ afterRequestHook: "afterRequestHook";
1559
+ }>>;
1560
+ parameters: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>;
1561
+ enabled: z$1.ZodOptional<z$1.ZodBoolean>;
1562
+ priority: z$1.ZodOptional<z$1.ZodNumber>;
1563
+ onFail: z$1.ZodOptional<z$1.ZodEnum<{
1564
+ block: "block";
1565
+ log: "log";
1566
+ }>>;
1567
+ }, z$1.core.$strip>;
1568
+ declare const getGuardrailConfigById: z$1.ZodObject<{
1569
+ id: z$1.ZodString;
1570
+ }, z$1.core.$strip>;
1571
+ declare const deleteGuardrailConfig: z$1.ZodObject<{
1572
+ id: z$1.ZodString;
1573
+ }, z$1.core.$strip>;
1574
+ declare const listGuardrailConfigs: z$1.ZodObject<{
1575
+ limit: z$1.ZodOptional<z$1.ZodNumber>;
1576
+ offset: z$1.ZodOptional<z$1.ZodNumber>;
1577
+ hookType: z$1.ZodOptional<z$1.ZodEnum<{
1578
+ beforeRequestHook: "beforeRequestHook";
1579
+ afterRequestHook: "afterRequestHook";
1580
+ }>>;
1581
+ enabled: z$1.ZodOptional<z$1.ZodBoolean>;
1582
+ }, z$1.core.$strip>;
1583
+ declare const createGuardrailConfigsDataLayer: (db: Kysely<Database>) => {
1584
+ createGuardrailConfig: (params: z$1.infer<typeof createGuardrailConfig>) => Promise<{
1585
+ name: string;
1586
+ id: string;
1587
+ createdAt: Date;
1588
+ updatedAt: Date;
1589
+ priority: number;
1590
+ enabled: boolean;
1591
+ pluginId: string;
1592
+ functionId: string;
1593
+ hookType: string;
1594
+ parameters: Record<string, unknown>;
1595
+ onFail: string;
1596
+ } | undefined>;
1597
+ updateGuardrailConfig: (params: z$1.infer<typeof updateGuardrailConfig>) => Promise<{
1598
+ name: string;
1599
+ id: string;
1600
+ createdAt: Date;
1601
+ updatedAt: Date;
1602
+ priority: number;
1603
+ enabled: boolean;
1604
+ pluginId: string;
1605
+ functionId: string;
1606
+ hookType: string;
1607
+ parameters: Record<string, unknown>;
1608
+ onFail: string;
1609
+ } | undefined>;
1610
+ getGuardrailConfigById: (params: z$1.infer<typeof getGuardrailConfigById>) => Promise<{
1611
+ name: string;
1612
+ id: string;
1613
+ createdAt: Date;
1614
+ updatedAt: Date;
1615
+ priority: number;
1616
+ enabled: boolean;
1617
+ pluginId: string;
1618
+ functionId: string;
1619
+ hookType: string;
1620
+ parameters: Record<string, unknown>;
1621
+ onFail: string;
1622
+ } | undefined>;
1623
+ deleteGuardrailConfig: (params: z$1.infer<typeof deleteGuardrailConfig>) => Promise<{
1624
+ name: string;
1625
+ id: string;
1626
+ createdAt: Date;
1627
+ updatedAt: Date;
1628
+ priority: number;
1629
+ enabled: boolean;
1630
+ pluginId: string;
1631
+ functionId: string;
1632
+ hookType: string;
1633
+ parameters: Record<string, unknown>;
1634
+ onFail: string;
1635
+ } | undefined>;
1636
+ listGuardrailConfigs: (params?: z$1.infer<typeof listGuardrailConfigs>) => Promise<{
1637
+ name: string;
1638
+ id: string;
1639
+ createdAt: Date;
1640
+ updatedAt: Date;
1641
+ priority: number;
1642
+ enabled: boolean;
1643
+ pluginId: string;
1644
+ functionId: string;
1645
+ hookType: string;
1646
+ parameters: Record<string, unknown>;
1647
+ onFail: string;
1648
+ }[]>;
1649
+ countGuardrailConfigs: () => Promise<number>;
1650
+ /**
1651
+ * Get all enabled guardrails for a specific hook type
1652
+ * Ordered by priority (highest first)
1653
+ */
1654
+ getEnabledGuardrailsByHookType: (hookType: "beforeRequestHook" | "afterRequestHook") => Promise<{
1655
+ name: string;
1656
+ id: string;
1657
+ createdAt: Date;
1658
+ updatedAt: Date;
1659
+ priority: number;
1660
+ enabled: boolean;
1661
+ pluginId: string;
1662
+ functionId: string;
1663
+ hookType: string;
1664
+ parameters: Record<string, unknown>;
1665
+ onFail: string;
1666
+ }[]>;
1667
+ };
1668
+ //#endregion
1669
+ //#region src/datalayer/providerGuardrailOverrides.d.ts
1670
+ declare const createProviderGuardrailOverride: z$1.ZodObject<{
1671
+ providerConfigId: z$1.ZodString;
1672
+ guardrailConfigId: z$1.ZodString;
1673
+ enabled: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBoolean>>;
1674
+ parameters: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>>;
1675
+ }, z$1.core.$strip>;
1676
+ declare const updateProviderGuardrailOverride: z$1.ZodObject<{
1677
+ id: z$1.ZodString;
1678
+ enabled: z$1.ZodOptional<z$1.ZodBoolean>;
1679
+ parameters: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>>;
1680
+ }, z$1.core.$strip>;
1681
+ declare const getOverrideById: z$1.ZodObject<{
1682
+ id: z$1.ZodString;
1683
+ }, z$1.core.$strip>;
1684
+ declare const deleteOverride: z$1.ZodObject<{
1685
+ id: z$1.ZodString;
1686
+ }, z$1.core.$strip>;
1687
+ declare const getOverridesByProviderConfigId: z$1.ZodObject<{
1688
+ providerConfigId: z$1.ZodString;
1689
+ }, z$1.core.$strip>;
1690
+ declare const getOverridesByGuardrailConfigId: z$1.ZodObject<{
1691
+ guardrailConfigId: z$1.ZodString;
1692
+ }, z$1.core.$strip>;
1693
+ declare const getOverrideByProviderAndGuardrail: z$1.ZodObject<{
1694
+ providerConfigId: z$1.ZodString;
1695
+ guardrailConfigId: z$1.ZodString;
1696
+ }, z$1.core.$strip>;
1697
+ declare const createProviderGuardrailOverridesDataLayer: (db: Kysely<Database>) => {
1698
+ createProviderGuardrailOverride: (params: z$1.infer<typeof createProviderGuardrailOverride>) => Promise<{
1699
+ id: string;
1700
+ createdAt: Date;
1701
+ updatedAt: Date;
1702
+ enabled: boolean;
1703
+ parameters: Record<string, unknown> | null;
1704
+ providerConfigId: string;
1705
+ guardrailConfigId: string;
1706
+ } | undefined>;
1707
+ updateProviderGuardrailOverride: (params: z$1.infer<typeof updateProviderGuardrailOverride>) => Promise<{
1708
+ id: string;
1709
+ createdAt: Date;
1710
+ updatedAt: Date;
1711
+ enabled: boolean;
1712
+ parameters: Record<string, unknown> | null;
1713
+ providerConfigId: string;
1714
+ guardrailConfigId: string;
1715
+ } | undefined>;
1716
+ getOverrideById: (params: z$1.infer<typeof getOverrideById>) => Promise<{
1717
+ id: string;
1718
+ createdAt: Date;
1719
+ updatedAt: Date;
1720
+ enabled: boolean;
1721
+ parameters: Record<string, unknown> | null;
1722
+ providerConfigId: string;
1723
+ guardrailConfigId: string;
1724
+ } | undefined>;
1725
+ deleteProviderGuardrailOverride: (params: z$1.infer<typeof deleteOverride>) => Promise<{
1726
+ id: string;
1727
+ createdAt: Date;
1728
+ updatedAt: Date;
1729
+ enabled: boolean;
1730
+ parameters: Record<string, unknown> | null;
1731
+ providerConfigId: string;
1732
+ guardrailConfigId: string;
1733
+ } | undefined>;
1734
+ getOverridesByProviderConfigId: (params: z$1.infer<typeof getOverridesByProviderConfigId>) => Promise<{
1735
+ id: string;
1736
+ createdAt: Date;
1737
+ updatedAt: Date;
1738
+ enabled: boolean;
1739
+ parameters: Record<string, unknown> | null;
1740
+ providerConfigId: string;
1741
+ guardrailConfigId: string;
1742
+ }[]>;
1743
+ getOverridesByGuardrailConfigId: (params: z$1.infer<typeof getOverridesByGuardrailConfigId>) => Promise<{
1744
+ id: string;
1745
+ createdAt: Date;
1746
+ updatedAt: Date;
1747
+ enabled: boolean;
1748
+ parameters: Record<string, unknown> | null;
1749
+ providerConfigId: string;
1750
+ guardrailConfigId: string;
1751
+ }[]>;
1752
+ getOverrideByProviderAndGuardrail: (params: z$1.infer<typeof getOverrideByProviderAndGuardrail>) => Promise<{
1753
+ id: string;
1754
+ createdAt: Date;
1755
+ updatedAt: Date;
1756
+ enabled: boolean;
1757
+ parameters: Record<string, unknown> | null;
1758
+ providerConfigId: string;
1759
+ guardrailConfigId: string;
1760
+ } | undefined>;
1761
+ /**
1762
+ * Upsert provider guardrail override - creates if not exists, updates if exists
1763
+ */
1764
+ upsertProviderGuardrailOverride: (params: z$1.infer<typeof createProviderGuardrailOverride>) => Promise<{
1765
+ id: string;
1766
+ createdAt: Date;
1767
+ updatedAt: Date;
1768
+ enabled: boolean;
1769
+ parameters: Record<string, unknown> | null;
1770
+ providerConfigId: string;
1771
+ guardrailConfigId: string;
1772
+ } | undefined>;
1773
+ /**
1774
+ * Delete all overrides for a guardrail config
1775
+ * Useful when deleting a guardrail config
1776
+ */
1777
+ deleteOverridesByGuardrailConfigId: (params: z$1.infer<typeof getOverridesByGuardrailConfigId>) => Promise<kysely0.DeleteResult[]>;
1778
+ };
1779
+ //#endregion
1494
1780
  //#region src/datalayer/index.d.ts
1495
1781
  declare const createDataLayer: (db: Kysely<Database>) => Promise<{
1496
1782
  getWorkspaceSettings: () => Promise<{
@@ -1932,6 +2218,106 @@ declare const createDataLayer: (db: Kysely<Database>) => Promise<{
1932
2218
  enabled: boolean;
1933
2219
  conditions: Record<string, unknown>;
1934
2220
  } | undefined>;
2221
+ createProviderGuardrailOverride: (params: zod0.infer<zod0.ZodObject<{
2222
+ providerConfigId: zod0.ZodString;
2223
+ guardrailConfigId: zod0.ZodString;
2224
+ enabled: zod0.ZodDefault<zod0.ZodOptional<zod0.ZodBoolean>>;
2225
+ parameters: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
2226
+ }, better_auth0.$strip>>) => Promise<{
2227
+ id: string;
2228
+ createdAt: Date;
2229
+ updatedAt: Date;
2230
+ enabled: boolean;
2231
+ parameters: Record<string, unknown> | null;
2232
+ providerConfigId: string;
2233
+ guardrailConfigId: string;
2234
+ } | undefined>;
2235
+ updateProviderGuardrailOverride: (params: zod0.infer<zod0.ZodObject<{
2236
+ id: zod0.ZodString;
2237
+ enabled: zod0.ZodOptional<zod0.ZodBoolean>;
2238
+ parameters: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
2239
+ }, better_auth0.$strip>>) => Promise<{
2240
+ id: string;
2241
+ createdAt: Date;
2242
+ updatedAt: Date;
2243
+ enabled: boolean;
2244
+ parameters: Record<string, unknown> | null;
2245
+ providerConfigId: string;
2246
+ guardrailConfigId: string;
2247
+ } | undefined>;
2248
+ getOverrideById: (params: zod0.infer<zod0.ZodObject<{
2249
+ id: zod0.ZodString;
2250
+ }, better_auth0.$strip>>) => Promise<{
2251
+ id: string;
2252
+ createdAt: Date;
2253
+ updatedAt: Date;
2254
+ enabled: boolean;
2255
+ parameters: Record<string, unknown> | null;
2256
+ providerConfigId: string;
2257
+ guardrailConfigId: string;
2258
+ } | undefined>;
2259
+ deleteProviderGuardrailOverride: (params: zod0.infer<zod0.ZodObject<{
2260
+ id: zod0.ZodString;
2261
+ }, better_auth0.$strip>>) => Promise<{
2262
+ id: string;
2263
+ createdAt: Date;
2264
+ updatedAt: Date;
2265
+ enabled: boolean;
2266
+ parameters: Record<string, unknown> | null;
2267
+ providerConfigId: string;
2268
+ guardrailConfigId: string;
2269
+ } | undefined>;
2270
+ getOverridesByProviderConfigId: (params: zod0.infer<zod0.ZodObject<{
2271
+ providerConfigId: zod0.ZodString;
2272
+ }, better_auth0.$strip>>) => Promise<{
2273
+ id: string;
2274
+ createdAt: Date;
2275
+ updatedAt: Date;
2276
+ enabled: boolean;
2277
+ parameters: Record<string, unknown> | null;
2278
+ providerConfigId: string;
2279
+ guardrailConfigId: string;
2280
+ }[]>;
2281
+ getOverridesByGuardrailConfigId: (params: zod0.infer<zod0.ZodObject<{
2282
+ guardrailConfigId: zod0.ZodString;
2283
+ }, better_auth0.$strip>>) => Promise<{
2284
+ id: string;
2285
+ createdAt: Date;
2286
+ updatedAt: Date;
2287
+ enabled: boolean;
2288
+ parameters: Record<string, unknown> | null;
2289
+ providerConfigId: string;
2290
+ guardrailConfigId: string;
2291
+ }[]>;
2292
+ getOverrideByProviderAndGuardrail: (params: zod0.infer<zod0.ZodObject<{
2293
+ providerConfigId: zod0.ZodString;
2294
+ guardrailConfigId: zod0.ZodString;
2295
+ }, better_auth0.$strip>>) => Promise<{
2296
+ id: string;
2297
+ createdAt: Date;
2298
+ updatedAt: Date;
2299
+ enabled: boolean;
2300
+ parameters: Record<string, unknown> | null;
2301
+ providerConfigId: string;
2302
+ guardrailConfigId: string;
2303
+ } | undefined>;
2304
+ upsertProviderGuardrailOverride: (params: zod0.infer<zod0.ZodObject<{
2305
+ providerConfigId: zod0.ZodString;
2306
+ guardrailConfigId: zod0.ZodString;
2307
+ enabled: zod0.ZodDefault<zod0.ZodOptional<zod0.ZodBoolean>>;
2308
+ parameters: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
2309
+ }, better_auth0.$strip>>) => Promise<{
2310
+ id: string;
2311
+ createdAt: Date;
2312
+ updatedAt: Date;
2313
+ enabled: boolean;
2314
+ parameters: Record<string, unknown> | null;
2315
+ providerConfigId: string;
2316
+ guardrailConfigId: string;
2317
+ } | undefined>;
2318
+ deleteOverridesByGuardrailConfigId: (params: zod0.infer<zod0.ZodObject<{
2319
+ guardrailConfigId: zod0.ZodString;
2320
+ }, better_auth0.$strip>>) => Promise<kysely0.DeleteResult[]>;
1935
2321
  createProviderConfig: (params: zod0.infer<zod0.ZodObject<{
1936
2322
  providerId: zod0.ZodString;
1937
2323
  slug: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
@@ -2053,8 +2439,8 @@ declare const createDataLayer: (db: Kysely<Database>) => Promise<{
2053
2439
  provider: string;
2054
2440
  environmentId: string | null;
2055
2441
  configId: string | null;
2056
- requestId: string;
2057
2442
  providerConfigId: string | null;
2443
+ requestId: string;
2058
2444
  model: string;
2059
2445
  promptTokens: number;
2060
2446
  completionTokens: number;
@@ -2069,6 +2455,17 @@ declare const createDataLayer: (db: Kysely<Database>) => Promise<{
2069
2455
  isStreaming: boolean;
2070
2456
  userId: string | null;
2071
2457
  tags: Record<string, string>;
2458
+ guardrailResults: {
2459
+ results: {
2460
+ configId: string;
2461
+ functionId: string;
2462
+ hookType: "beforeRequestHook" | "afterRequestHook";
2463
+ verdict: boolean;
2464
+ latencyMs: number;
2465
+ }[];
2466
+ action: "allowed" | "blocked" | "logged";
2467
+ totalLatencyMs: number;
2468
+ } | null;
2072
2469
  } | undefined>;
2073
2470
  listRequests: (params?: zod0.infer<zod0.ZodObject<{
2074
2471
  limit: zod0.ZodDefault<zod0.ZodNumber>;
@@ -2091,8 +2488,8 @@ declare const createDataLayer: (db: Kysely<Database>) => Promise<{
2091
2488
  provider: string;
2092
2489
  environmentId: string | null;
2093
2490
  configId: string | null;
2094
- requestId: string;
2095
2491
  providerConfigId: string | null;
2492
+ requestId: string;
2096
2493
  model: string;
2097
2494
  promptTokens: number;
2098
2495
  completionTokens: number;
@@ -2107,6 +2504,17 @@ declare const createDataLayer: (db: Kysely<Database>) => Promise<{
2107
2504
  isStreaming: boolean;
2108
2505
  userId: string | null;
2109
2506
  tags: Record<string, string>;
2507
+ guardrailResults: {
2508
+ results: {
2509
+ configId: string;
2510
+ functionId: string;
2511
+ hookType: "beforeRequestHook" | "afterRequestHook";
2512
+ verdict: boolean;
2513
+ latencyMs: number;
2514
+ }[];
2515
+ action: "allowed" | "blocked" | "logged";
2516
+ totalLatencyMs: number;
2517
+ } | null;
2110
2518
  }[];
2111
2519
  total: number;
2112
2520
  limit: number;
@@ -2120,8 +2528,8 @@ declare const createDataLayer: (db: Kysely<Database>) => Promise<{
2120
2528
  provider: string;
2121
2529
  environmentId: string | null;
2122
2530
  configId: string | null;
2123
- requestId: string;
2124
2531
  providerConfigId: string | null;
2532
+ requestId: string;
2125
2533
  model: string;
2126
2534
  promptTokens: number;
2127
2535
  completionTokens: number;
@@ -2136,6 +2544,17 @@ declare const createDataLayer: (db: Kysely<Database>) => Promise<{
2136
2544
  isStreaming: boolean;
2137
2545
  userId: string | null;
2138
2546
  tags: Record<string, string>;
2547
+ guardrailResults: {
2548
+ results: {
2549
+ configId: string;
2550
+ functionId: string;
2551
+ hookType: "beforeRequestHook" | "afterRequestHook";
2552
+ verdict: boolean;
2553
+ latencyMs: number;
2554
+ }[];
2555
+ action: "allowed" | "blocked" | "logged";
2556
+ totalLatencyMs: number;
2557
+ } | null;
2139
2558
  } | undefined>;
2140
2559
  getTotalCost: (params: zod0.infer<zod0.ZodObject<{
2141
2560
  startDate: zod0.ZodDate;
@@ -2257,6 +2676,126 @@ declare const createDataLayer: (db: Kysely<Database>) => Promise<{
2257
2676
  key: string;
2258
2677
  value: string;
2259
2678
  }[]>;
2679
+ createGuardrailConfig: (params: zod0.infer<zod0.ZodObject<{
2680
+ name: zod0.ZodString;
2681
+ pluginId: zod0.ZodString;
2682
+ functionId: zod0.ZodString;
2683
+ hookType: zod0.ZodEnum<{
2684
+ beforeRequestHook: "beforeRequestHook";
2685
+ afterRequestHook: "afterRequestHook";
2686
+ }>;
2687
+ parameters: zod0.ZodDefault<zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
2688
+ enabled: zod0.ZodDefault<zod0.ZodOptional<zod0.ZodBoolean>>;
2689
+ priority: zod0.ZodDefault<zod0.ZodOptional<zod0.ZodNumber>>;
2690
+ onFail: zod0.ZodDefault<zod0.ZodOptional<zod0.ZodEnum<{
2691
+ block: "block";
2692
+ log: "log";
2693
+ }>>>;
2694
+ }, better_auth0.$strip>>) => Promise<{
2695
+ name: string;
2696
+ id: string;
2697
+ createdAt: Date;
2698
+ updatedAt: Date;
2699
+ priority: number;
2700
+ enabled: boolean;
2701
+ pluginId: string;
2702
+ functionId: string;
2703
+ hookType: string;
2704
+ parameters: Record<string, unknown>;
2705
+ onFail: string;
2706
+ } | undefined>;
2707
+ updateGuardrailConfig: (params: zod0.infer<zod0.ZodObject<{
2708
+ id: zod0.ZodString;
2709
+ name: zod0.ZodOptional<zod0.ZodString>;
2710
+ hookType: zod0.ZodOptional<zod0.ZodEnum<{
2711
+ beforeRequestHook: "beforeRequestHook";
2712
+ afterRequestHook: "afterRequestHook";
2713
+ }>>;
2714
+ parameters: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
2715
+ enabled: zod0.ZodOptional<zod0.ZodBoolean>;
2716
+ priority: zod0.ZodOptional<zod0.ZodNumber>;
2717
+ onFail: zod0.ZodOptional<zod0.ZodEnum<{
2718
+ block: "block";
2719
+ log: "log";
2720
+ }>>;
2721
+ }, better_auth0.$strip>>) => Promise<{
2722
+ name: string;
2723
+ id: string;
2724
+ createdAt: Date;
2725
+ updatedAt: Date;
2726
+ priority: number;
2727
+ enabled: boolean;
2728
+ pluginId: string;
2729
+ functionId: string;
2730
+ hookType: string;
2731
+ parameters: Record<string, unknown>;
2732
+ onFail: string;
2733
+ } | undefined>;
2734
+ getGuardrailConfigById: (params: zod0.infer<zod0.ZodObject<{
2735
+ id: zod0.ZodString;
2736
+ }, better_auth0.$strip>>) => Promise<{
2737
+ name: string;
2738
+ id: string;
2739
+ createdAt: Date;
2740
+ updatedAt: Date;
2741
+ priority: number;
2742
+ enabled: boolean;
2743
+ pluginId: string;
2744
+ functionId: string;
2745
+ hookType: string;
2746
+ parameters: Record<string, unknown>;
2747
+ onFail: string;
2748
+ } | undefined>;
2749
+ deleteGuardrailConfig: (params: zod0.infer<zod0.ZodObject<{
2750
+ id: zod0.ZodString;
2751
+ }, better_auth0.$strip>>) => Promise<{
2752
+ name: string;
2753
+ id: string;
2754
+ createdAt: Date;
2755
+ updatedAt: Date;
2756
+ priority: number;
2757
+ enabled: boolean;
2758
+ pluginId: string;
2759
+ functionId: string;
2760
+ hookType: string;
2761
+ parameters: Record<string, unknown>;
2762
+ onFail: string;
2763
+ } | undefined>;
2764
+ listGuardrailConfigs: (params?: zod0.infer<zod0.ZodObject<{
2765
+ limit: zod0.ZodOptional<zod0.ZodNumber>;
2766
+ offset: zod0.ZodOptional<zod0.ZodNumber>;
2767
+ hookType: zod0.ZodOptional<zod0.ZodEnum<{
2768
+ beforeRequestHook: "beforeRequestHook";
2769
+ afterRequestHook: "afterRequestHook";
2770
+ }>>;
2771
+ enabled: zod0.ZodOptional<zod0.ZodBoolean>;
2772
+ }, better_auth0.$strip>>) => Promise<{
2773
+ name: string;
2774
+ id: string;
2775
+ createdAt: Date;
2776
+ updatedAt: Date;
2777
+ priority: number;
2778
+ enabled: boolean;
2779
+ pluginId: string;
2780
+ functionId: string;
2781
+ hookType: string;
2782
+ parameters: Record<string, unknown>;
2783
+ onFail: string;
2784
+ }[]>;
2785
+ countGuardrailConfigs: () => Promise<number>;
2786
+ getEnabledGuardrailsByHookType: (hookType: "beforeRequestHook" | "afterRequestHook") => Promise<{
2787
+ name: string;
2788
+ id: string;
2789
+ createdAt: Date;
2790
+ updatedAt: Date;
2791
+ priority: number;
2792
+ enabled: boolean;
2793
+ pluginId: string;
2794
+ functionId: string;
2795
+ hookType: string;
2796
+ parameters: Record<string, unknown>;
2797
+ onFail: string;
2798
+ }[]>;
2260
2799
  createEnvironmentSecret: (params: zod0.infer<zod0.ZodObject<{
2261
2800
  environmentId: zod0.ZodUUID;
2262
2801
  keyName: zod0.ZodString;
@@ -2887,6 +3426,30 @@ interface ManifestEnvironment {
2887
3426
  name: string;
2888
3427
  isProd: boolean;
2889
3428
  }
3429
+ /**
3430
+ * Guardrail configuration in the manifest
3431
+ * Pre-loaded for gateway use without additional DB queries
3432
+ */
3433
+ interface ManifestGuardrail {
3434
+ id: string;
3435
+ name: string;
3436
+ pluginId: string;
3437
+ functionId: string;
3438
+ hookType: 'beforeRequestHook' | 'afterRequestHook';
3439
+ parameters: Record<string, unknown>;
3440
+ priority: number;
3441
+ onFail: 'block' | 'log';
3442
+ }
3443
+ /**
3444
+ * Provider-specific guardrail override in the manifest
3445
+ */
3446
+ interface ManifestProviderGuardrailOverride {
3447
+ id: string;
3448
+ providerConfigId: string;
3449
+ guardrailConfigId: string;
3450
+ enabled: boolean;
3451
+ parameters: Record<string, unknown> | null;
3452
+ }
2890
3453
  /**
2891
3454
  * The complete routing manifest
2892
3455
  * Stored in cache under key: "gateway:manifest"
@@ -2900,6 +3463,11 @@ interface GatewayManifest {
2900
3463
  environmentsBySlug: Record<string, string>;
2901
3464
  routingTable: Record<string, Record<string, ManifestTargetingRule[]>>;
2902
3465
  secretToEnvironment: Record<string, string>;
3466
+ guardrails: {
3467
+ beforeRequestHook: ManifestGuardrail[];
3468
+ afterRequestHook: ManifestGuardrail[];
3469
+ };
3470
+ providerGuardrailOverrides: Record<string, ManifestProviderGuardrailOverride[]>;
2903
3471
  }
2904
3472
  /**
2905
3473
  * Context passed to JSONLogic for condition evaluation
@@ -3010,4 +3578,4 @@ declare class ManifestRouter {
3010
3578
  routeWithWeights(configIdOrSlug: string, environmentId: string, context?: RoutingContext): RoutingResult | null;
3011
3579
  }
3012
3580
  //#endregion
3013
- export { type AnthropicProviderConfig, type AnyProviderConfig, AuthClientDatabaseConfig, AuthClientOptions, type AzureAIProviderConfig, type AzureOpenAIProviderConfig, BaseCacheConfig, type BaseProviderConfig, type BedrockProviderConfig, CacheBackend, CacheBackendType, CacheConfig, CacheEntry, CacheOptions, CacheService, CacheStats, ChatCompletionCreateParamsBase, Config, ConfigVariant, ConfigVariantsTable, ConfigsTable, type CortexProviderConfig, CostResult, Database, DatabaseConnection, DatabaseOptions, DatabaseType, Environment, EnvironmentSecret, EnvironmentSecretsTable, EnvironmentsTable, FileCacheBackend, FileCacheConfig, type FireworksAIProviderConfig, GatewayManifest, type GoogleProviderConfig, type HuggingFaceProviderConfig, Insertable, LLMOpsClient, LLMOpsConfig, type LLMOpsConfigInput, LLMRequest, type LLMRequestInsert, LLMRequestsTable, MS, ManifestBuilder, ManifestConfig, ManifestEnvironment, ManifestRouter, ManifestService, ManifestTargetingRule, ManifestVariantVersion, MemoryCacheBackend, MemoryCacheConfig, MigrationOptions, MigrationResult, type MistralAIProviderConfig, ModelPricing, ModelsDevPricingProvider, type OpenAIProviderConfig, type OracleProviderConfig, Prettify, PricingProvider, ProviderConfig, type ProviderConfigMap, ProviderConfigsTable, type ProvidersConfig, RoutingContext, RoutingResult, SCHEMA_METADATA, type SagemakerProviderConfig, Selectable, type StabilityAIProviderConfig, SupportedProviders, TableName, TargetingRule, TargetingRulesTable, Updateable, UsageData, type ValidatedLLMOpsConfig, Variant, VariantJsonData, VariantVersion, VariantVersionsTable, VariantsTable, type VertexAIProviderConfig, type WorkersAIProviderConfig, WorkspaceSettings, WorkspaceSettingsTable, calculateCost, chatCompletionCreateParamsBaseSchema, configVariantsSchema, configsSchema, createDataLayer, createDatabase, createDatabaseFromConnection, createLLMRequestsDataLayer, createNeonDialect, createProviderConfigsDataLayer, createWorkspaceSettingsDataLayer, detectDatabaseType, dollarsToMicroDollars, environmentSecretsSchema, environmentsSchema, executeWithSchema, formatCost, gateway, generateId, getAuthClientOptions, getDefaultPricingProvider, getMigrations, llmRequestsSchema, llmopsConfigSchema, logger, matchType, microDollarsToDollars, parsePartialTableData, parseTableData, providerConfigsSchema, runAutoMigrations, schemas, targetingRulesSchema, validateLLMOpsConfig, validatePartialTableData, validateTableData, variantJsonDataSchema, variantVersionsSchema, variantsSchema, workspaceSettingsSchema };
3581
+ export { type AnthropicProviderConfig, type AnyProviderConfig, AuthClientDatabaseConfig, AuthClientOptions, type AzureAIProviderConfig, type AzureOpenAIProviderConfig, BaseCacheConfig, type BaseProviderConfig, type BedrockProviderConfig, CacheBackend, CacheBackendType, CacheConfig, CacheEntry, CacheOptions, CacheService, CacheStats, ChatCompletionCreateParamsBase, Config, ConfigVariant, ConfigVariantsTable, ConfigsTable, type CortexProviderConfig, CostResult, Database, DatabaseConnection, DatabaseOptions, DatabaseType, Environment, EnvironmentSecret, EnvironmentSecretsTable, EnvironmentsTable, FileCacheBackend, FileCacheConfig, type FireworksAIProviderConfig, GatewayManifest, type GoogleProviderConfig, GuardrailConfig, GuardrailConfigsTable, GuardrailResult, GuardrailResults, type HuggingFaceProviderConfig, Insertable, LLMOpsClient, LLMOpsConfig, type LLMOpsConfigInput, LLMRequest, type LLMRequestInsert, LLMRequestsTable, MS, ManifestBuilder, ManifestConfig, ManifestEnvironment, ManifestGuardrail, ManifestProviderGuardrailOverride, ManifestRouter, ManifestService, ManifestTargetingRule, ManifestVariantVersion, MemoryCacheBackend, MemoryCacheConfig, MigrationOptions, MigrationResult, type MistralAIProviderConfig, ModelPricing, ModelsDevPricingProvider, type OpenAIProviderConfig, type OracleProviderConfig, Prettify, PricingProvider, ProviderConfig, type ProviderConfigMap, ProviderConfigsTable, ProviderGuardrailOverride, ProviderGuardrailOverridesTable, type ProvidersConfig, RoutingContext, RoutingResult, SCHEMA_METADATA, type SagemakerProviderConfig, Selectable, type StabilityAIProviderConfig, SupportedProviders, TableName, TargetingRule, TargetingRulesTable, Updateable, UsageData, type ValidatedLLMOpsConfig, Variant, VariantJsonData, VariantVersion, VariantVersionsTable, VariantsTable, type VertexAIProviderConfig, type WorkersAIProviderConfig, WorkspaceSettings, WorkspaceSettingsTable, calculateCost, chatCompletionCreateParamsBaseSchema, configVariantsSchema, configsSchema, createDataLayer, createDatabase, createDatabaseFromConnection, createGuardrailConfigsDataLayer, createLLMRequestsDataLayer, createNeonDialect, createProviderConfigsDataLayer, createProviderGuardrailOverridesDataLayer, createWorkspaceSettingsDataLayer, detectDatabaseType, dollarsToMicroDollars, environmentSecretsSchema, environmentsSchema, executeWithSchema, formatCost, gateway, generateId, getAuthClientOptions, getDefaultPricingProvider, getMigrations, guardrailConfigsSchema, llmRequestsSchema, llmopsConfigSchema, logger, matchType, microDollarsToDollars, parsePartialTableData, parseTableData, providerConfigsSchema, providerGuardrailOverridesSchema, runAutoMigrations, schemas, targetingRulesSchema, validateLLMOpsConfig, validatePartialTableData, validateTableData, variantJsonDataSchema, variantVersionsSchema, variantsSchema, workspaceSettingsSchema };