From 0526f0c2a30a043adeba85990dd8f5728fcda29b Mon Sep 17 00:00:00 2001 From: RedStar Date: Sun, 9 Aug 2026 10:10:42 +0200 Subject: [PATCH 1/6] feat(server): replace oRPC with Nitro v3 --- apps/server/package.json | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index 7f65d13..12098c9 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -3,13 +3,13 @@ "version": "0.1.0", "type": "module", "scripts": { - "build": "tsdown", + "build": "nitro build", "clean": "tsc -b --clean", - "dev": "TMPDIR=/tmp node --import tsx src/index.ts", - "lint": "oxlint --config ../../.oxlintrc.json --type-aware --type-check src", - "start": "node dist/index.js", + "dev": "nitro dev", + "lint": "oxlint --config ../../.oxlintrc.json --type-aware --type-check src server nitro.config.ts", + "start": "node .output/server/index.mjs", "test": "vitest run src --passWithNoTests", - "typecheck": "tsc --project tsconfig.json --pretty false --noEmit" + "typecheck": "nitro prepare && tsc --project tsconfig.json --pretty false --noEmit" }, "dependencies": { "@agent-zero/agent": "workspace:*", @@ -18,8 +18,7 @@ "@agent-zero/models": "workspace:*", "@agent-zero/runner": "workspace:*", "@agent-zero/shared": "workspace:*", - "@orpc/client": "^1.12.2", - "@orpc/server": "^1.12.2", + "nitro": "3.0.260522-beta", "zod": "^4.1.5" } } From 5f92d272f886964e2b90a8a3dfc7893abba02be9 Mon Sep 17 00:00:00 2001 From: RedStar Date: Sun, 9 Aug 2026 10:10:49 +0200 Subject: [PATCH 2/6] feat(server): move task logic behind Nitro handlers --- apps/server/src/router.ts | 60 +++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/apps/server/src/router.ts b/apps/server/src/router.ts index d09b487..14e9ff7 100644 --- a/apps/server/src/router.ts +++ b/apps/server/src/router.ts @@ -3,12 +3,11 @@ import { loadConfig } from '@agent-zero/config'; import { modelFromEnvironment } from '@agent-zero/models'; import { LocalRunner } from '@agent-zero/runner'; import type { TaskResult } from '@agent-zero/shared'; -import { ORPCError, os } from '@orpc/server'; import { z } from 'zod'; export const tasks = new Map(); -const taskInput = z.object({ +export const taskInput = z.object({ repository: z.string().min(1), feedback: z.string().min(1), mode: z.enum(['observe', 'suggest', 'fix', 'autonomous']), @@ -16,33 +15,32 @@ const taskInput = z.object({ files: z.array(z.string()).optional(), }); -export const router = { - health: os.handler(() => ({ status: 'ok' as const, service: 'agent-zero', version: '0.1.0' })), - tasks: { - list: os.handler(() => ({ tasks: [...tasks.values()] })), - get: os.input(z.object({ id: z.string() })).handler(({ input }) => { - const task = tasks.get(input.id); - if (!task) throw new ORPCError('NOT_FOUND', { message: 'Task not found' }); - return task; - }), - create: os.input(taskInput).handler(async ({ input }) => { - const config = await loadConfig(input.repository); - const agent = new AgentZero({ - model: modelFromEnvironment(config.model.name, config.model.baseUrl), - runner: new LocalRunner(input.repository), - config, - }); - const result = await agent.run({ - repository: input.repository, - feedback: input.feedback, - mode: input.mode, - ...(input.source ? { source: input.source } : {}), - ...(input.files ? { files: input.files } : {}), - }); - tasks.set(result.id, result); - return result; - }), - }, -}; +export function health() { + return { status: 'ok' as const, service: 'agent-zero', version: '0.1.0' }; +} -export type AppRouter = typeof router; +export function listTasks() { + return { tasks: [...tasks.values()] }; +} + +export function getTask(id: string): TaskResult | undefined { + return tasks.get(id); +} + +export async function createTask(input: z.infer): Promise { + const config = await loadConfig(input.repository); + const agent = new AgentZero({ + model: modelFromEnvironment(config.model.name, config.model.baseUrl), + runner: new LocalRunner(input.repository), + config, + }); + const result = await agent.run({ + repository: input.repository, + feedback: input.feedback, + mode: input.mode, + ...(input.source ? { source: input.source } : {}), + ...(input.files ? { files: input.files } : {}), + }); + tasks.set(result.id, result); + return result; +} From b7628dd9b83bcec9c1c4a534f3366378bf0f22a8 Mon Sep 17 00:00:00 2001 From: RedStar Date: Sun, 9 Aug 2026 10:10:54 +0200 Subject: [PATCH 3/6] feat(server): expose Nitro server entrypoint --- apps/server/src/index.ts | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index 17bdcf7..84e7e46 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -1,35 +1 @@ -import { createServer } from 'node:http'; - -import { onError } from '@orpc/server'; -import { RPCHandler } from '@orpc/server/node'; - -import { router } from './router.js'; - -export const handler = new RPCHandler(router, { - interceptors: [onError((error) => console.error(error))], -}); - -export const server = createServer((request, response) => { - void handler - .handle(request, response, { context: {} }) - .then(({ matched }) => { - if (!matched) { - response.statusCode = 404; - response.end('Not found'); - } - return undefined; - }) - .catch((error) => { - console.error(error); - response.statusCode = 500; - response.end('Internal server error'); - return undefined; - }); -}); - -if (import.meta.url === `file://${process.argv[1]}`) { - const port = Number(process.env.AGENT_ZERO_PORT ?? 4040); - server.listen(port, () => - console.log(`Agent Zero oRPC API listening on http://localhost:${port}`), - ); -} +export { createTask, getTask, health, listTasks, taskInput, tasks } from './router.js'; From c6eb8ff5c6ea5b712e4e3769035db4f42dd8d575 Mon Sep 17 00:00:00 2001 From: RedStar Date: Sun, 9 Aug 2026 10:10:59 +0200 Subject: [PATCH 4/6] test(server): cover transport-independent task API --- apps/server/src/router.test.ts | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/apps/server/src/router.test.ts b/apps/server/src/router.test.ts index f1b9868..0dd3790 100644 --- a/apps/server/src/router.test.ts +++ b/apps/server/src/router.test.ts @@ -1,13 +1,23 @@ -import { call } from '@orpc/server'; import { describe, expect, it } from 'vitest'; -import { router } from './router.js'; +import { health, listTasks, taskInput } from './router.js'; -describe('oRPC router', () => { - it('exposes a typed health procedure', async () => { - await expect(call(router.health, undefined)).resolves.toMatchObject({ - status: 'ok', - service: 'agent-zero', - }); +describe('server task API', () => { + it('exposes health metadata for Nitro handlers', () => { + expect(health()).toMatchObject({ status: 'ok', service: 'agent-zero' }); + }); + + it('starts with an empty task collection', () => { + expect(listTasks()).toEqual({ tasks: [] }); + }); + + it('keeps task input validation independent from HTTP transport', () => { + expect( + taskInput.parse({ + repository: '.', + feedback: 'Check error handling', + mode: 'observe', + }), + ).toMatchObject({ repository: '.', mode: 'observe' }); }); }); From 398133a683dad04781472901ab3bb4b24ac986bb Mon Sep 17 00:00:00 2001 From: RedStar071 Date: Sun, 9 Aug 2026 11:23:42 +0000 Subject: [PATCH 5/6] fix(server): sync pnpm lockfile with Nitro v3 dependencies Co-authored-by: Codesmith --- pnpm-lock.yaml | 480 ++++++++++++++++++++++++++++++------------------- 1 file changed, 296 insertions(+), 184 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd29248..cdd26af 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,12 +68,9 @@ importers: '@agent-zero/shared': specifier: workspace:* version: link:../../packages/shared - '@orpc/client': - specifier: ^1.12.2 - version: 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/server': - specifier: ^1.12.2 - version: 1.15.0(@opentelemetry/api@1.9.0)(ws@8.21.3) + nitro: + specifier: 3.0.260522-beta + version: 3.0.260522-beta(chokidar@5.0.0)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(lru-cache@11.5.2)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(tsx@4.23.11)(yaml@2.9.0)) zod: specifier: ^4.1.5 version: 4.4.3 @@ -833,57 +830,6 @@ packages: resolution: {integrity: sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==} engines: {node: '>=14'} - '@orpc/client@1.15.0': - resolution: {integrity: sha512-Qt0FdPSGySdQwy83iUWOq+Iqhw2gM9qHtyxfBbcw1mwOz1s4O2BwUFA3ymVTLIRRNYRgPrQLaBZhp8CacqeePg==} - - '@orpc/contract@1.15.0': - resolution: {integrity: sha512-zo8+x+5iqnIMrFdcj+ibVgn6dJneWzLNcD3kZQxrJFGFNAFoxvZbwryR5wOdcHkaSCeS3N7Ib2NydU6pihSYmg==} - - '@orpc/interop@1.15.0': - resolution: {integrity: sha512-Ah48o/rc00rN1yP5HcaoVsDCjdUhoh3JP1VibBbvwijhGvdOwRwiw5RWiGu442GSKcrPt9etAGhWXH88q8C3ww==} - - '@orpc/server@1.15.0': - resolution: {integrity: sha512-l9FnL1MjQ8g77mB10/8D61okuKHLJBWhuwmd6OF65POHzBF177kMCcbHvRFEqUuxSbzP2eNiZGf3kXPMHmIKiQ==} - peerDependencies: - crossws: '>=0.3.4' - ws: '>=8.18.1' - peerDependenciesMeta: - crossws: - optional: true - ws: - optional: true - - '@orpc/shared@1.15.0': - resolution: {integrity: sha512-A3/JE7pQYSrrRm6/WYJxV3GBhpMdJRPM3h47slQtWBUZe9Sao5En5WBc4tISGQNP2emcez6qIvDziSgD2T+img==} - peerDependencies: - '@opentelemetry/api': '>=1.9.0' - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - - '@orpc/standard-server-aws-lambda@1.15.0': - resolution: {integrity: sha512-laFW7C4t1gEV0NIt4EjCVCBU3kFPnj2FObJLQkTH+DkEOzxVy6zyJ1coIncDSeOPxzbf7rG8cs0B2vQQyuROag==} - - '@orpc/standard-server-fastify@1.15.0': - resolution: {integrity: sha512-fcOl2004o3RnZxW7rhLuDCrCKSi/H2eWnyljeeoY+xykcygRf0ONCs2K2bSdxPm6cmvQGAXa9m8VBglG9oERVQ==} - peerDependencies: - fastify: '>=5.6.1' - peerDependenciesMeta: - fastify: - optional: true - - '@orpc/standard-server-fetch@1.15.0': - resolution: {integrity: sha512-XYVfgmIt71YrPJSI7RKRiNWjcyktPYHpevkjeohGNBP5aSMAUL95quZArAWr+XOPp4U56XRao54I6wFMZa4How==} - - '@orpc/standard-server-node@1.15.0': - resolution: {integrity: sha512-3ye9SIIhYfJckQwyyGQQRHAEF5vW6QDbax7oi1mOQ9UBHaRDH5kcL28mT0JnETrUvgBoDRx+rfCsQaAOB4n3zw==} - - '@orpc/standard-server-peer@1.15.0': - resolution: {integrity: sha512-fsTN+FrdPkseVx99yRenGJYSp0xOrEk9fODk8oh3zzricNYzlZ8GGgCYtDNgt9vFIR/J05dc+Nk76KhcPBQpLw==} - - '@orpc/standard-server@1.15.0': - resolution: {integrity: sha512-bje/xn6thDqJY/JQ7xoOjmD1KWE4FsyZOPgnPxwqTZLx/r00stRhLuFvk1hDEGj9UlG7NLZEijDVx0wqvcyDzA==} - '@oxc-parser/binding-android-arm-eabi@0.143.0': resolution: {integrity: sha512-n9uozULWflPqBtdmI8lAabLqGKNgLVNN0ZH8HfgCwpKGNtzRzauB76jTiW/3YLkcA7N1zskpi9GdVnZuu1SAvg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1576,9 +1522,6 @@ packages: resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} engines: {node: '>=14.0.0'} - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@turbo/darwin-64@2.10.9': resolution: {integrity: sha512-Jh+pTGXLNz8+1tkUU13TI/f+ZOI+OvC4YbHi1H+57iSpLt5DR3xgptd+4sA07RdjdRR/RX/01uQQu2OkbzIefA==} cpu: [x64] @@ -2045,18 +1988,45 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} - cookie@1.1.1: - resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} - engines: {node: '>=18'} - croner@9.1.0: resolution: {integrity: sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g==} engines: {node: '>=18.0'} + crossws@0.4.10: + resolution: {integrity: sha512-pz3oubH/dt12KjqsUB0IuXW4nwRDQ583iDsP4555Cpdqx0NoU7pGlWBcayyFI8f/l/idRpgjMEfwuOxSWJYlIA==} + peerDependencies: + srvx: '>=0.11.5' + peerDependenciesMeta: + srvx: + optional: true + data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} + db0@0.3.4: + resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==} + peerDependencies: + '@electric-sql/pglite': '*' + '@libsql/client': '*' + better-sqlite3: '*' + drizzle-orm: '*' + mysql2: '*' + sqlite3: '*' + peerDependenciesMeta: + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + better-sqlite3: + optional: true + drizzle-orm: + optional: true + mysql2: + optional: true + sqlite3: + optional: true + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -2117,6 +2087,24 @@ packages: resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} engines: {node: '>=14'} + env-runner@0.1.16: + resolution: {integrity: sha512-2LRJM4P2KLX6J83QZZrMqvgCDt/D5ea7wPcI3yYiy5cG/9rX5QwdwZFx0D7ktWnjdRyZxYjttGGorb5nFqb1CA==} + hasBin: true + peerDependencies: + '@netlify/runtime': ^4.1.23 + '@vercel/queue': '>=0.2.0' + miniflare: ^4.20260515.0 + wrangler: ^4.0.0 + peerDependenciesMeta: + '@netlify/runtime': + optional: true + '@vercel/queue': + optional: true + miniflare: + optional: true + wrangler: + optional: true + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -2248,6 +2236,16 @@ packages: guid-typescript@1.0.9: resolution: {integrity: sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==} + h3@2.0.1-rc.26: + resolution: {integrity: sha512-GDxlvDsKxgjRvG5UBRJYyGJTMWLV30CJ4cV+e7QCTgftDHihrvio1fVPbNembhEr6J4WNm8IWy3fookgyTweLw==} + engines: {node: '>=20.11.1'} + hasBin: true + peerDependencies: + crossws: ^0.4.9 + peerDependenciesMeta: + crossws: + optional: true + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -2269,6 +2267,9 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} + httpxy@0.5.5: + resolution: {integrity: sha512-uDjmnPyp1q4Sgzf3w+J/Fc6UqcCEj0x4Wjp7OqK5dGhNeDgpyrAmnS6ey8QWrX3SWDon2DMKf9sBa5X9+CVyMA==} + ignore@7.0.6: resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} engines: {node: '>= 4'} @@ -2376,6 +2377,40 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nf3@0.3.23: + resolution: {integrity: sha512-RWVLAWozmVD3AaDmaU3qMGB3v+yNlH5d9qqStI4e/WLlNQVnJ4YErGDbYCIrGFyrHdbF6I6Baf0Ae6c7tFYmSg==} + + nitro@3.0.260522-beta: + resolution: {integrity: sha512-L/z2eOWgkiQHc65kv+SEMgau505afSRF7NJlbooaaZEZscFrNSD7rXZzeVubQlgIzPbhOG8o73bk9soIiGTHRA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@vercel/queue': ^0.2.0 + dotenv: '*' + giget: '*' + jiti: ^2.6.1 + rollup: ^4.60.3 + vite: ^7 || ^8 + xml2js: ^0.6.2 + zephyr-agent: ^0.2.0 + peerDependenciesMeta: + '@vercel/queue': + optional: true + dotenv: + optional: true + giget: + optional: true + jiti: + optional: true + rollup: + optional: true + vite: + optional: true + xml2js: + optional: true + zephyr-agent: + optional: true + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -2409,9 +2444,15 @@ packages: resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} engines: {node: '>=12.20.0'} + ocache@0.1.5: + resolution: {integrity: sha512-kNNnkkVQup/QDvmTz8Q84wc2ntiyoVHDxa6eHWKt5qdGAmFRBIxy83rxgCYEjW0x06UJ9E3P6VgM2yY4rOBH4w==} + ofetch@1.5.1: resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} + ofetch@2.0.0-alpha.3: + resolution: {integrity: sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA==} + ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} @@ -2444,9 +2485,6 @@ packages: zod: optional: true - openapi-types@12.1.3: - resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - oxc-parser@0.143.0: resolution: {integrity: sha512-ov0NzaDCOInknS7mP1cwKdJERt3utPW8ldjtdUXQ8Ty0GEFD08wk422vCUN0d7pST6kqtV7dxoI9w1Zi0l/9TA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2546,10 +2584,6 @@ packages: quansync@1.0.0: resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} - radash@12.1.1: - resolution: {integrity: sha512-h36JMxKRqrAxVD8201FrCpyeNuUY9Y5zZwujr20fFO77tpUtGa6EZzfKw/3WaiBX95fq7+MpsuMLNdSnORAwSA==} - engines: {node: '>=14.18.0'} - rc9@3.0.1: resolution: {integrity: sha512-gMDyleLWVE+i6Sgtc0QbbY6pEKqYs97NGi6isHQPqYlLemPoO8dxQ3uGi0f4NiP98c+jMW6cG1Kx9dDwfvqARQ==} @@ -2646,6 +2680,9 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rou3@0.9.1: + resolution: {integrity: sha512-z/sSmzvtwMDDnxsPVhfWMuG6F6mbmhFDXoVqLmMfbpDD9qfV3GDmSQpf0+W296/ZDIpW2wcMmBfpVFzcnOi/nA==} + sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -2734,6 +2771,16 @@ packages: sqlite-vec@0.1.9: resolution: {integrity: sha512-L7XJWRIBNvR9O5+vh1FQ+IGkh/3D2AzVksW5gdtk28m78Hy8skFD0pqReKH1Yp0/BUKRGcffgKvyO/EON5JXpA==} + srvx@0.11.22: + resolution: {integrity: sha512-LqZxxBDMKuMAZzFzJnDCkFOrs9MZQZr0LvHiO/SuSZVdQaXD7xQ5UWTUxheJrQPve1qk9MG2B/yttUvJxw8egQ==} + engines: {node: '>=20.16.0'} + hasBin: true + + srvx@0.12.5: + resolution: {integrity: sha512-IuvtDNQg5EIwv3c6dleyau7u8hCyGQ7D6+V/QM799Aud07z0wCUcurKLTRfyG33C8oUY+UWcVBFkfHMcbtmRLA==} + engines: {node: '>=20.16.0'} + hasBin: true + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -2770,10 +2817,6 @@ packages: resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} engines: {node: '>=14.18'} - tagged-tag@1.0.0: - resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} - engines: {node: '>=20'} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -2875,10 +2918,6 @@ packages: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} - type-fest@5.8.0: - resolution: {integrity: sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==} - engines: {node: '>=20'} - typebox@1.3.11: resolution: {integrity: sha512-tZGKIS02Opbh4EYMmAEVuXl+y3EQJ9ZlkitLZ1CmFCY4ZOqr/xWR9dDSCFmIjNDICGMWkOqMh6WxGTyRXqcSGQ==} @@ -2980,6 +3019,9 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + unenv@2.0.0-rc.24: + resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} + unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} engines: {node: '>=4'} @@ -3021,6 +3063,80 @@ packages: webpack: optional: true + unstorage@2.0.0-alpha.7: + resolution: {integrity: sha512-ELPztchk2zgFJnakyodVY3vJWGW9jy//keJ32IOJVGUMyaPydwcA1FtVvWqT0TNRch9H+cMNEGllfVFfScImog==} + peerDependencies: + '@azure/app-configuration': ^1.11.0 + '@azure/cosmos': ^4.9.1 + '@azure/data-tables': ^13.3.2 + '@azure/identity': ^4.13.0 + '@azure/keyvault-secrets': ^4.10.0 + '@azure/storage-blob': ^12.31.0 + '@capacitor/preferences': ^6 || ^7 || ^8 + '@deno/kv': '>=0.13.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.36.2 + '@vercel/blob': '>=0.27.3' + '@vercel/functions': ^2.2.12 || ^3.0.0 + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + chokidar: ^4 || ^5 + db0: '>=0.3.4' + idb-keyval: ^6.2.2 + ioredis: ^5.9.3 + lru-cache: ^11.2.6 + mongodb: ^6 || ^7 + ofetch: '*' + uploadthing: ^7.7.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/functions': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + chokidar: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + lru-cache: + optional: true + mongodb: + optional: true + ofetch: + optional: true + uploadthing: + optional: true + untyped@2.0.0: resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} hasBin: true @@ -3853,97 +3969,6 @@ snapshots: '@opentelemetry/semantic-conventions@1.43.0': {} - '@orpc/client@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fetch': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-peer': 1.15.0(@opentelemetry/api@1.9.0) - transitivePeerDependencies: - - '@opentelemetry/api' - - '@orpc/contract@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - '@orpc/client': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - '@standard-schema/spec': 1.1.0 - openapi-types: 12.1.3 - transitivePeerDependencies: - - '@opentelemetry/api' - - '@orpc/interop@1.15.0': {} - - '@orpc/server@1.15.0(@opentelemetry/api@1.9.0)(ws@8.21.3)': - dependencies: - '@orpc/client': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/contract': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/interop': 1.15.0 - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-aws-lambda': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fastify': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fetch': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-node': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-peer': 1.15.0(@opentelemetry/api@1.9.0) - cookie: 1.1.1 - optionalDependencies: - ws: 8.21.3 - transitivePeerDependencies: - - '@opentelemetry/api' - - fastify - - '@orpc/shared@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - radash: 12.1.1 - type-fest: 5.8.0 - optionalDependencies: - '@opentelemetry/api': 1.9.0 - - '@orpc/standard-server-aws-lambda@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fetch': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-node': 1.15.0(@opentelemetry/api@1.9.0) - transitivePeerDependencies: - - '@opentelemetry/api' - - '@orpc/standard-server-fastify@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-node': 1.15.0(@opentelemetry/api@1.9.0) - transitivePeerDependencies: - - '@opentelemetry/api' - - '@orpc/standard-server-fetch@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.15.0(@opentelemetry/api@1.9.0) - transitivePeerDependencies: - - '@opentelemetry/api' - - '@orpc/standard-server-node@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fetch': 1.15.0(@opentelemetry/api@1.9.0) - transitivePeerDependencies: - - '@opentelemetry/api' - - '@orpc/standard-server-peer@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.15.0(@opentelemetry/api@1.9.0) - transitivePeerDependencies: - - '@opentelemetry/api' - - '@orpc/standard-server@1.15.0(@opentelemetry/api@1.9.0)': - dependencies: - '@orpc/shared': 1.15.0(@opentelemetry/api@1.9.0) - transitivePeerDependencies: - - '@opentelemetry/api' - '@oxc-parser/binding-android-arm-eabi@0.143.0': optional: true @@ -4354,8 +4379,6 @@ snapshots: '@smithy/util-buffer-from': 2.2.0 tslib: 2.8.1 - '@standard-schema/spec@1.1.0': {} - '@turbo/darwin-64@2.10.9': optional: true @@ -4692,12 +4715,16 @@ snapshots: consola@3.4.2: {} - cookie@1.1.1: {} - croner@9.1.0: {} + crossws@0.4.10(srvx@0.11.22): + optionalDependencies: + srvx: 0.11.22 + data-uri-to-buffer@4.0.1: {} + db0@0.3.4: {} + debug@4.4.3: dependencies: ms: 2.1.3 @@ -4738,6 +4765,13 @@ snapshots: empathic@2.0.1: {} + env-runner@0.1.16: + dependencies: + crossws: 0.4.10(srvx@0.11.22) + exsolve: 1.1.1 + httpxy: 0.5.5 + srvx: 0.11.22 + environment@1.1.0: {} errx@0.1.2: {} @@ -4880,6 +4914,13 @@ snapshots: guid-typescript@1.0.9: {} + h3@2.0.1-rc.26(crossws@0.4.10(srvx@0.11.22)): + dependencies: + rou3: 0.9.1 + srvx: 0.12.5 + optionalDependencies: + crossws: 0.4.10(srvx@0.11.22) + has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -4904,6 +4945,8 @@ snapshots: transitivePeerDependencies: - supports-color + httpxy@0.5.5: {} + ignore@7.0.6: {} import-without-cache@0.4.0: {} @@ -5019,6 +5062,62 @@ snapshots: nanoid@3.3.18: {} + nf3@0.3.23: {} + + nitro@3.0.260522-beta(chokidar@5.0.0)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(lru-cache@11.5.2)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(tsx@4.23.11)(yaml@2.9.0)): + dependencies: + consola: 3.4.2 + crossws: 0.4.10(srvx@0.11.22) + db0: 0.3.4 + env-runner: 0.1.16 + h3: 2.0.1-rc.26(crossws@0.4.10(srvx@0.11.22)) + hookable: 6.1.1 + nf3: 0.3.23 + ocache: 0.1.5 + ofetch: 2.0.0-alpha.3 + ohash: 2.0.11 + rolldown: 1.2.3 + srvx: 0.11.22 + unenv: 2.0.0-rc.24 + unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4)(lru-cache@11.5.2)(ofetch@2.0.0-alpha.3) + optionalDependencies: + dotenv: 17.4.2 + giget: 3.3.1 + jiti: 2.7.0 + rollup: 4.62.4 + vite: 7.3.6(@types/node@24.13.3)(jiti@2.7.0)(tsx@4.23.11)(yaml@2.9.0) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@libsql/client' + - '@netlify/blobs' + - '@netlify/runtime' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - better-sqlite3 + - chokidar + - drizzle-orm + - idb-keyval + - ioredis + - lru-cache + - miniflare + - mongodb + - mysql2 + - sqlite3 + - uploadthing + - wrangler + node-domexception@1.0.0: {} node-emoji@2.2.0: @@ -5048,12 +5147,18 @@ snapshots: obug@2.1.4: {} + ocache@0.1.5: + dependencies: + ohash: 2.0.11 + ofetch@1.5.1: dependencies: destr: 2.0.5 node-fetch-native: 1.6.7 ufo: 1.6.4 + ofetch@2.0.0-alpha.3: {} + ohash@2.0.11: {} onetime@7.0.0: @@ -5084,8 +5189,6 @@ snapshots: ws: 8.21.3 zod: 4.4.3 - openapi-types@12.1.3: {} - oxc-parser@0.143.0: dependencies: '@oxc-project/types': 0.143.0 @@ -5240,8 +5343,6 @@ snapshots: quansync@1.0.0: {} - radash@12.1.1: {} - rc9@3.0.1: dependencies: defu: 6.1.7 @@ -5341,6 +5442,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.62.4 fsevents: 2.3.3 + rou3@0.9.1: {} + sade@1.8.1: dependencies: mri: 1.2.0 @@ -5491,6 +5594,10 @@ snapshots: sqlite-vec-linux-x64: 0.1.9 sqlite-vec-windows-x64: 0.1.9 + srvx@0.11.22: {} + + srvx@0.12.5: {} + stackback@0.0.2: {} std-env@3.10.0: {} @@ -5529,8 +5636,6 @@ snapshots: has-flag: 4.0.0 supports-color: 7.2.0 - tagged-tag@1.0.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -5615,10 +5720,6 @@ snapshots: type-fest@0.13.1: {} - type-fest@5.8.0: - dependencies: - tagged-tag: 1.0.0 - typebox@1.3.11: {} typebox@1.3.7: {} @@ -5677,6 +5778,10 @@ snapshots: undici-types@7.18.2: {} + unenv@2.0.0-rc.24: + dependencies: + pathe: 2.0.3 + unicode-emoji-modifier-base@1.0.0: {} unplugin@2.3.11: @@ -5696,6 +5801,13 @@ snapshots: rolldown: 1.2.3 vite: 7.3.6(@types/node@24.13.3)(jiti@2.7.0)(tsx@4.23.11)(yaml@2.9.0) + unstorage@2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4)(lru-cache@11.5.2)(ofetch@2.0.0-alpha.3): + optionalDependencies: + chokidar: 5.0.0 + db0: 0.3.4 + lru-cache: 11.5.2 + ofetch: 2.0.0-alpha.3 + untyped@2.0.0: dependencies: citty: 0.1.6 From 872826cfedf12987ec1eb12186b115c3bccb183e Mon Sep 17 00:00:00 2001 From: RedStar071 Date: Sun, 9 Aug 2026 11:25:47 +0000 Subject: [PATCH 6/6] fix(repo): drop llms.txt from required repository files Co-authored-by: Codesmith --- scripts/check-repository.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/check-repository.mjs b/scripts/check-repository.mjs index db6f79d..a169b12 100644 --- a/scripts/check-repository.mjs +++ b/scripts/check-repository.mjs @@ -6,7 +6,6 @@ const requiredFiles = [ 'CODE_OF_CONDUCT.md', 'CONTRIBUTING.md', 'SECURITY.md', - 'llms.txt', '.github/PULL_REQUEST_TEMPLATE.md', '.github/ISSUE_TEMPLATE/bug_report.yml', '.github/ISSUE_TEMPLATE/feature_request.yml',