diff --git a/apps/api/drizzle.config.ts b/apps/api/drizzle.config.ts index 602bd55c..52b74a82 100644 --- a/apps/api/drizzle.config.ts +++ b/apps/api/drizzle.config.ts @@ -5,7 +5,7 @@ import { defineConfig } from 'drizzle-kit' export default defineConfig({ out: './drizzle', - schema: './src/db/schema.ts', + schema: './src/db/schema/index.ts', dialect: 'postgresql', dbCredentials: { url: process.env.DATABASE_URL! diff --git a/apps/api/eslint.config.js b/apps/api/eslint.config.js index 72b0c343..7e1b4236 100644 --- a/apps/api/eslint.config.js +++ b/apps/api/eslint.config.js @@ -12,7 +12,6 @@ export default [ ...drizzle.configs.recommended.rules, 'no-console': 'error', 'unicorn/no-array-reduce': 'off' - // 'no-restricted-imports': ['error', '@agentic/platform-db'] } }, { diff --git a/apps/api/package.json b/apps/api/package.json index 51111f83..e80e8d14 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -27,11 +27,13 @@ }, "dependencies": { "@agentic/platform-core": "workspace:*", - "@agentic/platform-db": "workspace:*", "@agentic/platform-validators": "workspace:*", + "@fisch0920/drizzle-orm": "^0.43.7", + "@fisch0920/drizzle-zod": "^0.7.9", "@hono/node-server": "^1.14.1", "@hono/sentry": "^1.2.1", "@hono/zod-openapi": "^0.19.6", + "@paralleldrive/cuid2": "^2.2.2", "@redocly/openapi-core": "^1.34.3", "@sentry/node": "^9.19.0", "better-auth": "^1.2.8", @@ -41,6 +43,7 @@ "jsonwebtoken": "^9.0.2", "p-all": "^5.0.0", "parse-json": "^8.3.0", + "postgres": "^3.4.5", "restore-cursor": "catalog:", "semver": "^7.7.2", "stripe": "^18.1.0", diff --git a/apps/api/src/api-v1/index.ts b/apps/api/src/api-v1/index.ts index 1c3fcc62..814d9964 100644 --- a/apps/api/src/api-v1/index.ts +++ b/apps/api/src/api-v1/index.ts @@ -31,8 +31,8 @@ import { registerV1TeamsMembersCreateTeamMember } from './teams/members/create-t import { registerV1TeamsMembersDeleteTeamMember } from './teams/members/delete-team-member' import { registerV1TeamsMembersUpdateTeamMember } from './teams/members/update-team-member' import { registerV1TeamsUpdateTeam } from './teams/update-team' -import { registerV1UsersGetUser } from './users/get-user' -import { registerV1UsersUpdateUser } from './users/update-user' +// import { registerV1UsersGetUser } from './users/get-user' +// import { registerV1UsersUpdateUser } from './users/update-user' import { registerV1StripeWebhook } from './webhooks/stripe-webhook' export const apiV1 = new OpenAPIHono({ @@ -65,8 +65,8 @@ const privateRouter = new OpenAPIHono() registerHealthCheck(publicRouter) // Users -registerV1UsersGetUser(privateRouter) -registerV1UsersUpdateUser(privateRouter) +// registerV1UsersGetUser(privateRouter) +// registerV1UsersUpdateUser(privateRouter) // Teams registerV1TeamsCreateTeam(privateRouter) diff --git a/apps/api/src/api-v1/users/get-user.ts b/apps/api/src/api-v1/users/get-user.ts index 64ef0bdd..767f9b7b 100644 --- a/apps/api/src/api-v1/users/get-user.ts +++ b/apps/api/src/api-v1/users/get-user.ts @@ -1,51 +1,51 @@ -import { assert, parseZodSchema } from '@agentic/platform-core' -import { createRoute, type OpenAPIHono } from '@hono/zod-openapi' +// import { assert, parseZodSchema } from '@agentic/platform-core' +// import { createRoute, type OpenAPIHono } from '@hono/zod-openapi' -import type { AuthenticatedEnv } from '@/lib/types' -import { db, eq, schema } from '@/db' -import { acl } from '@/lib/acl' -import { - openapiAuthenticatedSecuritySchemas, - openapiErrorResponse404, - openapiErrorResponses -} from '@/lib/openapi-utils' +// import type { AuthenticatedEnv } from '@/lib/types' +// import { db, eq, schema } from '@/db' +// import { acl } from '@/lib/acl' +// import { +// openapiAuthenticatedSecuritySchemas, +// openapiErrorResponse404, +// openapiErrorResponses +// } from '@/lib/openapi-utils' -import { userIdParamsSchema } from './schemas' +// import { userIdParamsSchema } from './schemas' -const route = createRoute({ - description: 'Gets a user', - tags: ['users'], - operationId: 'getUser', - method: 'get', - path: 'users/{userId}', - security: openapiAuthenticatedSecuritySchemas, - request: { - params: userIdParamsSchema - }, - responses: { - 200: { - description: 'A user object', - content: { - 'application/json': { - schema: schema.userSelectSchema - } - } - }, - ...openapiErrorResponses, - ...openapiErrorResponse404 - } -}) +// const route = createRoute({ +// description: 'Gets a user', +// tags: ['users'], +// operationId: 'getUser', +// method: 'get', +// path: 'users/{userId}', +// security: openapiAuthenticatedSecuritySchemas, +// request: { +// params: userIdParamsSchema +// }, +// responses: { +// 200: { +// description: 'A user object', +// content: { +// 'application/json': { +// schema: schema.userSelectSchema +// } +// } +// }, +// ...openapiErrorResponses, +// ...openapiErrorResponse404 +// } +// }) -export function registerV1UsersGetUser(app: OpenAPIHono) { - return app.openapi(route, async (c) => { - const { userId } = c.req.valid('param') - await acl(c, { userId }, { label: 'User' }) +// export function registerV1UsersGetUser(app: OpenAPIHono) { +// return app.openapi(route, async (c) => { +// const { userId } = c.req.valid('param') +// await acl(c, { userId }, { label: 'User' }) - const user = await db.query.users.findFirst({ - where: eq(schema.users.id, userId) - }) - assert(user, 404, `User not found "${userId}"`) +// const user = await db.query.users.findFirst({ +// where: eq(schema.users.id, userId) +// }) +// assert(user, 404, `User not found "${userId}"`) - return c.json(parseZodSchema(schema.userSelectSchema, user)) - }) -} +// return c.json(parseZodSchema(schema.userSelectSchema, user)) +// }) +// } diff --git a/apps/api/src/api-v1/users/update-user.ts b/apps/api/src/api-v1/users/update-user.ts index 7bb66b87..dc040672 100644 --- a/apps/api/src/api-v1/users/update-user.ts +++ b/apps/api/src/api-v1/users/update-user.ts @@ -1,62 +1,62 @@ -import { assert, parseZodSchema } from '@agentic/platform-core' -import { createRoute, type OpenAPIHono } from '@hono/zod-openapi' +// import { assert, parseZodSchema } from '@agentic/platform-core' +// import { createRoute, type OpenAPIHono } from '@hono/zod-openapi' -import type { AuthenticatedEnv } from '@/lib/types' -import { db, eq, schema } from '@/db' -import { acl } from '@/lib/acl' -import { - openapiAuthenticatedSecuritySchemas, - openapiErrorResponse404, - openapiErrorResponses -} from '@/lib/openapi-utils' +// import type { AuthenticatedEnv } from '@/lib/types' +// import { db, eq, schema } from '@/db' +// import { acl } from '@/lib/acl' +// import { +// openapiAuthenticatedSecuritySchemas, +// openapiErrorResponse404, +// openapiErrorResponses +// } from '@/lib/openapi-utils' -import { userIdParamsSchema } from './schemas' +// import { userIdParamsSchema } from './schemas' -const route = createRoute({ - description: 'Updates a user', - tags: ['users'], - operationId: 'updateUser', - method: 'post', - path: 'users/{userId}', - security: openapiAuthenticatedSecuritySchemas, - request: { - params: userIdParamsSchema, - body: { - required: true, - content: { - 'application/json': { - schema: schema.userUpdateSchema - } - } - } - }, - responses: { - 200: { - description: 'A user object', - content: { - 'application/json': { - schema: schema.userSelectSchema - } - } - }, - ...openapiErrorResponses, - ...openapiErrorResponse404 - } -}) +// const route = createRoute({ +// description: 'Updates a user', +// tags: ['users'], +// operationId: 'updateUser', +// method: 'post', +// path: 'users/{userId}', +// security: openapiAuthenticatedSecuritySchemas, +// request: { +// params: userIdParamsSchema, +// body: { +// required: true, +// content: { +// 'application/json': { +// schema: schema.userUpdateSchema +// } +// } +// } +// }, +// responses: { +// 200: { +// description: 'A user object', +// content: { +// 'application/json': { +// schema: schema.userSelectSchema +// } +// } +// }, +// ...openapiErrorResponses, +// ...openapiErrorResponse404 +// } +// }) -export function registerV1UsersUpdateUser(app: OpenAPIHono) { - return app.openapi(route, async (c) => { - const { userId } = c.req.valid('param') - await acl(c, { userId }, { label: 'User' }) - const body = c.req.valid('json') +// export function registerV1UsersUpdateUser(app: OpenAPIHono) { +// return app.openapi(route, async (c) => { +// const { userId } = c.req.valid('param') +// await acl(c, { userId }, { label: 'User' }) +// const body = c.req.valid('json') - const [user] = await db - .update(schema.users) - .set(body) - .where(eq(schema.users.id, userId)) - .returning() - assert(user, 404, `User not found "${userId}"`) +// const [user] = await db +// .update(schema.users) +// .set(body) +// .where(eq(schema.users.id, userId)) +// .returning() +// assert(user, 404, `User not found "${userId}"`) - return c.json(parseZodSchema(schema.userSelectSchema, user)) - }) -} +// return c.json(parseZodSchema(schema.userSelectSchema, user)) +// }) +// } diff --git a/apps/api/src/db/index.ts b/apps/api/src/db/index.ts index 217f366e..b2e9afbb 100644 --- a/apps/api/src/db/index.ts +++ b/apps/api/src/db/index.ts @@ -1,18 +1,54 @@ -// The only place we allow `@agentic/platform-db` imports is in this directory. - -import { - drizzle, - postgres, - type PostgresClient, - schema -} from '@agentic/platform-db' +import { drizzle } from '@fisch0920/drizzle-orm/postgres-js' +import postgres from 'postgres' import { env } from '@/lib/env' +import * as schema from './schema' + +type PostgresClient = ReturnType + let _postgresClient: PostgresClient | undefined const postgresClient = _postgresClient ?? (_postgresClient = postgres(env.DATABASE_URL)) export const db = drizzle({ client: postgresClient, schema }) -export * from '@agentic/platform-db' +export * as schema from './schema' +export { + createIdForModel, + idMaxLength, + idPrefixMap, + type ModelType +} from './schema/common' +export * from './schema/schemas' +export * from './schemas' +export type * from './types' +export * from './utils' +export { + and, + arrayContained, + arrayContains, + arrayOverlaps, + asc, + between, + desc, + eq, + exists, + gt, + gte, + ilike, + inArray, + isNotNull, + isNull, + like, + lt, + lte, + ne, + not, + notBetween, + notExists, + notIlike, + notInArray, + notLike, + or +} from '@fisch0920/drizzle-orm' diff --git a/apps/api/src/db/schema.ts b/apps/api/src/db/schema.ts deleted file mode 100644 index c28f6f5d..00000000 --- a/apps/api/src/db/schema.ts +++ /dev/null @@ -1,3 +0,0 @@ -// The only place we allow `@agentic/platform-db` imports is in this directory. - -export * from '@agentic/platform-db' diff --git a/packages/db/src/schema/auth.ts b/apps/api/src/db/schema/auth.ts similarity index 100% rename from packages/db/src/schema/auth.ts rename to apps/api/src/db/schema/auth.ts diff --git a/packages/db/src/schema/common.test.ts b/apps/api/src/db/schema/common.test.ts similarity index 100% rename from packages/db/src/schema/common.test.ts rename to apps/api/src/db/schema/common.test.ts diff --git a/packages/db/src/schema/common.ts b/apps/api/src/db/schema/common.ts similarity index 100% rename from packages/db/src/schema/common.ts rename to apps/api/src/db/schema/common.ts diff --git a/packages/db/src/schema/consumer.ts b/apps/api/src/db/schema/consumer.ts similarity index 100% rename from packages/db/src/schema/consumer.ts rename to apps/api/src/db/schema/consumer.ts diff --git a/packages/db/src/schema/deployment.ts b/apps/api/src/db/schema/deployment.ts similarity index 100% rename from packages/db/src/schema/deployment.ts rename to apps/api/src/db/schema/deployment.ts diff --git a/packages/db/src/schema/index.ts b/apps/api/src/db/schema/index.ts similarity index 100% rename from packages/db/src/schema/index.ts rename to apps/api/src/db/schema/index.ts diff --git a/packages/db/src/schema/log-entry.ts b/apps/api/src/db/schema/log-entry.ts similarity index 100% rename from packages/db/src/schema/log-entry.ts rename to apps/api/src/db/schema/log-entry.ts diff --git a/packages/db/src/schema/project.ts b/apps/api/src/db/schema/project.ts similarity index 100% rename from packages/db/src/schema/project.ts rename to apps/api/src/db/schema/project.ts diff --git a/packages/db/src/schema/schemas.ts b/apps/api/src/db/schema/schemas.ts similarity index 100% rename from packages/db/src/schema/schemas.ts rename to apps/api/src/db/schema/schemas.ts diff --git a/packages/db/src/schema/team-member.ts b/apps/api/src/db/schema/team-member.ts similarity index 100% rename from packages/db/src/schema/team-member.ts rename to apps/api/src/db/schema/team-member.ts diff --git a/packages/db/src/schema/team.ts b/apps/api/src/db/schema/team.ts similarity index 100% rename from packages/db/src/schema/team.ts rename to apps/api/src/db/schema/team.ts diff --git a/packages/db/src/schema/temp b/apps/api/src/db/schema/temp similarity index 100% rename from packages/db/src/schema/temp rename to apps/api/src/db/schema/temp diff --git a/packages/db/src/schema/user.ts b/apps/api/src/db/schema/user.ts similarity index 98% rename from packages/db/src/schema/user.ts rename to apps/api/src/db/schema/user.ts index ff39260a..09e297e4 100644 --- a/packages/db/src/schema/user.ts +++ b/apps/api/src/db/schema/user.ts @@ -11,6 +11,7 @@ import { createSelectSchema, stripeId, timestamps, + username, // username, userPrimaryId, userRoleEnum @@ -31,7 +32,7 @@ export const users = pgTable( image: text('image'), // TODO: re-add username - // username: username().notNull().unique(), + username: username(), role: userRoleEnum().default('user').notNull(), isStripeConnectEnabledByDefault: boolean().default(true).notNull(), diff --git a/packages/db/src/schemas.ts b/apps/api/src/db/schemas.ts similarity index 100% rename from packages/db/src/schemas.ts rename to apps/api/src/db/schemas.ts diff --git a/packages/db/src/types.test.ts b/apps/api/src/db/types.test.ts similarity index 100% rename from packages/db/src/types.test.ts rename to apps/api/src/db/types.test.ts diff --git a/packages/db/src/types.ts b/apps/api/src/db/types.ts similarity index 100% rename from packages/db/src/types.ts rename to apps/api/src/db/types.ts diff --git a/packages/db/src/utils.ts b/apps/api/src/db/utils.ts similarity index 100% rename from packages/db/src/utils.ts rename to apps/api/src/db/utils.ts diff --git a/apps/api/src/lib/auth.ts b/apps/api/src/lib/auth.ts index 6c0c8196..efebfc34 100644 --- a/apps/api/src/lib/auth.ts +++ b/apps/api/src/lib/auth.ts @@ -1,6 +1,7 @@ -// import { validators } from '@agentic/platform-validators' +import { validators } from '@agentic/platform-validators' import { betterAuth } from 'better-auth' import { drizzleAdapter } from 'better-auth/adapters/drizzle' +import { username } from 'better-auth/plugins' import { createIdForModel, db } from '@/db' @@ -51,11 +52,10 @@ export const auth = betterAuth({ database: { generateId: ({ model }) => createIdForModel(model as any) } - } - // TODO - // plugins: [ - // username({ - // usernameValidator: validators.username - // }) - // ] + }, + plugins: [ + username({ + usernameValidator: validators.username + }) + ] }) diff --git a/apps/api/src/lib/billing/upsert-stripe-customer.ts b/apps/api/src/lib/billing/upsert-stripe-customer.ts index 1b788946..6e752dfc 100644 --- a/apps/api/src/lib/billing/upsert-stripe-customer.ts +++ b/apps/api/src/lib/billing/upsert-stripe-customer.ts @@ -38,7 +38,8 @@ export async function upsertStripeCustomer(ctx: AuthenticatedContext): Promise<{ // TODO: add more metadata referencing signup LogEntry const metadata = { userId: user.id, - username: user.username + email: user.email, + username: user.username ?? null } const stripeCustomer = await stripe.customers.create({ diff --git a/apps/api/src/lib/middleware/authenticate.ts b/apps/api/src/lib/middleware/authenticate.ts index c25d0d31..913b873b 100644 --- a/apps/api/src/lib/middleware/authenticate.ts +++ b/apps/api/src/lib/middleware/authenticate.ts @@ -16,7 +16,7 @@ export const authenticate = createMiddleware( assert(session.session, 401, 'Unauthorized') ctx.set('userId', session.user.id) - ctx.set('user', session.user) + ctx.set('user', session.user as any) // TODO: resolve AuthUser and RawUser types ctx.set('session', session.session) await next() diff --git a/apps/api/src/lib/github.ts b/apps/api/src/lib/temp similarity index 100% rename from apps/api/src/lib/github.ts rename to apps/api/src/lib/temp diff --git a/apps/api/src/lib/types.ts b/apps/api/src/lib/types.ts index 3935a1ff..412ee543 100644 --- a/apps/api/src/lib/types.ts +++ b/apps/api/src/lib/types.ts @@ -1,6 +1,6 @@ import type { Context } from 'hono' -import type { RawTeamMember } from '@/db' +import type { RawTeamMember, RawUser } from '@/db' import type { auth } from './auth' import type { Env } from './env' @@ -11,7 +11,7 @@ export type { OpenAPI3 as LooseOpenAPI3Spec } from 'openapi-typescript' export type Environment = Env['NODE_ENV'] export type Service = 'api' -export type AuthUser = typeof auth.$Infer.Session.user +// export type AuthUser = typeof auth.$Infer.Session.user export type AuthSession = typeof auth.$Infer.Session.session export type DefaultEnvVariables = { @@ -21,7 +21,7 @@ export type DefaultEnvVariables = { export type AuthenticatedEnvVariables = DefaultEnvVariables & { userId: string - user?: AuthUser + user?: RawUser session?: AuthSession teamMember?: RawTeamMember } diff --git a/packages/cli/package.json b/packages/cli/package.json index 74e2fe9a..61bc3e7f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -27,8 +27,9 @@ "test:typecheck": "tsc --noEmit" }, "dependencies": { - "@agentic/platform-core": "workspace:*", "@agentic/platform-api-client": "workspace:*", + "@agentic/platform-core": "workspace:*", + "better-auth": "^1.2.8", "commander": "^14.0.0", "conf": "^13.1.0", "inquirer": "^9.2.15", diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index d2ba5716..e3bafe34 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1,3 +1,4 @@ +import { createAuthClient } from 'better-auth/client' import { Command } from 'commander' import restoreCursor from 'restore-cursor' @@ -8,9 +9,19 @@ import { publish } from './commands/publish' import { rm } from './commands/rm' import { signin } from './commands/signin' +const authClient = createAuthClient({ + baseURL: 'http://localhost:3000/v1/auth' +}) + async function main() { restoreCursor() + const res = await authClient.signIn.social({ + provider: 'github' + }) + console.log(res) + return + const program = new Command() program.addCommand(signin) program.addCommand(get) diff --git a/packages/db/package.json b/packages/db/package.json deleted file mode 100644 index f2be8cbd..00000000 --- a/packages/db/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "@agentic/platform-db", - "private": true, - "version": "0.0.1", - "description": "Postgres database schemas and types for the Agentic platform using Drizzle as the ORM.", - "author": "Travis Fischer ", - "license": "UNLICENSED", - "repository": { - "type": "git", - "url": "git+https://github.com/transitive-bullshit/agentic-platform.git", - "directory": "packages/db" - }, - "type": "module", - "main": "./src/index.ts", - "source": "./src/index.ts", - "types": "./src/index.ts", - "sideEffects": false, - "exports": { - ".": "./src/index.ts" - }, - "scripts": { - "test": "run-s test:*", - "test:lint": "eslint .", - "test:typecheck": "tsc --noEmit", - "test:unit": "vitest run" - }, - "dependencies": { - "@agentic/platform-core": "workspace:*", - "@agentic/platform-validators": "workspace:*", - "@fisch0920/drizzle-orm": "^0.43.7", - "@fisch0920/drizzle-zod": "^0.7.9", - "@hono/zod-openapi": "^0.19.6", - "@paralleldrive/cuid2": "^2.2.2", - "bcryptjs": "^3.0.2", - "hono": "^4.7.9", - "parse-json": "^8.3.0", - "postgres": "^3.4.5", - "type-fest": "catalog:", - "zod": "catalog:" - } -} diff --git a/packages/db/src/index.ts b/packages/db/src/index.ts deleted file mode 100644 index 6e5ddbea..00000000 --- a/packages/db/src/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type postgres from 'postgres' - -export { drizzle } from '@fisch0920/drizzle-orm/postgres-js' - -export type PostgresClient = ReturnType - -export * as schema from './schema' -export { - createIdForModel, - idMaxLength, - idPrefixMap, - type ModelType -} from './schema/common' -export * from './schema/schemas' -export * from './schemas' -export type * from './types' -export * from './utils' -export { - and, - arrayContained, - arrayContains, - arrayOverlaps, - asc, - between, - desc, - eq, - exists, - gt, - gte, - ilike, - inArray, - isNotNull, - isNull, - like, - lt, - lte, - ne, - not, - notBetween, - notExists, - notIlike, - notInArray, - notLike, - or -} from '@fisch0920/drizzle-orm' -export { default as postgres } from 'postgres' diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json deleted file mode 100644 index ce6d4e23..00000000 --- a/packages/db/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "@fisch0920/config/tsconfig-node", - "include": ["src", "*.config.ts"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81854ca9..2d682809 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -131,12 +131,15 @@ importers: '@agentic/platform-core': specifier: workspace:* version: link:../../packages/core - '@agentic/platform-db': - specifier: workspace:* - version: link:../../packages/db '@agentic/platform-validators': specifier: workspace:* version: link:../../packages/validators + '@fisch0920/drizzle-orm': + specifier: ^0.43.7 + version: 0.43.7(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(kysely@0.28.2)(postgres@3.4.5) + '@fisch0920/drizzle-zod': + specifier: ^0.7.9 + version: 0.7.9(@fisch0920/drizzle-orm@0.43.7(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(kysely@0.28.2)(postgres@3.4.5))(zod@3.24.4) '@hono/node-server': specifier: ^1.14.1 version: 1.14.1(hono@4.7.9) @@ -146,6 +149,9 @@ importers: '@hono/zod-openapi': specifier: ^0.19.6 version: 0.19.6(hono@4.7.9)(zod@3.24.4) + '@paralleldrive/cuid2': + specifier: ^2.2.2 + version: 2.2.2 '@redocly/openapi-core': specifier: ^1.34.3 version: 1.34.3(supports-color@10.0.0) @@ -173,6 +179,9 @@ importers: parse-json: specifier: ^8.3.0 version: 8.3.0 + postgres: + specifier: ^3.4.5 + version: 3.4.5 restore-cursor: specifier: 'catalog:' version: 5.1.0 @@ -229,6 +238,9 @@ importers: '@agentic/platform-core': specifier: workspace:* version: link:../core + better-auth: + specifier: ^1.2.8 + version: 1.2.8 commander: specifier: ^14.0.0 version: 14.0.0 @@ -271,45 +283,6 @@ importers: specifier: ^4.7.9 version: 4.7.9 - packages/db: - dependencies: - '@agentic/platform-core': - specifier: workspace:* - version: link:../core - '@agentic/platform-validators': - specifier: workspace:* - version: link:../validators - '@fisch0920/drizzle-orm': - specifier: ^0.43.7 - version: 0.43.7(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(kysely@0.28.2)(postgres@3.4.5) - '@fisch0920/drizzle-zod': - specifier: ^0.7.9 - version: 0.7.9(@fisch0920/drizzle-orm@0.43.7(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(kysely@0.28.2)(postgres@3.4.5))(zod@3.24.4) - '@hono/zod-openapi': - specifier: ^0.19.6 - version: 0.19.6(hono@4.7.9)(zod@3.24.4) - '@paralleldrive/cuid2': - specifier: ^2.2.2 - version: 2.2.2 - bcryptjs: - specifier: ^3.0.2 - version: 3.0.2 - hono: - specifier: ^4.7.9 - version: 4.7.9 - parse-json: - specifier: ^8.3.0 - version: 8.3.0 - postgres: - specifier: ^3.4.5 - version: 3.4.5 - type-fest: - specifier: 'catalog:' - version: 4.41.0 - zod: - specifier: 'catalog:' - version: 3.24.4 - packages/validators: dependencies: '@paralleldrive/cuid2': @@ -1544,10 +1517,6 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - bcryptjs@3.0.2: - resolution: {integrity: sha512-k38b3XOZKv60C4E2hVsXTolJWfkGRMbILBIe2IBITXciy5bOsTKot5kDrf3ZfufQtQOUN5mXceUEpU1rTl9Uog==} - hasBin: true - better-auth@1.2.8: resolution: {integrity: sha512-y8ry7ZW3/3ZIr82Eo1zUDtMzdoQlFnwNuZ0+b0RxoNZgqmvgTIc/0tCDC7NDJerqSu4UCzer0dvYxBsv3WMIGg==} @@ -5135,8 +5104,6 @@ snapshots: base64-js@1.5.1: {} - bcryptjs@3.0.2: {} - better-auth@1.2.8: dependencies: '@better-auth/utils': 0.2.5