@llmops/core 0.1.7 → 0.1.9-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.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as object, C as zod_default, D as boolean, E as array, M as string, N as union, O as literal, P as unknown, S as workspaceSettingsSchema, T as any, _ as llmRequestsSchema, a as matchType, b as variantVersionsSchema, c as parsePartialTableData, d as validateTableData, f as SCHEMA_METADATA, g as environmentsSchema, h as environmentSecretsSchema, i as getMigrations, j as record, k as number, l as parseTableData, m as configsSchema, n as createDatabaseFromConnection, o as runAutoMigrations, p as configVariantsSchema, r as detectDatabaseType, s as logger, t as createDatabase, u as validatePartialTableData, v as schemas, w as _enum, x as variantsSchema, y as targetingRulesSchema } from "./db-D78x_Elf.mjs";
1
+ import { A as number, C as workspaceSettingsSchema, D as array, E as any, F as unknown, M as record, N as string, O as boolean, P as union, S as variantsSchema, T as _enum, _ as environmentsSchema, a as matchType, b as targetingRulesSchema, c as logger, d as validatePartialTableData, f as validateTableData, g as environmentSecretsSchema, h as configsSchema, i as getMigrations, j as object, k as literal, l as parsePartialTableData, m as configVariantsSchema, n as createDatabaseFromConnection, o as runAutoMigrations, p as SCHEMA_METADATA, r as detectDatabaseType, s as getAuthClientOptions, t as createDatabase, u as parseTableData, v as llmRequestsSchema, w as zod_default, x as variantVersionsSchema, y as schemas } from "./db-WrnSOT3M.mjs";
2
2
  import gateway from "@llmops/gateway";
3
3
  import { sql } from "kysely";
4
4
  import * as fs from "node:fs/promises";
@@ -455,7 +455,6 @@ const llmopsConfigSchema = object({
455
455
  auth: authSchema,
456
456
  basePath: string().min(1, "Base path is required and cannot be empty").refine((path$1) => path$1.startsWith("/"), "Base path must start with a forward slash"),
457
457
  providers: providersSchema,
458
- autoMigrate: union([boolean(), literal("development")]).optional().default(false),
459
458
  schema: string().optional().default("llmops")
460
459
  });
