diff --git a/.npmrc b/.npmrc index cffe8cdef1..8ecc8da3d9 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ save-exact=true +inject-workspace-packages=true diff --git a/apps/api/package.json b/apps/api/package.json index ee25d4eba1..1afcab7ad0 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -4,10 +4,12 @@ "private": true, "type": "module", "scripts": { - "build": "tsc", - "dev": "nodemon -e ts,json --exec 'tsx src/serve.ts'" + "build": "tsc && tsup", + "dev": "nodemon -e ts,json --exec 'tsx src/serve.ts'", + "start": "node dist/serve.js" }, "dependencies": { + "@hono/node-server": "^1.14.1", "@hono/swagger-ui": "^0.5.1", "@hono/zod-openapi": "^0.19.6", "@hono/zod-validator": "^0.4.3", @@ -21,7 +23,6 @@ "zod-openapi": "^4.2.4" }, "devDependencies": { - "@hono/node-server": "^1.14.1", "@types/node": "^22.15.17", "nodemon": "^3.1.10", "tsx": "^4.19.3", diff --git a/apps/api/tsup.config.ts b/apps/api/tsup.config.ts new file mode 100644 index 0000000000..759c9786c1 --- /dev/null +++ b/apps/api/tsup.config.ts @@ -0,0 +1,3 @@ +import { tsup } from "../../tsup.config"; + +export { tsup }; diff --git a/apps/gateway/package.json b/apps/gateway/package.json index 2cd3e533f0..9db3996d70 100644 --- a/apps/gateway/package.json +++ b/apps/gateway/package.json @@ -4,24 +4,28 @@ "private": true, "type": "module", "scripts": { - "build": "tsc && pnpm generate:openapi", + "build": "tsc && tsup && pnpm generate:openapi", "dev": "nodemon -e ts,json --exec 'tsx src/serve.ts'", - "generate:openapi": "tsx ./src/scripts/generate-openapi.ts" + "generate:openapi": "tsx ./src/scripts/generate-openapi.ts", + "start": "node dist/serve.js" }, "dependencies": { + "@hono/node-server": "^1.14.1", "@hono/swagger-ui": "^0.5.1", "@hono/zod-openapi": "^0.19.6", "@hono/zod-validator": "^0.4.3", "@openllm/db": "workspace:*", + "@openllm/models": "workspace:*", "hono": "^4.7.6", "hono-openapi": "^0.4.6", "zod": "3.24.3", "zod-openapi": "^4.2.4" }, "devDependencies": { - "@hono/node-server": "^1.14.1", "@types/node": "^22.15.17", + "esbuild-fix-imports-plugin": "1.0.20", "nodemon": "^3.1.10", + "tsup": "8.4.0", "tsx": "^4.19.3", "typescript": "^5.0.0" } diff --git a/apps/gateway/tsup.config.ts b/apps/gateway/tsup.config.ts new file mode 100644 index 0000000000..759c9786c1 --- /dev/null +++ b/apps/gateway/tsup.config.ts @@ -0,0 +1,3 @@ +import { tsup } from "../../tsup.config"; + +export { tsup }; diff --git a/package.json b/package.json index dab13d3f98..808536831e 100644 --- a/package.json +++ b/package.json @@ -35,10 +35,12 @@ "@steebchen/prettier-config": "^1.4.2", "concurrently": "^9.1.2", "cross-env-shell": "7.0.3", + "esbuild-fix-imports-plugin": "1.0.20", "eslint": "^9.24.0", "husky": "^9.1.7", "prettier": "^3.5.3", "prettier-plugin-tailwindcss": "^0.6.11", + "tsup": "8.4.0", "turbo": "^1.10.0", "vite": "^6.3.4", "vite-tsconfig-paths": "^5.1.4", diff --git a/packages/auth/package.json b/packages/auth/package.json index c7bca9277e..02d907cbd1 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -13,7 +13,9 @@ "main": "./dist/index.cjs", "module": "./dist/index.js", "types": "./dist/index.d.ts", - "scripts": {}, + "scripts": { + "build": "tsc && tsup" + }, "dependencies": { "better-auth": "1.2.7" } diff --git a/packages/auth/src/auth.spec.ts b/packages/auth/src/auth.spec.ts index 8f0bedc1d9..0345a65646 100644 --- a/packages/auth/src/auth.spec.ts +++ b/packages/auth/src/auth.spec.ts @@ -65,13 +65,13 @@ describe("auth hooks", () => { }); expect(userOrganization).not.toBeNull(); - expect(userOrganization?.organization.name).toBe("Default Organization"); + expect(userOrganization?.organization?.name).toBe("Default Organization"); // Check if a project was created for the organization const project = await db.query.project.findFirst({ where: { organizationId: { - eq: userOrganization!.organization.id, + eq: userOrganization!.organization?.id, }, }, }); diff --git a/packages/auth/tsup.config.ts b/packages/auth/tsup.config.ts new file mode 100644 index 0000000000..759c9786c1 --- /dev/null +++ b/packages/auth/tsup.config.ts @@ -0,0 +1,3 @@ +import { tsup } from "../../tsup.config"; + +export { tsup }; diff --git a/packages/db/package.json b/packages/db/package.json index b88bf7e236..843b0b4642 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -13,7 +13,11 @@ "main": "./dist/index.cjs", "module": "./dist/index.js", "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], "scripts": { + "build": "tsc && tsup", "push": "pnpm drizzle-kit push --force --config drizzle.config.ts", "reset": "tsx reset.ts", "seed": "tsx seed.ts" diff --git a/packages/db/tsup.config.ts b/packages/db/tsup.config.ts new file mode 100644 index 0000000000..759c9786c1 --- /dev/null +++ b/packages/db/tsup.config.ts @@ -0,0 +1,3 @@ +import { tsup } from "../../tsup.config"; + +export { tsup }; diff --git a/packages/models/package.json b/packages/models/package.json index a53dfb1f14..b57f5c321b 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -13,7 +13,12 @@ "main": "./dist/index.cjs", "module": "./dist/index.js", "types": "./dist/index.d.ts", - "scripts": {}, + "files": [ + "dist/" + ], + "scripts": { + "build": "tsc && tsup" + }, "dependencies": {}, "devDependencies": {} } diff --git a/packages/models/tsup.config.ts b/packages/models/tsup.config.ts new file mode 100644 index 0000000000..759c9786c1 --- /dev/null +++ b/packages/models/tsup.config.ts @@ -0,0 +1,3 @@ +import { tsup } from "../../tsup.config"; + +export { tsup }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea911bb801..a594a5df4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,6 +3,7 @@ lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false + injectWorkspacePackages: true importers: @@ -30,6 +31,9 @@ importers: cross-env-shell: specifier: 7.0.3 version: 7.0.3 + esbuild-fix-imports-plugin: + specifier: 1.0.20 + version: 1.0.20 eslint: specifier: ^9.24.0 version: 9.24.0(jiti@2.4.2) @@ -42,6 +46,9 @@ importers: prettier-plugin-tailwindcss: specifier: ^0.6.11 version: 0.6.11(prettier@3.5.3) + tsup: + specifier: 8.4.0 + version: 8.4.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.7.1) turbo: specifier: ^1.10.0 version: 1.13.4 @@ -57,6 +64,9 @@ importers: apps/api: dependencies: + '@hono/node-server': + specifier: ^1.14.1 + version: 1.14.1(hono@4.7.6) '@hono/swagger-ui': specifier: ^0.5.1 version: 0.5.1(hono@4.7.6) @@ -91,9 +101,6 @@ importers: specifier: ^4.2.4 version: 4.2.4(zod@3.24.3) devDependencies: - '@hono/node-server': - specifier: ^1.14.1 - version: 1.14.1(hono@4.7.6) '@types/node': specifier: ^22.15.17 version: 22.15.17 @@ -123,7 +130,7 @@ importers: version: 15.3.1(@types/react-dom@19.1.4(@types/react@19.1.4))(@types/react@19.1.4)(next@15.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.1.6) gateway: specifier: workspace:* - version: link:../gateway + version: file:apps/gateway next: specifier: 15.3.1 version: 15.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -173,6 +180,9 @@ importers: apps/gateway: dependencies: + '@hono/node-server': + specifier: ^1.14.1 + version: 1.14.1(hono@4.7.6) '@hono/swagger-ui': specifier: ^0.5.1 version: 0.5.1(hono@4.7.6) @@ -185,6 +195,9 @@ importers: '@openllm/db': specifier: workspace:* version: link:../../packages/db + '@openllm/models': + specifier: workspace:* + version: link:../../packages/models hono: specifier: ^4.7.6 version: 4.7.6 @@ -198,15 +211,18 @@ importers: specifier: ^4.2.4 version: 4.2.4(zod@3.24.3) devDependencies: - '@hono/node-server': - specifier: ^1.14.1 - version: 1.14.1(hono@4.7.6) '@types/node': specifier: ^22.15.17 version: 22.15.17 + esbuild-fix-imports-plugin: + specifier: 1.0.20 + version: 1.0.20 nodemon: specifier: ^3.1.10 version: 3.1.10 + tsup: + specifier: 8.4.0 + version: 8.4.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.3)(typescript@5.8.3)(yaml@2.7.1) tsx: specifier: ^4.19.3 version: 4.19.3 @@ -1906,6 +1922,12 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} + '@openllm/db@file:packages/db': + resolution: {directory: packages/db, type: directory} + + '@openllm/models@file:packages/models': + resolution: {directory: packages/models, type: directory} + '@orama/orama@3.1.6': resolution: {integrity: sha512-qtSrqCqRU93SjEBedz987tvWao1YQSELjBhGkHYGVP7Dg0lBWP6d+uZEIt5gxTAYio/YWWlhivmRABvRfPLmnQ==} engines: {node: '>= 16.0.0'} @@ -3638,6 +3660,9 @@ packages: resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} engines: {node: '>=14'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -3816,6 +3841,12 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -3976,6 +4007,10 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -4591,6 +4626,9 @@ packages: esast-util-from-js@2.0.1: resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + esbuild-fix-imports-plugin@1.0.20: + resolution: {integrity: sha512-kpxszoCMSDhLPjwK058HjG1MGnOWDF9qfn+FXYcjO2gGFpAP6B5UoO0A5SxK67ItghByHJIAkApEAdHsSz3GQw==} + esbuild-register@3.6.0: resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} peerDependencies: @@ -5058,6 +5096,9 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + gateway@file:apps/gateway: + resolution: {directory: apps/gateway, type: directory} + gel@2.0.2: resolution: {integrity: sha512-XTKpfNR9HZOw+k0Bl04nETZjuP5pypVAXsZADSdwr3EtyygTTe1RqvftU2FjGu7Tp9e576a9b/iIOxWrRBxMiQ==} engines: {node: '>= 18.0.0'} @@ -5610,6 +5651,10 @@ packages: jose@5.10.0: resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -5793,6 +5838,10 @@ packages: resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} engines: {node: '>=18.0.0'} + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + local-pkg@1.1.1: resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} engines: {node: '>=14'} @@ -5810,6 +5859,9 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -6097,6 +6149,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -6437,6 +6492,10 @@ packages: engines: {node: '>=0.10'} hasBin: true + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -6447,6 +6506,24 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + postcss-selector-parser@7.1.0: resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} engines: {node: '>=4'} @@ -7053,6 +7130,10 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -7183,6 +7264,11 @@ packages: babel-plugin-macros: optional: true + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + supports-color@10.0.0: resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==} engines: {node: '>=18'} @@ -7249,6 +7335,13 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -7292,6 +7385,9 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -7308,6 +7404,9 @@ packages: peerDependencies: typescript: '>=4.8.4' + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tsconfck@3.1.5: resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==} engines: {node: ^18 || >=20} @@ -7324,6 +7423,25 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsup@8.4.0: + resolution: {integrity: sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + tsx@4.19.3: resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==} engines: {node: '>=18.0.0'} @@ -7736,12 +7854,18 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} @@ -9022,6 +9146,43 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} + '@openllm/db@file:packages/db(@types/pg@8.11.12)(gel@2.0.2)(kysely@0.27.6)': + dependencies: + drizzle-orm: 1.0.0-beta.1-c0277c0(@types/pg@8.11.12)(gel@2.0.2)(kysely@0.27.6)(pg@8.14.1) + nanoid: 5.1.5 + pg: 8.14.1 + transitivePeerDependencies: + - '@aws-sdk/client-rds-data' + - '@cloudflare/workers-types' + - '@electric-sql/pglite' + - '@libsql/client' + - '@libsql/client-wasm' + - '@neondatabase/serverless' + - '@op-engineering/op-sqlite' + - '@opentelemetry/api' + - '@planetscale/database' + - '@prisma/client' + - '@tidbcloud/serverless' + - '@types/better-sqlite3' + - '@types/pg' + - '@types/sql.js' + - '@vercel/postgres' + - '@xata.io/client' + - better-sqlite3 + - bun-types + - expo-sqlite + - gel + - knex + - kysely + - mysql2 + - pg-native + - postgres + - prisma + - sql.js + - sqlite3 + + '@openllm/models@file:packages/models': {} + '@orama/orama@3.1.6': {} '@parcel/watcher-android-arm64@2.5.1': @@ -11239,6 +11400,8 @@ snapshots: ansis@3.17.0: {} + any-promise@1.3.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -11483,6 +11646,11 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + bundle-require@5.1.0(esbuild@0.25.4): + dependencies: + esbuild: 0.25.4 + load-tsconfig: 0.2.5 + busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -11645,6 +11813,8 @@ snapshots: commander@2.20.3: {} + commander@4.1.1: {} + commondir@1.0.1: {} compare-func@2.0.0: @@ -12097,6 +12267,8 @@ snapshots: esast-util-from-estree: 2.0.0 vfile-message: 4.0.2 + esbuild-fix-imports-plugin@1.0.20: {} + esbuild-register@3.6.0(esbuild@0.25.3): dependencies: debug: 4.4.0(supports-color@5.5.0) @@ -12905,6 +13077,58 @@ snapshots: functions-have-names@1.2.3: {} + gateway@file:apps/gateway: + dependencies: + '@hono/node-server': 1.14.1(hono@4.7.6) + '@hono/swagger-ui': 0.5.1(hono@4.7.6) + '@hono/zod-openapi': 0.19.6(hono@4.7.6)(zod@3.24.3) + '@hono/zod-validator': 0.4.3(hono@4.7.6)(zod@3.24.3) + '@openllm/db': file:packages/db(@types/pg@8.11.12)(gel@2.0.2)(kysely@0.27.6) + '@openllm/models': file:packages/models + hono: 4.7.6 + hono-openapi: 0.4.6(@hono/zod-validator@0.4.3(hono@4.7.6)(zod@3.24.3))(hono@4.7.6)(zod-openapi@4.2.4(zod@3.24.3))(zod@3.24.3) + zod: 3.24.3 + zod-openapi: 4.2.4(zod@3.24.3) + transitivePeerDependencies: + - '@aws-sdk/client-rds-data' + - '@cloudflare/workers-types' + - '@electric-sql/pglite' + - '@hono/arktype-validator' + - '@hono/effect-validator' + - '@hono/typebox-validator' + - '@hono/valibot-validator' + - '@libsql/client' + - '@libsql/client-wasm' + - '@neondatabase/serverless' + - '@op-engineering/op-sqlite' + - '@opentelemetry/api' + - '@planetscale/database' + - '@prisma/client' + - '@sinclair/typebox' + - '@tidbcloud/serverless' + - '@types/better-sqlite3' + - '@types/pg' + - '@types/sql.js' + - '@valibot/to-json-schema' + - '@vercel/postgres' + - '@xata.io/client' + - arktype + - better-sqlite3 + - bun-types + - effect + - expo-sqlite + - gel + - knex + - kysely + - mysql2 + - openapi-types + - pg-native + - postgres + - prisma + - sql.js + - sqlite3 + - valibot + gel@2.0.2: dependencies: '@petamoriken/float16': 3.9.2 @@ -13476,6 +13700,8 @@ snapshots: jose@5.10.0: {} + joycon@3.1.1: {} + js-tokens@4.0.0: {} js-tokens@9.0.1: {} @@ -13650,6 +13876,8 @@ snapshots: rfdc: 1.4.1 wrap-ansi: 9.0.0 + load-tsconfig@0.2.5: {} + local-pkg@1.1.1: dependencies: mlly: 1.7.4 @@ -13666,6 +13894,8 @@ snapshots: lodash.merge@4.6.2: {} + lodash.sortby@4.7.0: {} + lodash@4.17.21: {} log-update@6.1.0: @@ -14205,6 +14435,12 @@ snapshots: ms@2.1.3: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nanoid@3.3.11: {} nanoid@5.1.5: {} @@ -14632,6 +14868,8 @@ snapshots: pidtree@0.6.0: {} + pirates@4.0.7: {} + pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -14646,6 +14884,24 @@ snapshots: possible-typed-array-names@1.1.0: {} + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.3)(yaml@2.7.1): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + jiti: 2.4.2 + postcss: 8.5.3 + tsx: 4.19.3 + yaml: 2.7.1 + + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + jiti: 2.4.2 + postcss: 8.5.3 + tsx: 4.19.4 + yaml: 2.7.1 + postcss-selector-parser@7.1.0: dependencies: cssesc: 3.0.0 @@ -15342,6 +15598,10 @@ snapshots: source-map@0.7.4: {} + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + space-separated-tokens@2.0.2: {} split2@4.2.0: {} @@ -15485,6 +15745,16 @@ snapshots: client-only: 0.0.1 react: 19.1.0 + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + supports-color@10.0.0: {} supports-color@5.5.0: @@ -15547,6 +15817,14 @@ snapshots: text-table@0.2.0: {} + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + tiny-invariant@1.3.3: {} tiny-warning@1.0.3: {} @@ -15576,6 +15854,10 @@ snapshots: tr46@0.0.3: {} + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + tree-kill@1.2.2: {} trim-lines@3.0.1: {} @@ -15586,6 +15868,8 @@ snapshots: dependencies: typescript: 5.8.3 + ts-interface-checker@0.1.13: {} + tsconfck@3.1.5(typescript@5.8.3): optionalDependencies: typescript: 5.8.3 @@ -15599,6 +15883,60 @@ snapshots: tslib@2.8.1: {} + tsup@8.4.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.3)(typescript@5.8.3)(yaml@2.7.1): + dependencies: + bundle-require: 5.1.0(esbuild@0.25.4) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.0(supports-color@5.5.0) + esbuild: 0.25.4 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.3)(yaml@2.7.1) + resolve-from: 5.0.0 + rollup: 4.40.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.13 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.5.3 + typescript: 5.8.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + tsup@8.4.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.7.1): + dependencies: + bundle-require: 5.1.0(esbuild@0.25.4) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.0(supports-color@5.5.0) + esbuild: 0.25.4 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1) + resolve-from: 5.0.0 + rollup: 4.40.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.13 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.5.3 + typescript: 5.8.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + tsx@4.19.3: dependencies: esbuild: 0.25.2 @@ -16195,6 +16533,8 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} + webpack-virtual-modules@0.6.2: {} whatwg-url@5.0.0: @@ -16202,6 +16542,12 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 0000000000..da3a6215ff --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,17 @@ +import { fixExtensionsPlugin } from "esbuild-fix-imports-plugin"; +import { defineConfig } from "tsup"; + +export const tsup = defineConfig({ + splitting: true, + clean: true, + dts: true, + format: ["esm"], + bundle: true, + minify: false, + entry: ["src/**/!(*.spec).ts"], + sourcemap: true, + target: "esnext", + esbuildPlugins: [ + fixExtensionsPlugin(), // https://github.com/egoist/tsup/issues/953#issuecomment-2434492992 + ], +});