diff --git a/.prettierrc.cjs b/.prettierrc.cjs index f46033e..3598602 100644 --- a/.prettierrc.cjs +++ b/.prettierrc.cjs @@ -9,7 +9,7 @@ module.exports = { bracketSameLine: false, arrowParens: 'always', trailingComma: 'none', - importOrder: ['^node:.*', '', '^(@/(.*)$)', '^[./]'], + importOrder: ['^node:.*', '', '^(~/(.*)$)', '^[./]'], importOrderSeparation: true, importOrderSortSpecifiers: true, importOrderGroupNamespaceSpecifiers: true diff --git a/src/lib/create-thread.ts b/src/lib/create-thread.ts index e50bd9a..51c1303 100644 --- a/src/lib/create-thread.ts +++ b/src/lib/create-thread.ts @@ -2,7 +2,8 @@ import type { z } from '@hono/zod-openapi' import createError from 'http-errors' import pMap from 'p-map' -import * as routes from '../generated/oai-routes' +import * as routes from '~/generated/oai-routes' + import * as utils from './utils' import { prisma } from './db' diff --git a/src/lib/oai.test.ts b/src/lib/oai.test.ts index 451a6f0..6c7eaa6 100644 --- a/src/lib/oai.test.ts +++ b/src/lib/oai.test.ts @@ -2,7 +2,8 @@ import type * as prisma from '@prisma/client' import type { z } from '@hono/zod-openapi' import { describe, expectTypeOf, it } from 'vitest' -import type * as oai from '../generated/oai' +import type * as oai from '~/generated/oai' + import type { OAITypeToPrismaType, PrismaTypeToOAIType } from './utils' describe('Assistant', () => { diff --git a/src/lib/prisma-json-types.d.ts b/src/lib/prisma-json-types.d.ts index 8408168..e4ca56b 100644 --- a/src/lib/prisma-json-types.d.ts +++ b/src/lib/prisma-json-types.d.ts @@ -1,6 +1,6 @@ import type { JsonifiableObject } from 'type-fest' -import type * as oai from '../generated/oai' +import type * as oai from '~/generated/oai' declare global { /** diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 6adda1c..e4dc8cf 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -6,7 +6,8 @@ import type { Simplify } from 'type-fest' import { type FluffyAssistantTools, type RunStepDetailsToolCallsObject -} from '../generated/oai' +} from '~/generated/oai' + import '../prisma-json-types.d.ts' export type OAITypeToPrismaType> = Simplify< diff --git a/src/runner/index.ts b/src/runner/index.ts index 3ceaab9..a65100c 100644 --- a/src/runner/index.ts +++ b/src/runner/index.ts @@ -2,16 +2,17 @@ import { Msg, type Prompt, extractJsonObject } from '@dexaai/dexter/prompt' import { Worker } from 'bullmq' import { asyncExitHook } from 'exit-hook' import pMap from 'p-map' -import type { RunStepDetailsToolCallsObject } from 'src/generated/oai' + +import * as config from '~/lib/config' +import type { RunStepDetailsToolCallsObject } from '~/generated/oai' +import { type Run, type RunStep, prisma } from '~/lib/db' +import type { JobData, JobResult } from '~/lib/types' import { convertAssistantToolCallsToChatMessage, convertAssistantToolsToChatMessageTools, deepMergeArray -} from 'src/lib/utils' +} from '~/lib/utils' -import * as config from '../lib/config' -import { type Run, prisma } from '../lib/db' -import type { JobData, JobResult } from '../lib/types' import { chatModel } from './models' export const worker = new Worker( diff --git a/src/runner/models.ts b/src/runner/models.ts index 9ecde35..963f0fe 100644 --- a/src/runner/models.ts +++ b/src/runner/models.ts @@ -1,7 +1,7 @@ import { ChatModel, createOpenAIClient } from '@dexaai/dexter/model' import 'dotenv/config' -import * as config from '../lib/config' +import * as config from '~/lib/config' // TODO: support non-OpenAI models export const chatModel = new ChatModel({ diff --git a/src/assistant-files.ts b/src/server/assistant-files.ts similarity index 93% rename from src/assistant-files.ts rename to src/server/assistant-files.ts index 07c329a..01e6844 100644 --- a/src/assistant-files.ts +++ b/src/server/assistant-files.ts @@ -1,8 +1,8 @@ import { OpenAPIHono } from '@hono/zod-openapi' -import * as routes from './generated/oai-routes' -import * as utils from './lib/utils' -import { prisma } from './lib/db' +import * as routes from '~/generated/oai-routes' +import * as utils from '~/lib/utils' +import { prisma } from '~/lib/db' const app: OpenAPIHono = new OpenAPIHono() diff --git a/src/assistants.ts b/src/server/assistants.ts similarity index 93% rename from src/assistants.ts rename to src/server/assistants.ts index a20b054..49d125c 100644 --- a/src/assistants.ts +++ b/src/server/assistants.ts @@ -1,8 +1,8 @@ import { OpenAPIHono } from '@hono/zod-openapi' -import * as routes from './generated/oai-routes' -import * as utils from './lib/utils' -import { prisma } from './lib/db' +import * as routes from '~/generated/oai-routes' +import * as utils from '~/lib/utils' +import { prisma } from '~/lib/db' const app: OpenAPIHono = new OpenAPIHono() diff --git a/src/files.ts b/src/server/files.ts similarity index 94% rename from src/files.ts rename to src/server/files.ts index d0b2acc..de1b725 100644 --- a/src/files.ts +++ b/src/server/files.ts @@ -3,10 +3,10 @@ import { sha256 } from 'crypto-hash' import { fileTypeFromBuffer } from 'file-type' import createHttpError from 'http-errors' -import * as routes from './generated/oai-routes' -import * as storage from './lib/storage' -import * as utils from './lib/utils' -import { prisma } from './lib/db' +import * as routes from '~/generated/oai-routes' +import * as storage from '~/lib/storage' +import * as utils from '~/lib/utils' +import { prisma } from '~/lib/db' const app: OpenAPIHono = new OpenAPIHono() diff --git a/src/index.ts b/src/server/index.ts similarity index 95% rename from src/index.ts rename to src/server/index.ts index f51f17a..fbc752d 100644 --- a/src/index.ts +++ b/src/server/index.ts @@ -5,11 +5,12 @@ import { OpenAPIHono } from '@hono/zod-openapi' import 'dotenv/config' import { asyncExitHook } from 'exit-hook' +import { prisma } from '~/lib/db' +import { queue } from '~/lib/queue' + import assistantFiles from './assistant-files' import assistants from './assistants' import files from './files' -import { prisma } from './lib/db' -import { queue } from './lib/queue' import messageFiles from './message-files' import messages from './messages' import runSteps from './run-steps' diff --git a/src/message-files.ts b/src/server/message-files.ts similarity index 90% rename from src/message-files.ts rename to src/server/message-files.ts index 155702b..31b5fb2 100644 --- a/src/message-files.ts +++ b/src/server/message-files.ts @@ -1,8 +1,8 @@ import { OpenAPIHono } from '@hono/zod-openapi' -import * as routes from './generated/oai-routes' -import * as utils from './lib/utils' -import { prisma } from './lib/db' +import * as routes from '~/generated/oai-routes' +import * as utils from '~/lib/utils' +import { prisma } from '~/lib/db' const app: OpenAPIHono = new OpenAPIHono() diff --git a/src/messages.ts b/src/server/messages.ts similarity index 95% rename from src/messages.ts rename to src/server/messages.ts index a67c7fd..acd99e7 100644 --- a/src/messages.ts +++ b/src/server/messages.ts @@ -1,9 +1,9 @@ import { OpenAPIHono } from '@hono/zod-openapi' import createError from 'http-errors' -import * as routes from './generated/oai-routes' -import * as utils from './lib/utils' -import { prisma } from './lib/db' +import * as routes from '~/generated/oai-routes' +import * as utils from '~/lib/utils' +import { prisma } from '~/lib/db' const app: OpenAPIHono = new OpenAPIHono() diff --git a/src/run-steps.ts b/src/server/run-steps.ts similarity index 88% rename from src/run-steps.ts rename to src/server/run-steps.ts index b91cf63..052b315 100644 --- a/src/run-steps.ts +++ b/src/server/run-steps.ts @@ -1,8 +1,8 @@ import { OpenAPIHono } from '@hono/zod-openapi' -import * as routes from './generated/oai-routes' -import * as utils from './lib/utils' -import { prisma } from './lib/db' +import * as routes from '~/generated/oai-routes' +import * as utils from '~/lib/utils' +import { prisma } from '~/lib/db' const app: OpenAPIHono = new OpenAPIHono() diff --git a/src/runs.ts b/src/server/runs.ts similarity index 96% rename from src/runs.ts rename to src/server/runs.ts index 592c2cc..b15f289 100644 --- a/src/runs.ts +++ b/src/server/runs.ts @@ -2,12 +2,12 @@ import { OpenAPIHono } from '@hono/zod-openapi' import { Prisma } from '@prisma/client' import createHttpError from 'http-errors' -import * as routes from './generated/oai-routes' -import * as config from './lib/config' -import * as utils from './lib/utils' -import { createThread } from './lib/create-thread' -import { prisma } from './lib/db' -import { getJobId, queue } from './lib/queue' +import * as routes from '~/generated/oai-routes' +import * as config from '~/lib/config' +import * as utils from '~/lib/utils' +import { createThread } from '~/lib/create-thread' +import { prisma } from '~/lib/db' +import { getJobId, queue } from '~/lib/queue' const app: OpenAPIHono = new OpenAPIHono() diff --git a/src/threads.ts b/src/server/threads.ts similarity index 89% rename from src/threads.ts rename to src/server/threads.ts index 55655c1..70184d3 100644 --- a/src/threads.ts +++ b/src/server/threads.ts @@ -1,9 +1,9 @@ import { OpenAPIHono } from '@hono/zod-openapi' -import * as routes from './generated/oai-routes' -import * as utils from './lib/utils' -import { createThread } from './lib/create-thread' -import { prisma } from './lib/db' +import * as routes from '~/generated/oai-routes' +import * as utils from '~/lib/utils' +import { createThread } from '~/lib/create-thread' +import { prisma } from '~/lib/db' const app: OpenAPIHono = new OpenAPIHono() diff --git a/tsconfig.json b/tsconfig.json index 9e089ef..cbd2068 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,6 +26,9 @@ "sourceMap": true, "noEmit": false, "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "paths": { + "~/*": ["src/*"] + } } }