461
460
  function validateLLMOpsConfig(config) {
@@ -1592,26 +1591,10 @@ const createLLMRequestsDataLayer = (db) => {
1592
1591
  const result = await listRequestsSchema.safeParseAsync(params || {});
1593
1592
  if (!result.success) throw new LLMOpsError(`Invalid parameters: ${result.error.message}`);
1594
1593
  const { limit, offset, configId, variantId, environmentId, provider, model, startDate, endDate, tags } = result.data;
1595
- console.log("[listRequests] Parsed filters:", {
1596
- configId,
1597
- variantId,
1598
- environmentId,
1599
- provider,
1600
- model
1601
- });
1602
1594
  let baseQuery = db.selectFrom("llm_requests");
1603
- if (configId) {
1604
- console.log("[listRequests] Adding configId filter:", configId);
1605
- baseQuery = baseQuery.where("configId", "=", configId);
1606
- }
1607
- if (variantId) {
1608
- console.log("[listRequests] Adding variantId filter:", variantId);
1609
- baseQuery = baseQuery.where("variantId", "=", variantId);
1610
- }
1611
- if (environmentId) {
1612
- console.log("[listRequests] Adding environmentId filter:", environmentId);
1613
- baseQuery = baseQuery.where("environmentId", "=", environmentId);
1614
- }
1595
+ if (configId) baseQuery = baseQuery.where("configId", "=", configId);
1596
+ if (variantId) baseQuery = baseQuery.where("variantId", "=", variantId);
1597
+ if (environmentId) baseQuery = baseQuery.where("environmentId", "=", environmentId);
1615
1598
  if (provider) baseQuery = baseQuery.where("provider", "=", provider);
1616
1599
  if (model) baseQuery = baseQuery.where("model", "=", model);
1617
1600
  if (startDate) baseQuery = baseQuery.where(sql`${col("createdAt")} >= ${startDate.toISOString()}`);
@@ -1624,10 +1607,7 @@ const createLLMRequestsDataLayer = (db) => {
1624
1607
  baseQuery = baseQuery.where(sql`${col("tags")}->>${key} IN (${valueList})`);
1625
1608
  }
1626
1609
  }
1627
- const countQuery = baseQuery.select(sql`COUNT(*)`.as("total"));
1628
- console.log("[listRequests] Count SQL:", countQuery.compile().sql);
1629
- console.log("[listRequests] Count params:", countQuery.compile().parameters);
1630
- const countResult = await countQuery.executeTakeFirst();
1610
+ const countResult = await baseQuery.select(sql`COUNT(*)`.as("total")).executeTakeFirst();
1631
1611
  const total = Number(countResult?.total ?? 0);
1632
1612
  return {
1633
1613
  data: await baseQuery.selectAll().orderBy("createdAt", "desc").limit(limit).offset(offset).execute(),
@@ -2201,7 +2181,11 @@ const createVariantVersionsDataLayer = (db) => {
2201
2181
 
2202
2182
  //#endregion
2203
2183
  //#region src/datalayer/workspaceSettings.ts
2204
- const updateWorkspaceSettings = zod_default.object({ name: zod_default.string().nullable().optional() });
2184
+ const updateWorkspaceSettings = zod_default.object({
2185
+ name: zod_default.string().nullable().optional(),
2186
+ setupComplete: zod_default.boolean().optional(),
2187
+ superAdminId: zod_default.string().nullable().optional()
2188
+ });
2205
2189
  const createWorkspaceSettingsDataLayer = (db) => {
2206
2190
  return {
2207
2191
  getWorkspaceSettings: async () => {
@@ -2209,6 +2193,7 @@ const createWorkspaceSettingsDataLayer = (db) => {
2209
2193
  if (!settings) settings = await db.insertInto("workspace_settings").values({
2210
2194
  id: randomUUID(),
2211
2195
  name: null,
2196
+ setupComplete: false,
2212
2197
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
2213
2198
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
2214
2199
  }).returningAll().executeTakeFirst();
@@ -2221,11 +2206,53 @@ const createWorkspaceSettingsDataLayer = (db) => {
2221
2206
  if (!settings) return db.insertInto("workspace_settings").values({
2222
2207
  id: randomUUID(),
2223
2208
  name: value.data.name ?? null,
2209
+ setupComplete: value.data.setupComplete ?? false,
2210
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
2211
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
2212
+ }).returningAll().executeTakeFirst();
2213
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
2214
+ if (value.data.name !== void 0) updateData.name = value.data.name ?? null;
2215
+ if (value.data.setupComplete !== void 0) updateData.setupComplete = value.data.setupComplete;
2216
+ if (value.data.superAdminId !== void 0) updateData.superAdminId = value.data.superAdminId ?? null;
2217
+ return db.updateTable("workspace_settings").set(updateData).where("id", "=", settings.id).returningAll().executeTakeFirst();
2218
+ },
2219
+ getSuperAdminId: async () => {
2220
+ return (await db.selectFrom("workspace_settings").select("superAdminId").executeTakeFirst())?.superAdminId ?? null;
2221
+ },
2222
+ setSuperAdminId: async (userId) => {
2223
+ let settings = await db.selectFrom("workspace_settings").selectAll().executeTakeFirst();
2224
+ if (settings?.superAdminId) return false;
2225
+ if (!settings) {
2226
+ await db.insertInto("workspace_settings").values({
2227
+ id: randomUUID(),
2228
+ name: null,
2229
+ setupComplete: false,
2230
+ superAdminId: userId,
2231
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
2232
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
2233
+ }).execute();
2234
+ return true;
2235
+ }
2236
+ await db.updateTable("workspace_settings").set({
2237
+ superAdminId: userId,
2238
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
2239
+ }).where("id", "=", settings.id).execute();
2240
+ return true;
2241
+ },
2242
+ isSetupComplete: async () => {
2243
+ return (await db.selectFrom("workspace_settings").select("setupComplete").executeTakeFirst())?.setupComplete ?? false;
2244
+ },
2245
+ markSetupComplete: async () => {
2246
+ let settings = await db.selectFrom("workspace_settings").selectAll().executeTakeFirst();
2247
+ if (!settings) return db.insertInto("workspace_settings").values({
2248
+ id: randomUUID(),
2249
+ name: null,
2250
+ setupComplete: true,
2224
2251
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
2225
2252
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
2226
2253
  }).returningAll().executeTakeFirst();
2227
2254
  return db.updateTable("workspace_settings").set({
2228
- name: value.data.name ?? null,
2255
+ setupComplete: true,
2229
2256
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
2230
2257
  }).where("id", "=", settings.id).returningAll().executeTakeFirst();
2231
2258
  }
@@ -2452,4 +2479,4 @@ function getDefaultPricingProvider() {
2452
2479
  }
2453
2480
 
2454
2481
  //#endregion
2455
- export { CacheService, FileCacheBackend, MS, MemoryCacheBackend, ModelsDevPricingProvider, SCHEMA_METADATA, SupportedProviders, calculateCost, chatCompletionCreateParamsBaseSchema, configVariantsSchema, configsSchema, createDataLayer, createDatabase, createDatabaseFromConnection, createLLMRequestsDataLayer, detectDatabaseType, dollarsToMicroDollars, environmentSecretsSchema, environmentsSchema, formatCost, gateway, generateId, getDefaultPricingProvider, getMigrations, llmRequestsSchema, llmopsConfigSchema, logger, matchType, microDollarsToDollars, parsePartialTableData, parseTableData, runAutoMigrations, schemas, targetingRulesSchema, validateLLMOpsConfig, validatePartialTableData, validateTableData, variantJsonDataSchema, variantVersionsSchema, variantsSchema, workspaceSettingsSchema };
2482
+ export { CacheService, FileCacheBackend, MS, MemoryCacheBackend, ModelsDevPricingProvider, SCHEMA_METADATA, SupportedProviders, calculateCost, chatCompletionCreateParamsBaseSchema, configVariantsSchema, configsSchema, createDataLayer, createDatabase, createDatabaseFromConnection, createLLMRequestsDataLayer, detectDatabaseType, dollarsToMicroDollars, environmentSecretsSchema, environmentsSchema, formatCost, gateway, generateId, getAuthClientOptions, getDefaultPricingProvider, getMigrations, llmRequestsSchema, llmopsConfigSchema, logger, matchType, microDollarsToDollars, parsePartialTableData, parseTableData, runAutoMigrations, schemas, targetingRulesSchema, validateLLMOpsConfig, validatePartialTableData, validateTableData, variantJsonDataSchema, variantVersionsSchema, variantsSchema, workspaceSettingsSchema };
@@ -1,4 +1,4 @@
1
- const require_db = require('./db-C_u1BuaR.cjs');
1
+ const require_db = require('./db-CpVh76Wq.cjs');
2
2
  let kysely = require("kysely");
3
3
 
4
4
  //#region src/db/node-sqlite-dialect.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llmops/core",
3
- "version": "0.1.7",
3
+ "version": "0.1.9-beta.1",
4
4
  "description": "Core LLMOps functionality and utilities",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -48,10 +48,11 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@better-auth/utils": "^0.3.0",
51
+ "better-auth": "^1.4.10",
51
52
  "hono": "^4.10.7",
52
53
  "kysely": "^0.28.8",
53
54
  "pino": "^10.1.0",
54
- "@llmops/gateway": "^0.1.7"
55
+ "@llmops/gateway": "^0.1.9-beta.1"
55
56
  },
56
57
  "scripts": {
57
58
  "build": "tsdown",