From 0a08509de5a2761b8cbc58c4510915f981bee8d9 Mon Sep 17 00:00:00 2001 From: Andrew Zolotukhin Date: Tue, 29 Sep 2026 18:29:12 +0000 Subject: [PATCH 1/2] feat(server): add modular implementations and typed error policies --- ...ular-implementations-and-error-policies.md | 9 + .../pr-evidence/contract-implementations.png | Bin 0 -> 164220 bytes .../tests/implementations.test.ts | 233 +++++++ .../src/implementations.test.ts | 83 +++ libs/server/README.md | 44 ++ libs/server/docs/implementations.md | 222 +++++++ libs/server/package.json | 3 +- libs/server/src/ErrorMap.test.ts | 121 ++++ libs/server/src/ErrorMap.ts | 166 +++++ .../src/Implementation.consumer.test.ts | 11 + libs/server/src/Implementation.test-d.ts | 153 +++++ libs/server/src/Implementation.test.ts | 199 ++++++ libs/server/src/Implementation.ts | 585 ++++++++++++++++++ libs/server/src/contract.ts | 2 +- libs/server/src/index.ts | 18 + libs/server/tsconfig.build.json | 2 +- libs/server/tsconfig.typecheck.json | 10 + libs/server/type-fixtures/contracts.ts | 30 + libs/server/type-fixtures/handlers/create.ts | 11 + libs/server/type-fixtures/handlers/list.ts | 7 + libs/server/type-fixtures/handlers/remove.ts | 7 + libs/server/type-fixtures/large-consumer.mjs | 176 ++++++ libs/server/type-fixtures/module.ts | 25 + libs/server/type-fixtures/policies.ts | 6 + libs/server/type-fixtures/scope.ts | 14 + libs/server/type-fixtures/server.ts | 6 + libs/server/vitest.config.mts | 12 + websites/docs/app/server/page.tsx | 84 +++ 28 files changed, 2236 insertions(+), 3 deletions(-) create mode 100644 .changeset/modular-implementations-and-error-policies.md create mode 100644 .github/pr-evidence/contract-implementations.png create mode 100644 libs/server-integration-tests/tests/implementations.test.ts create mode 100644 libs/server-openapi/src/implementations.test.ts create mode 100644 libs/server/docs/implementations.md create mode 100644 libs/server/src/ErrorMap.test.ts create mode 100644 libs/server/src/ErrorMap.ts create mode 100644 libs/server/src/Implementation.consumer.test.ts create mode 100644 libs/server/src/Implementation.test-d.ts create mode 100644 libs/server/src/Implementation.test.ts create mode 100644 libs/server/src/Implementation.ts create mode 100644 libs/server/tsconfig.typecheck.json create mode 100644 libs/server/type-fixtures/contracts.ts create mode 100644 libs/server/type-fixtures/handlers/create.ts create mode 100644 libs/server/type-fixtures/handlers/list.ts create mode 100644 libs/server/type-fixtures/handlers/remove.ts create mode 100644 libs/server/type-fixtures/large-consumer.mjs create mode 100644 libs/server/type-fixtures/module.ts create mode 100644 libs/server/type-fixtures/policies.ts create mode 100644 libs/server/type-fixtures/scope.ts create mode 100644 libs/server/type-fixtures/server.ts create mode 100644 libs/server/vitest.config.mts diff --git a/.changeset/modular-implementations-and-error-policies.md b/.changeset/modular-implementations-and-error-policies.md new file mode 100644 index 00000000..2f8176aa --- /dev/null +++ b/.changeset/modular-implementations-and-error-policies.md @@ -0,0 +1,9 @@ +--- +"@cleverbrush/server": minor +--- + +Add immutable, contract-bound implementation scopes and feature-module composition +with complete operation coverage, cross-file handler inference, shared/per-operation +DI, and unchanged HTTP/subscription registration. Add reusable, endpoint-checked +error policies and a standalone handler wrapper. Existing registration APIs and +the browser-safe contract entry point remain supported. diff --git a/.github/pr-evidence/contract-implementations.png b/.github/pr-evidence/contract-implementations.png new file mode 100644 index 0000000000000000000000000000000000000000..433a722fd78537769085528a9067187d43107ead GIT binary patch literal 164220 zcmZ6zWmsHG(>6*%fCPfO2X}XOcXxMpw*bL)aCe!(-6d#n9o*d|xN~^+e)sp|^pCk_ zdR0}|s$SizOYVtKl$U^q#es!@fPj~h6jg?RfXah__#*rD^GDAnOW_Oz1QLXlsF12> z)@e43FPa$c;5~iky*!FA<+ngZl&_ul`e^8ANVJ-Qdm>PxVq#)SH9zt`NB(pzx?k7% zOcnnnA%5Mb+GE3~dDz^=%q5VN^ztR(QEuPd!{VQo<7J`F!&Cax2+ImTUxXCp+lkUw zi!$C3`lzI>N3X5CzsM1ybN=E*NL7dGUYv`$#2#@8& zOO@o{>Lw|7B&6E6S)iUCj0{5I{>O5(8%`n}ZIHZAwc6#1JxG%}T(Dl&*;&rtOno^sb`Vl@t~ zVt1MxZ&k8}#>UZ+k$mTWr2Q;~JXTUdP5lJnsG^GYonAEPgug7SykJu!Jh6DNS@pQC zj>=L|RGLKv&ELAf)loUb`%$EbnLU}xswK$CFwa0eB@8O-9|QlM4N_H5_*c?#krShI zls#~kt%z*_V{VoG3oCPhLkSey#71yS!Tb;uogv28^7`n+yeajAS4y=wG|+$AQ6MQ4Ni-PY_=<9T~0Xr#BVZHw=?#IkAe- zxzUJwbdxEf1oz=|92t)X5JIRZ=7^Mu+=8t{@$k5K~aVKtueH zXoP|(1Rt1kL?o$W?IBV5DT(d9pzT3PV^5hP)#OZx?oTOxGP15mRl2YLpF%d%y-f7< zpRREJ(a5r-2Kt6hoAc=Kw=d*RY3gnYQssK+un{WiV^ajP7?GYy;6f5ZawoxGKouR?jRTk>Y_ zPcKcqwdM$A)tfdIo27xh3d!DKy|n0Wwb9g5qqeY=8&GcK=)KVR8K=L2TEQYem~Nx8 zvnvAwg>-d&#X`OeApRrsV^#Ak6UTH164&U5O0U4X`B4A*?Y<+W6z7hI<5iR~A!~#q zbIHucX0_7fCM=9{(N{ag{ePT!TFRZ!FwZ)gYw?n#yU0-k(K82151m?ji(iy~Z-i}A zq{eg;3BJ%CbN_vL2ubbpWQ_@qGSFPJly!A=)oya7qNE&~WT2#_rKO`IS#jFkBlBg)CryE(OH(2)>A}TYUq1IUeD}cw4^#)fhRm#z6=!4L+BgDN z^PL!(nTrIVf0BP2Tm4tRsV_=KO4#qs!ZI1}iPtpEO={=lNOYFlz$7fzG}VHeSNtx6 zGWjDQwFc=lld&G1Eb^y3XrRD93q;VRFu&ccOlN5M*p{OuS9ZKn7~Q<&(gQVbzL86C zR>-gzeM``+TlICTaS;0d%mHB;yN!bvU4~6I!VFV*JWKtOEp#o0+A2M+Kt)nx3{3f*e5w`csV)(3l8Yx|Ag}@)j40O zFgw?|z`;gIAC>|Fb6V2@osA*sQuSKZimIx*RY;^A{h{QU*4Z(_Gvb?i!!ax9;L5Xk zF)*kTgTlp-T&C|Y=OA0g5vKHK>;Mb#>;@&jnqSB#tf#P*5Uc`

J2H&|7Ybl7T% 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

ZwU#*6(kRyg&J*RKE}=!T^Z#HCKNf5 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 literal 0 HcmV?d00001 diff --git a/libs/server-integration-tests/tests/implementations.test.ts b/libs/server-integration-tests/tests/implementations.test.ts new file mode 100644 index 00000000..a59fa3c9 --- /dev/null +++ b/libs/server-integration-tests/tests/implementations.test.ts @@ -0,0 +1,233 @@ +import { jwtScheme, signJwt } from '@cleverbrush/auth'; +import { object, string } from '@cleverbrush/schema'; +import { + ActionResult, + cacheResponse, + createServer, + defineApi, + endpoint, + errorMap, + implement, + type Middleware, + type Server +} from '@cleverbrush/server'; +import { afterEach, describe, expect, it, vi } from 'vitest'; + +const secret = 'implementation-integration-test-secret'; +const Principal = object({ userId: string(), role: string() }); +const Db = object({ label: string() }); +const Message = object({ message: string() }); +class MissingItem extends Error {} + +describe('modular implementation HTTP pipeline', () => { + let server: Server | undefined; + afterEach(async () => { + await server?.close(); + vi.restoreAllMocks(); + }); + + async function start( + options: { middleware?: Middleware; missingService?: boolean } = {} + ) { + let reads = 0; + const translated = vi.fn(() => + ActionResult.notFound({ message: 'Item not found' }) + ); + const errors = errorMap().on(MissingItem, translated); + const resource = endpoint + .resource('/items') + .authorize(Principal, 'admin'); + const api = defineApi({ + items: { + get: resource + .get() + .responses({ 200: Message }) + .clearsCacheTag('items'), + update: resource + .post() + .body(object({ title: string() })) + .responses({ 200: Message, 404: Message }) + .clearsCacheTag('items'), + upload: endpoint + .post('/upload') + .authorize(Principal, 'admin') + .body(object({})) + .upload() + .responses({ 200: Message }) + } + }); + const scope = implement(api).group('items', { inject: { db: Db } }); + const module = scope.withHandlers({ + get: ({ principal }, { db }) => ({ + message: `${principal.userId}:${db.label}:${++reads}` + }), + update: { + errors, + middlewares: options.middleware ? [options.middleware] : [], + handler: ({ body }, { db }) => { + if (body.title === 'missing') + throw new MissingItem('Do not expose this detail'); + if (body.title === 'crash') + throw new Error('private database credentials'); + return { message: `${body.title}:${db.label}` }; + } + }, + upload: ({ files }, { db }) => ({ + message: `${files.image?.filename}:${db.label}` + }) + }); + const builder = createServer() + .useAuthentication({ + defaultScheme: 'jwt', + schemes: [ + jwtScheme({ + secret, + mapClaims: claims => ({ + userId: claims.sub as string, + role: claims.role as string + }) + }) + ] + }) + .useAuthorization() + .use(cacheResponse()) + .useBatching() + .handleAll(implement(api).use(module).complete()); + if (!options.missingService) + builder.services(services => + services.addSingleton(Db, { label: 'db' }) + ); + server = await builder.listen(0); + const base = `http://127.0.0.1:${server.address!.port}`; + const authorization = `Bearer ${signJwt({ sub: 'user-1', role: 'admin' }, secret)}`; + const request = (path: string, body?: unknown, auth = authorization) => + fetch(`${base}${path}`, { + method: body === undefined ? 'GET' : 'POST', + headers: { + authorization: auth, + 'content-type': 'application/json' + }, + body: body === undefined ? undefined : JSON.stringify(body) + }); + return { base, authorization, request, translated }; + } + + it('preserves authentication, role checks, validation and merged DI', async () => { + const { request, translated } = await start(); + const anonymous = await request('/items', undefined, ''); + expect(anonymous.status).toBe(401); + await anonymous.text(); + const viewer = await request( + '/items', + undefined, + `Bearer ${signJwt({ sub: 'viewer', role: 'viewer' }, secret)}` + ); + expect(viewer.status).toBe(403); + await viewer.text(); + const invalid = await request('/items', { title: 42 }); + expect(invalid.status).toBe(400); + expect(invalid.headers.get('content-type')).toContain( + 'application/problem+json' + ); + await invalid.text(); + expect(translated).not.toHaveBeenCalled(); + expect(await (await request('/items')).json()).toEqual({ + message: 'user-1:db:1' + }); + }); + + it('maps only known handler failures and logs sanitized unexpected failures', async () => { + const logged = vi.spyOn(console, 'error').mockImplementation(() => {}); + const { request, translated } = await start(); + const known = await request('/items', { title: 'missing' }); + expect(known.status).toBe(404); + expect(await known.json()).toEqual({ message: 'Item not found' }); + expect(logged).not.toHaveBeenCalled(); + const unknown = await request('/items', { title: 'crash' }); + expect(unknown.status).toBe(500); + const text = await unknown.text(); + expect(text).not.toContain('private database credentials'); + expect(logged).toHaveBeenCalledWith( + '[server] Unhandled error:', + expect.objectContaining({ message: 'private database credentials' }) + ); + expect(translated).toHaveBeenCalledTimes(1); + }); + + it('does not translate middleware or DI failures', async () => { + vi.spyOn(console, 'error').mockImplementation(() => {}); + const { request, translated } = await start({ + middleware: async () => { + throw new MissingItem('middleware'); + } + }); + const response = await request('/items', { title: 'valid' }); + expect(response.status).toBe(500); + await response.text(); + expect(translated).not.toHaveBeenCalled(); + await server!.close(); + const withoutService = await start({ missingService: true }); + const missing = await withoutService.request('/items', { + title: 'valid' + }); + expect(missing.status).toBe(500); + await missing.text(); + expect(withoutService.translated).not.toHaveBeenCalled(); + }); + + it('preserves cache invalidation, failed mutations and batched error responses', async () => { + const { request, authorization } = await start(); + expect(await (await request('/items')).json()).toEqual({ + message: 'user-1:db:1' + }); + expect(await (await request('/items')).json()).toEqual({ + message: 'user-1:db:1' + }); + await (await request('/items', { title: 'missing' })).text(); + expect(await (await request('/items')).json()).toEqual({ + message: 'user-1:db:1' + }); + await (await request('/items', { title: 'changed' })).text(); + expect(await (await request('/items')).json()).toEqual({ + message: 'user-1:db:2' + }); + const batch = await request('/__batch', { + requests: [ + { + method: 'POST', + url: '/items', + body: JSON.stringify({ title: 'missing' }), + headers: { + 'content-type': 'application/json', + authorization + } + } + ] + }); + expect(batch.status).toBe(200); + const { responses: result } = (await batch.json()) as { + responses: { status: number; body: string }[]; + }; + expect(result[0].status).toBe(404); + expect(JSON.parse(result[0].body)).toEqual({ + message: 'Item not found' + }); + }); + + it('preserves multipart upload contexts', async () => { + const { base, authorization } = await start(); + const data = new FormData(); + data.set( + 'image', + new Blob(['image data'], { type: 'text/plain' }), + 'sample.txt' + ); + const response = await fetch(`${base}/upload`, { + method: 'POST', + headers: { authorization }, + body: data + }); + expect(response.status).toBe(200); + expect(await response.json()).toEqual({ message: 'sample.txt:db' }); + }); +}); diff --git a/libs/server-openapi/src/implementations.test.ts b/libs/server-openapi/src/implementations.test.ts new file mode 100644 index 00000000..e0238975 --- /dev/null +++ b/libs/server-openapi/src/implementations.test.ts @@ -0,0 +1,83 @@ +import { object, string } from '@cleverbrush/schema'; +import { + ActionResult, + createServer, + defineApi, + endpoint, + errorMap, + implement, + mapHandlers +} from '@cleverbrush/server'; +import { expect, it } from 'vitest'; +import { generateOpenApiSpec } from './generateOpenApiSpec.js'; + +it('emits the same OpenAPI contract for modular and existing registrations', () => { + const Principal = object({ userId: string() }); + const Db = object({ name: string() }); + const Message = object({ message: string() }); + const api = defineApi({ + items: { + create: endpoint + .post('/items') + .body(object({ title: string() })) + .authorize(Principal, 'admin') + .responses({ 201: Message, 404: Message }) + .clearsCacheTag('items') + } + }); + const scope = implement(api).group('items', { + inject: { db: Db }, + tags: ['items'], + operations: { + create: { + summary: 'Create item', + description: 'Create a new item.', + operationId: 'createItem', + deprecated: true + } + } + }); + const handler = () => ActionResult.created({ message: 'created' }); + const modular = createServer().handleAll( + implement(api) + .use( + scope.withHandlers({ + create: { + handler, + errors: errorMap().on(Error, () => + ActionResult.notFound({ message: 'Missing' }) + ) + } + }) + ) + .complete() + ); + const previous = createServer().handleAll( + mapHandlers( + { + items: { + create: api.items.create + .inject({ db: Db }) + .tags('items') + .summary('Create item') + .description('Create a new item.') + .operationId('createItem') + .deprecated() + } + }, + { items: { create: handler } } + ) + ); + const info = { title: 'Items', version: '1' }; + expect( + generateOpenApiSpec({ + info, + registrations: [...modular.getRegistrations()] + }) + ).toEqual( + generateOpenApiSpec({ + info, + registrations: [...previous.getRegistrations()] + }) + ); +}); diff --git a/libs/server/README.md b/libs/server/README.md index 52a224bf..22e7b025 100644 --- a/libs/server/README.md +++ b/libs/server/README.md @@ -20,6 +20,50 @@ A schema-first HTTP server framework for Node.js. Combines [`@cleverbrush/schema - **Health check** — optional `/health` endpoint via `server.withHealthcheck()`. - **WebSocket subscriptions** — `endpoint.subscription('/ws/path')` with typed incoming/outgoing schemas, `tracked()` events, and async generator handlers. - **Contract composition** — `mergeContracts`, `pickGroups`, and `omitGroups` enable audience-scoped bundles: ship only the endpoints each consumer needs. +- **Modular implementations** — `implement(api)` derives server-configured scopes, keeps separate handler files strongly typed, and checks full contract coverage at final registration. +- **Typed error policies** — `errorMap()` and `withErrors()` translate known handler exceptions without repeated catch blocks or widening endpoint responses. + +## Large APIs and shared error handling + +Keep contracts, server configuration, handlers, and composition in separate files: + +```ts +// scope.ts — does not import handlers +export const items = implement(api).group('items', { + inject: { db: DbToken }, + tags: ['items'], + operations: { remove: { summary: 'Remove an item' } } +}); + +// handlers/remove.ts +import type { items } from '../scope.js'; +export const remove: Handler = async ( + { params }, { db } +) => { + await deleteItem(db, params.id); + return ActionResult.noContent(); +}; + +// module.ts — bind only compatible, declared error responses +const missing = errorMap().on(MissingItemError, () => + ActionResult.notFound({ message: 'Item not found' }) +); +export const itemsModule = items.withHandlers({ + list, + remove: { handler: remove, errors: missing } +}); + +// server.ts — every operation in api must be implemented +server.handleAll(implement(api).use(itemsModule).complete()); +``` + +The excerpt assumes an `items` contract with `list` and `remove`, including the +remove operation's 204/404 responses. `pick(...)` splits a large group into +smaller modules without losing root completeness checks. Existing `handle` and +`mapHandlers` users can adopt `withErrors(endpoint, policy, handler)` alone. + +See the [complete modular consumer guide](docs/implementations.md), including +configuration precedence, subscriptions, failure behavior, and migration examples. ## Installation diff --git a/libs/server/docs/implementations.md b/libs/server/docs/implementations.md new file mode 100644 index 00000000..bf7746d1 --- /dev/null +++ b/libs/server/docs/implementations.md @@ -0,0 +1,222 @@ +# Modular implementations and shared error policies + +`implement` adds server-only configuration and complete handler registration to +an existing shared API contract. It does not replace endpoint builders, change +the wire contract, or require business logic inside one fluent expression. +`errorMap` and `withErrors` also work independently of this registration API. + +## A complete multi-file example + +The application functions and service registration below are application-owned. +The contract in this example has exactly two operations, so its root is complete. + +### Shared contract + +```ts +// contracts.ts — browser-safe; no server configuration or handler imports +import { defineApi, endpoint, route } from '@cleverbrush/server/contract'; +import { array, number, object, string } from '@cleverbrush/schema'; + +export const Item = object({ id: number(), title: string() }); +const Message = object({ message: string() }); +export const Principal = object({ userId: string() }); +const resource = endpoint.resource('/items').authorize(Principal); + +export const api = defineApi({ + items: { + list: resource.get().responses({ 200: array(Item) }), + remove: resource.delete( + route({ id: number().coerce() })`/${p => p.id}` + ).responses({ 204: null, 404: Message }) + } +}); +``` + +### Server configuration without handlers + +```ts +// features/items/scope.ts +import { implement } from '@cleverbrush/server'; +import { api } from '../../contracts.js'; +import { DbToken } from '../../di/tokens.js'; + +export const items = implement(api).group('items', { + inject: { db: DbToken }, + tags: ['items'], + operations: { + list: { summary: 'List items', operationId: 'listItems' }, + remove: { summary: 'Remove an item', operationId: 'removeItem' } + } +}); +``` + +`items.endpoints` contains immutable, server-configured builders. Export the +scope constant and reference it with `typeof`; do not annotate it with a broad +base type that erases operation names or service types. + +### Separate handlers + +```ts +// features/items/handlers/list.ts +import type { Handler } from '@cleverbrush/server'; +import type { items } from '../scope.js'; +import { listItems } from '../../../application/items.js'; + +export const list: Handler = ( + { principal }, { db } +) => listItems(db, principal.userId); +``` + +```ts +// features/items/handlers/remove.ts +import { ActionResult, type Handler } from '@cleverbrush/server'; +import type { items } from '../scope.js'; +import { removeItem } from '../../../application/items.js'; + +export const remove: Handler = async ( + { params, principal }, { db } +) => { + await removeItem(db, principal.userId, params.id); + return ActionResult.noContent(); +}; +``` + +The application function can throw a domain exception. Handlers do not need a +repeated catch block. Requests, principals, injected services, and responses are +derived at the handler's declaration site, not inferred retrospectively from a +later registration call. Type-only scope imports avoid runtime import cycles. + +### Application-owned policy and feature registration + +```ts +// features/items/errors.ts +import { ActionResult, errorMap } from '@cleverbrush/server'; +import { MissingItemError } from '../../application/errors.js'; + +export const itemErrors = errorMap().on(MissingItemError, () => + ActionResult.notFound({ message: 'Item not found' }) +); +``` + +```ts +// features/items/index.ts +import { items } from './scope.js'; +import { itemErrors } from './errors.js'; +import { list } from './handlers/list.js'; +import { remove } from './handlers/remove.js'; + +export const itemsModule = items.withHandlers({ + list, + remove: { handler: remove, errors: itemErrors } +}); +``` + +Attaching this policy to `list` is a type error: `list` does not declare 404. +Declaring 204 on `remove` does not permit arbitrary other statuses or bodies. + +```ts +// server.ts — after the application's ordinary server/DI setup +import { implement } from '@cleverbrush/server'; +import { api } from './contracts.js'; +import { itemsModule } from './features/items/index.js'; + +server.handleAll(implement(api).use(itemsModule).complete()); +``` + +`complete()` fails at compile time if an operation is missing, and checks again +at runtime for JavaScript callers and erased types. The output is the existing +`HandlerMapping`. Authentication, validation, caching, batching, middleware, +serialization, logging, and OpenAPI generation use their existing paths. + +## Split large features and compose contract slices + +```ts +export const reads = items.pick('list').withHandlers({ list }); +export const writes = items.pick('remove').withHandlers({ + remove: { handler: remove, errors: itemErrors } +}); +export const feature = implement(api).use(reads, writes); + +// Partial roots can be exported and composed; finalize only at the full root. +server.handleAll(implement(api).use(feature).complete()); +``` + +Other groups are separate feature modules added to the same `use(...)` call. +Pass modules directly or in a literal tuple, not an array widened to a generic +module type. Duplicate bindings are rejected across modules and calls. Source +endpoint identity is checked at runtime as well: independently recreated +endpoints are not interchangeable just because their TypeScript shapes match. +`pickGroups`, `omitGroups`, and `mergeContracts` preserve endpoint references, +so intentional contract slices can be implemented and recomposed. + +Subscriptions use the same scopes, `SubscriptionHandler`, +and existing subscription handler descriptors. They count toward completeness. +HTTP error policies are not accepted on subscription handlers and do not change +the WebSocket error protocol. + +## Configuration rules + +- `inject` merges contract bindings, then group bindings, then operation bindings. + A same-name binding is replaced by the later value in both the type and runtime + service map. Other dependencies remain available. Endpoint `.inject()` itself + retains its existing replacement behavior. +- An operation's `authorize` schema takes precedence over a group's schema; + existing endpoint roles are retained. Supplying authorization explicitly makes + even a previously public operation authenticated. Omit it when authorization + already lives entirely in the shared contract. There is no implicit auth default. +- Operation `tags` replace group tags; group tags replace existing tags. Other + metadata changes only when supplied: `summary`, `description`, `operationId`, + and `deprecated: true`. Deprecation is additive and cannot be cleared here. +- Request/response schemas, cache definitions, upload settings, links, examples, + and other endpoint metadata remain on the shared endpoint. Scopes do not edit + the wire contract or silently add error responses. +- Handler descriptors support existing per-operation `middlewares`. Configuration + scopes do not register anything until explicitly bound and composed. + +## Error policy behavior and limits + +Policies are immutable. Each `.on(ErrorClass, translator)` returns a new policy. +Rules match by `instanceof` in declaration order; put subclasses before base +classes. Both handlers and translators may be synchronous or asynchronous. + +Translators return explicit JSON or bodyless `ActionResult` values. Every result +must fit the target endpoint's `.responses()` status/body map. Policies cannot +use raw/file/stream results to escape that check, and endpoints without explicit +responses cannot attach a policy. TypeScript escape hatches (`any`, assertions, +or deliberately erased annotations) still bypass static guarantees; this is not +a replacement for runtime response validation. + +Only exceptions from the handler invocation are translated. Authentication, +request validation, DI resolution, middleware, and response serialization are +outside the wrapper. Unknown thrown values are rethrown unchanged. If a translator +fails, its failure propagates without recursively applying the policy again. +Existing centralized handling still logs unexpected failures and sends safe 500 +Problem Details. There is no automatic catch-all or exposure of `Error.message`. + +Application authors decide which errors are safe to map and which details can +be returned. Framework has no knowledge of domain ownership or privacy rules. + +## Incremental adoption + +The old `handle` and `mapHandlers` APIs remain unchanged. Adopt just error policies +without migrating registration: + +```ts +import { withErrors } from '@cleverbrush/server'; + +server.handle( + RemoveItemEndpoint, + withErrors(RemoveItemEndpoint, itemErrors, removeHandler) +); +``` + +The returned function can also be placed in an existing handler map. To migrate +registration, move server-only metadata/DI into scopes, type the existing handler +files against `scope.endpoints`, bind feature modules, and finalize at the root. +Keep the shared contract in `/contract` imports; implementation facilities and +policies are server-entry-point exports only. + +The repository tests include a strict multi-file consumer against emitted package +declarations and a generated 1,000-operation consumer with one handler per file. +The latter records compiler diagnostics, memory, and timings for both existing +and modular registration without using environment-dependent timing thresholds. diff --git a/libs/server/package.json b/libs/server/package.json index 4fdc5423..d6d02d82 100644 --- a/libs/server/package.json +++ b/libs/server/package.json @@ -17,7 +17,8 @@ }, "description": "Schema-first HTTP server framework — schema-driven controllers, DI, auto-validation, RFC 9457 errors", "files": [ - "dist" + "dist", + "docs" ], "homepage": "https://docs.cleverbrush.com/server", "keywords": [ diff --git a/libs/server/src/ErrorMap.test.ts b/libs/server/src/ErrorMap.test.ts new file mode 100644 index 00000000..b7b7858b --- /dev/null +++ b/libs/server/src/ErrorMap.test.ts @@ -0,0 +1,121 @@ +import { object, string } from '@cleverbrush/schema'; +import { describe, expect, it, vi } from 'vitest'; +import { ActionResult, endpoint, errorMap, withErrors } from './index.js'; + +class Missing extends Error {} +class SpecialMissing extends Missing {} +const message = object({ message: string() }); +const ep = endpoint + .get('/items') + .responses({ 200: string(), 404: message, 204: null }); + +describe('errorMap and withErrors', () => { + it('translates sync failures and preserves successful results and arguments', async () => { + const configured = ep.inject({ db: object({ name: string() }) }); + const policy = errorMap().on(Missing, () => + ActionResult.notFound({ message: 'Not found' }) + ); + const handler = vi.fn( + (_context, { db }: { db: { name: string } }) => db.name + ); + const wrapped = withErrors(configured, policy, handler); + const context = {} as never; + const services = { db: { name: 'Connected' } }; + expect(await wrapped(context, services)).toBe('Connected'); + expect(handler).toHaveBeenCalledWith(context, services); + const failing = withErrors(ep, policy, () => { + throw new Missing('private details'); + }); + expect(await failing(context)).toMatchObject({ + status: 404, + body: { message: 'Not found' } + }); + }); + + it('supports async handlers and translators', async () => { + const policy = errorMap().on(Missing, async () => + ActionResult.notFound({ message: 'Async' }) + ); + const wrapped = withErrors(ep, policy, async () => { + throw new Missing(); + }); + expect(await wrapped({} as never)).toMatchObject({ + status: 404, + body: { message: 'Async' } + }); + }); + + it('is immutable and uses the first matching constructor including subclasses', async () => { + const empty = errorMap(); + const specific = empty.on(SpecialMissing, () => + ActionResult.notFound({ message: 'Specific' }) + ); + const all = specific.on(Missing, () => + ActionResult.notFound({ message: 'General' }) + ); + const error = new Missing(); + await expect(empty.translate(error)).rejects.toBe(error); + await expect(specific.translate(error)).rejects.toBe(error); + expect(await all.translate(new SpecialMissing())).toMatchObject({ + body: { message: 'Specific' } + }); + const first = errorMap() + .on(Missing, () => ActionResult.notFound({ message: 'First' })) + .on(SpecialMissing, () => + ActionResult.notFound({ message: 'Later' }) + ); + expect(await first.translate(new SpecialMissing())).toMatchObject({ + body: { message: 'First' } + }); + }); + + it.each([ + new Error('Database password'), + 'non-error', + undefined, + null + ])('rethrows unmatched values without changing identity: %s', async error => { + const wrapped = withErrors( + ep, + errorMap().on(Missing, () => ActionResult.noContent()), + () => { + throw error; + } + ); + await expect(wrapped({} as never)).rejects.toBe(error); + }); + + it('does not feed translator failures back into the policy', async () => { + const failure = new SpecialMissing('translator failed'); + const later = vi.fn(() => ActionResult.noContent()); + const policy = errorMap() + .on(Missing, async () => { + throw failure; + }) + .on(SpecialMissing, later); + const wrapped = withErrors(ep, policy, () => { + throw new Missing(); + }); + await expect(wrapped({} as never)).rejects.toBe(failure); + expect(later).not.toHaveBeenCalled(); + }); + + it('requires declared responses for erased/JavaScript callers', () => { + expect(() => + (withErrors as any)(endpoint.get('/legacy'), errorMap(), () => null) + ).toThrow('explicit endpoint responses'); + }); + + it('rejects raw, arbitrary, and plain-object translator results at runtime', async () => { + for (const response of [ + ActionResult.raw(() => {}), + ActionResult.content('text'), + { message: 'not an ActionResult' } + ]) { + const policy = errorMap().on(Missing, () => response as any); + await expect(policy.translate(new Missing())).rejects.toThrow( + 'explicit JSON or bodyless' + ); + } + }); +}); diff --git a/libs/server/src/ErrorMap.ts b/libs/server/src/ErrorMap.ts new file mode 100644 index 00000000..655ea8ee --- /dev/null +++ b/libs/server/src/ErrorMap.ts @@ -0,0 +1,166 @@ +import { + type ContentResult, + type FileResult, + JsonResult, + NoContentResult, + type RawResult, + type RedirectResult, + StatusCodeResult, + type StreamResult +} from './ActionResult.js'; +import type { EndpointBuilder, Handler, ResponsesOf } from './Endpoint.js'; + +/** Explicit, contract-checkable responses supported by error policies. */ +export type ErrorResponse = + | JsonResult + | NoContentResult + | StatusCodeResult; + +/** The declared JSON and bodyless responses of an HTTP endpoint. */ +export type ErrorResponsesOf = { + [K in keyof ResponsesOf & number]: ResponsesOf[K] extends null + ? K extends 204 + ? NoContentResult + : StatusCodeResult + : JsonResult[K]>; +}[keyof ResponsesOf & number]; + +type ErrorConstructor = abstract new (...args: any[]) => E; +const responseTypes: unique symbol = Symbol('errorResponseTypes'); +// Result classes are structural (NoContentResult only has executeAsync). +// Keep a discriminated description as well as R so a declared 204 cannot +// accidentally admit every other ActionResult through structural assignability. +type ResponseSignature = R extends + | FileResult + | StreamResult + | ContentResult + | RedirectResult + | RawResult + ? { kind: 'unsupported' } + : R extends JsonResult + ? { kind: 'json'; status: S; body: B } + : R extends StatusCodeResult + ? { kind: 'empty'; status: S } + : R extends NoContentResult + ? { kind: 'empty'; status: 204 } + : never; +type Rule = { + matches: (error: unknown) => boolean; + translate: (error: any) => ErrorResponse | Promise; +}; + +/** + * Immutable, ordered exception translators. Create one with {@link errorMap}. + * + * Policies retain their exact response union until attached to an endpoint. + * They do not change that endpoint's responses, catch infrastructure errors, + * or automatically expose exception messages. + * + * @typeParam R - Union of all responses produced by this policy. + */ +export class ErrorMap< + R extends ErrorResponse = never, + Signature = ResponseSignature +> { + /** @internal Retains status/body discrimination across exported policies. */ + declare readonly [responseTypes]: Signature; + readonly #rules: readonly Rule[]; + + /** @internal Use {@link errorMap}. */ + constructor(rules: readonly Rule[] = []) { + this.#rules = [...rules]; + } + + /** + * Return a new policy with a translator appended. First matching rule wins. + * Put subclass rules before base-class rules. Translators may be async; + * translator failures propagate without re-entering this policy. + * + * @param errorType - Error constructor matched using `instanceof`. + * @param translate - Application-owned conversion to an explicit response. + */ + on( + errorType: ErrorConstructor, + translate: (error: E) => T | Promise + ): ErrorMap> { + return new ErrorMap([ + ...this.#rules, + { + matches: error => error instanceof errorType, + translate + } + ]); + } + + /** + * Translate a recognized exception or rethrow the original value unchanged. + * Usually invoked by {@link withErrors}, not directly by an application. + */ + async translate(error: unknown): Promise { + const rule = this.#rules.find(candidate => candidate.matches(error)); + if (!rule) throw error; + const result = await rule.translate(error); + if ( + !(result instanceof JsonResult) && + !(result instanceof NoContentResult) && + !(result instanceof StatusCodeResult) + ) { + throw new TypeError( + 'Error translators must return an explicit JSON or bodyless status result' + ); + } + return result as R; + } +} + +/** + * Create an empty, immutable error policy. Unknown exceptions are rethrown. + * + * @example + * ```ts + * const errors = errorMap().on(MissingItemError, () => + * ActionResult.notFound({ message: 'Item not found' }) + * ); + * ``` + */ +export function errorMap(): ErrorMap { + return new ErrorMap(); +} + +/** + * Wrap only a handler's invocation in an endpoint-checked error policy. + * + * Requires explicit `.responses()` declarations. Every possible translated + * status/body must fit the endpoint; file/raw/stream escape hatches are not + * accepted. Request and injected-service types are unchanged. Authentication, + * validation, middleware, DI and response serialization remain outside this + * wrapper and use the server's normal error handling. + * + * @param endpoint - Configured HTTP endpoint, the sole source of handler types. + * @param policy - Reusable policy compatible with the endpoint's responses. + * @param handler - Named or inline handler to wrap. + * @returns A handler suitable for `handle`, `mapHandlers`, or implementation scopes. + */ +export function withErrors< + E extends EndpointBuilder +>( + endpoint: E, + policy: keyof ResponsesOf> extends never + ? never + : ErrorMap>>, + handler: Handler> +): Handler { + const responses = endpoint.introspect().responsesSchemas; + if (!responses || Object.keys(responses).length === 0) { + throw new TypeError( + 'Error policies require explicit endpoint responses' + ); + } + return (async (...args: unknown[]) => { + try { + return await (handler as (...args: unknown[]) => unknown)(...args); + } catch (error) { + return policy.translate(error); + } + }) as Handler; +} diff --git a/libs/server/src/Implementation.consumer.test.ts b/libs/server/src/Implementation.consumer.test.ts new file mode 100644 index 00000000..64d0b212 --- /dev/null +++ b/libs/server/src/Implementation.consumer.test.ts @@ -0,0 +1,11 @@ +import { expect, it } from 'vitest'; +import { checkLargeConsumers } from '../type-fixtures/large-consumer.mjs'; + +it('typechecks and emits a 1,000-operation multi-file consumer against published declarations', () => { + const metrics = checkLargeConsumers(); + expect(metrics).toHaveProperty('existing'); + expect(metrics).toHaveProperty('modular'); + process.stdout.write( + `Implementation consumer compiler metrics: ${JSON.stringify(metrics)}\n` + ); +}, 200000); diff --git a/libs/server/src/Implementation.test-d.ts b/libs/server/src/Implementation.test-d.ts new file mode 100644 index 00000000..3032035b --- /dev/null +++ b/libs/server/src/Implementation.test-d.ts @@ -0,0 +1,153 @@ +import { number, object, string } from '@cleverbrush/schema'; +import { + ActionResult, + errorMap, + type Handler, + type HandlerMapping, + implement, + withErrors +} from '@cleverbrush/server'; +import { defineApi, endpoint, pickGroups } from '@cleverbrush/server/contract'; +import { expectTypeOf, test } from 'vitest'; +import { api } from '../type-fixtures/contracts.js'; +import type { create } from '../type-fixtures/handlers/create.js'; +import { list } from '../type-fixtures/handlers/list.js'; +import { remove } from '../type-fixtures/handlers/remove.js'; +import { + itemsImplementation, + live, + reads, + writes +} from '../type-fixtures/module.js'; +import { missingItem } from '../type-fixtures/policies.js'; +import { Db, items } from '../type-fixtures/scope.js'; +import { mapping } from '../type-fixtures/server.js'; + +test('cross-file declarations preserve exact request, DI and return types', () => { + expectTypeOf(mapping).toEqualTypeOf(); + expectTypeOf[0]['query']>().toEqualTypeOf<{ + search: string; + }>(); + expectTypeOf[0]['principal']>().toEqualTypeOf<{ + userId: string; + }>(); + expectTypeOf[1]>().toEqualTypeOf<{ + db: { name: string }; + }>(); + expectTypeOf[1]>().toEqualTypeOf<{ + db: { name: string }; + mailer: { host: string }; + }>(); + expectTypeOf[0]['params']>().toEqualTypeOf<{ + id: number; + }>(); + expectTypeOf[0]>().not.toBeAny(); + items.pick('list').withHandlers({ + list: ({ query }, { db }) => { + expectTypeOf(query.search).toEqualTypeOf(); + expectTypeOf(db.name).toEqualTypeOf(); + // @ts-expect-error undeclared query property + query.missing; + return []; + } + }); + const wrong = () => ActionResult.created([]); + // @ts-expect-error independently declared handlers cannot return an undeclared status + const checked: Handler = wrong; + const noMailer: Handler = (_ctx, services) => { + // @ts-expect-error per-operation mailer does not leak into list + services.mailer; + return []; + }; + void checked; + void noMailer; +}); + +test('coverage, identity-compatible slices, and exact keys survive composition', () => { + implement(api).use(itemsImplementation, live).complete(); + implement(pickGroups(api, 'items')).use(reads, writes).complete(); + // @ts-expect-error live.changes has not been registered + implement(api).use(itemsImplementation).complete(); + // @ts-expect-error an empty root is incomplete + implement(api).complete(); + // @ts-expect-error missing selected operations + items.withHandlers({ list }); + // @ts-expect-error duplicate operation in the same use call + implement(api).use(reads, reads); + // @ts-expect-error duplicate operation across calls + implement(api).use(reads).use(reads); + // @ts-expect-error unknown group + implement(api).group('unknown'); + // @ts-expect-error unknown operation + items.pick('unknown'); + implement(api).group('items', { + // @ts-expect-error unknown operation-specific configuration + operations: { unknown: { summary: 'No' } } + }); + const extra = { list, unknown: list }; + // @ts-expect-error extra keys also rejected from named objects + items.pick('list').withHandlers(extra); + const changed = defineApi({ + items: { list: endpoint.get('/items').responses({ 200: string() }) } + }); + const changedModule = implement(changed) + .group('items') + .withHandlers({ list: () => 'different' }); + // @ts-expect-error incompatible response contract + implement(api).use(changedModule); +}); + +test('service overrides and authorization retain inference', () => { + const contract = defineApi({ + things: { + get: endpoint + .get('/things') + .inject({ original: Db, db: Db }) + .responses({ 200: string() }) + } + }); + const scope = implement(contract).group('things', { + inject: { db: object({ shared: number() }) }, + authorize: object({ subject: string() }), + operations: { get: { inject: { db: object({ specific: string() }) } } } + }); + scope.withHandlers({ + get: ({ principal }, { original, db }) => { + expectTypeOf(principal.subject).toEqualTypeOf(); + expectTypeOf(original.name).toEqualTypeOf(); + expectTypeOf(db).toEqualTypeOf<{ specific: string }>(); + return db.specific; + } + }); +}); + +test('error responses are constrained even when an endpoint declares 204', () => { + withErrors(items.endpoints.remove, missingItem, remove); + // @ts-expect-error list does not declare 404 + withErrors(items.endpoints.list, missingItem, list); + items.pick('list').withHandlers({ + // @ts-expect-error descriptors enforce the same policy check + list: { handler: list, errors: missingItem } + }); + const wrongBody = errorMap().on(Error, () => + ActionResult.notFound({ message: 42 }) + ); + // @ts-expect-error wrong body must not be accepted via the declared 204 branch + withErrors(items.endpoints.remove, wrongBody, remove); + const wrongStatus = errorMap().on(Error, () => + ActionResult.forbidden({ message: 'No' }) + ); + // @ts-expect-error undeclared status must not be accepted via 204 + withErrors(items.endpoints.remove, wrongStatus, remove); + const raw = errorMap().on(Error, () => ActionResult.raw(() => {})); + // @ts-expect-error raw response cannot bypass a policy contract check + withErrors(items.endpoints.remove, raw, remove); + // @ts-expect-error a declared responses map is required, even for an empty policy + withErrors(endpoint.get('/legacy'), errorMap(), () => 'legacy'); + implement(api) + .group('live') + .withHandlers({ + // @ts-expect-error error policies are HTTP-only + changes: { handler: async function* () {}, errors: missingItem } + }); +}); diff --git a/libs/server/src/Implementation.test.ts b/libs/server/src/Implementation.test.ts new file mode 100644 index 00000000..984d6e59 --- /dev/null +++ b/libs/server/src/Implementation.test.ts @@ -0,0 +1,199 @@ +import { number, object, string } from '@cleverbrush/schema'; +import { describe, expect, it } from 'vitest'; +import { + ActionResult, + createServer, + defineApi, + endpoint, + errorMap, + implement, + type Middleware, + pickGroups +} from './index.js'; + +const Db = object({ name: string() }); +const Mailer = object({ host: string() }); +const Principal = object({ userId: string() }); +const Message = object({ message: string() }); +function contract() { + return defineApi({ + items: { + list: endpoint.get('/items').responses({ 200: string() }), + remove: endpoint + .delete('/items') + .responses({ 204: null, 404: Message }) + }, + live: { changes: endpoint.subscription('/changes').outgoing(string()) } + }); +} + +describe('contract-bound implementations', () => { + it('composes split scopes, partial roots and contract slices', () => { + const api = contract(); + const items = implement(pickGroups(api, 'items')).group('items', { + inject: { db: Db } + }); + const reads = items + .pick('list') + .withHandlers({ list: (_ctx, { db }) => db.name }); + const writes = items + .pick('remove') + .withHandlers({ remove: () => ActionResult.noContent() }); + const feature = implement(api).use(reads, writes); + const live = implement(api) + .group('live') + .withHandlers({ + changes: async function* () { + yield 'changed'; + } + }); + const mapping = implement(api).use(feature, live).complete(); + expect(mapping._entries).toHaveLength(2); + expect(mapping._subscriptions).toHaveLength(1); + const server = createServer().handleAll(mapping); + expect(server.getRegistrations()).toHaveLength(2); + expect(server.getSubscriptionRegistrations()).toHaveLength(1); + expect(() => (feature as any).complete()).toThrow('live.changes'); + }); + + it('merges injections and preserves all unrelated metadata without mutating the source', () => { + const source = endpoint + .post('/upload') + .authorize(Principal, 'admin') + .inject({ db: Db, original: Db }) + .body(object({ title: string() })) + .query(object({ page: number() })) + .headers(object({ authorization: string() })) + .responses({ 204: null }) + .upload({ maxFileSize: 1000 }) + .summary('Original') + .description('Keep me') + .tags('original') + .operationId('uploadItem') + .deprecated() + .clearsCacheTag('items'); + const api = defineApi({ items: { upload: source } }); + const Replacement = object({ replacement: string() }); + const scope = implement(api).group('items', { + authorize: Principal, + inject: { db: Mailer }, + tags: ['shared'], + operations: { + upload: { + inject: { db: Replacement, mailer: Mailer }, + summary: 'Configured', + tags: ['specific'] + } + } + }); + const before = source.introspect(); + const after = scope.endpoints.upload.introspect(); + expect(after.serviceSchemas).toEqual({ + original: Db, + db: Replacement, + mailer: Mailer + }); + expect(after).toEqual({ + ...before, + summary: 'Configured', + tags: ['specific'], + serviceSchemas: after.serviceSchemas + }); + expect(source.introspect()).toEqual(before); + expect(Object.isFrozen(scope.endpoints)).toBe(true); + expect(implement(api).group('items').endpoints.upload).toBe(source); + }); + + it('keeps configuration-only scopes independent and includes endpoint middleware', () => { + const api = defineApi({ items: { list: endpoint.get('/items') } }); + const scope = implement(api).group('items'); + const middleware: Middleware = async (_ctx, next) => next(); + const middlewares = [middleware]; + const module = scope.withHandlers({ + list: { handler: () => 'ok', middlewares } + }); + middlewares.length = 0; + const root = implement(api).use(module); + expect(root.complete()._entries[0].middlewares).toEqual([middleware]); + expect(() => (implement(api) as any).complete()).toThrow('items.list'); + }); + + it('applies endpoint-checked error policies when binding handlers', async () => { + class Missing extends Error {} + const api = defineApi({ + items: { + remove: endpoint + .delete('/items') + .responses({ 204: null, 404: Message }) + } + }); + const scope = implement(api).group('items'); + const errors = errorMap().on(Missing, () => + ActionResult.notFound({ message: 'Missing' }) + ); + const module = scope.withHandlers({ + remove: { + handler: () => { + throw new Missing(); + }, + errors + } + }); + const mapping = implement(api).use(module).complete(); + expect(await mapping._entries[0].handler({})).toMatchObject({ + status: 404, + body: { message: 'Missing' } + }); + }); + + it('checks missing, unknown, duplicate and incompatible bindings at runtime', () => { + const api = contract(); + const root = implement(api); + const scope = root.group('items'); + const reads = scope.pick('list').withHandlers({ list: () => 'ok' }); + expect(() => (root as any).group('missing')).toThrow( + 'Unknown contract group' + ); + expect(() => + (root as any).group('items', { operations: { missing: {} } }) + ).toThrow('Unknown operation'); + expect(() => (scope as any).pick('missing')).toThrow( + 'Unknown operation' + ); + expect(() => scope.pick('list', 'list')).toThrow('Duplicate operation'); + expect(() => (scope as any).withHandlers({ list: () => 'ok' })).toThrow( + 'Missing handler items.remove' + ); + expect(() => + (scope as any).withHandlers({ extra: () => null }) + ).toThrow('Unknown handler'); + expect(() => (root as any).use(reads, reads)).toThrow( + 'Duplicate implementation' + ); + const different = contract(); + const foreign = implement(different) + .group('items') + .pick('list') + .withHandlers({ list: () => 'foreign' }); + expect(() => root.use(foreign)).toThrow('Incompatible source endpoint'); + expect(() => (root as any).use({})).toThrow( + 'Expected an implementation module' + ); + expect(() => + (root.group('live') as any).withHandlers({ + changes: { handler: async function* () {}, errors: errorMap() } + }) + ).toThrow('HTTP error policies'); + }); + + it('treats unusual group and operation names as literal keys, not prototype properties', () => { + const api = defineApi({ + ['__proto__']: { ['constructor']: endpoint.get('/special') } + }); + const module = implement(api) + .group('__proto__') + .pick('constructor') + .withHandlers({ constructor: () => 'ok' }); + expect(implement(api).use(module).complete()._entries).toHaveLength(1); + }); +}); diff --git a/libs/server/src/Implementation.ts b/libs/server/src/Implementation.ts new file mode 100644 index 00000000..15e7fbd6 --- /dev/null +++ b/libs/server/src/Implementation.ts @@ -0,0 +1,585 @@ +import type { InferType, SchemaBuilder } from '@cleverbrush/schema'; +import type { ApiContract, ApiGroup } from './contract.js'; +import { + type EndpointBuilder, + type Handler, + type HandlerMapping, + mapHandlers, + type ResponsesOf +} from './Endpoint.js'; +import { + type ErrorMap, + type ErrorResponsesOf, + withErrors +} from './ErrorMap.js'; +import { + isSubscriptionBuilder, + type SubscriptionBuilder, + type SubscriptionHandlerEntry +} from './Subscription.js'; +import type { Middleware } from './types.js'; + +type AnySchema = SchemaBuilder; +type Services = Record; +type AnyEndpoint = EndpointBuilder< + any, + any, + any, + any, + any, + any, + any, + any, + any, + any +>; +type AnySubscription = SubscriptionBuilder< + any, + any, + any, + any, + any, + any, + any, + any +>; +type Definition = AnyEndpoint | AnySubscription; +type Merge = { + [K in keyof A | keyof B]: K extends keyof B + ? B[K] + : K extends keyof A + ? A[K] + : never; +}; + +/** Server-only enrichment shared by every operation in a scope. */ +export interface ImplementationDefaults { + /** Merged with contract services; later same-name bindings win. */ + readonly inject?: Services; + /** Explicitly require authentication, retaining any existing role requirements. */ + readonly authorize?: AnySchema; + /** Replace inherited documentation tags when supplied. */ + readonly tags?: readonly string[]; +} + +/** Per-operation overrides. Wire schemas and cache metadata are not configurable here. */ +export interface ImplementationOperationOptions extends ImplementationDefaults { + /** Short documentation summary. */ + readonly summary?: string; + /** Longer documentation description. */ + readonly description?: string; + /** Stable OpenAPI/AsyncAPI operation identifier. */ + readonly operationId?: string; + /** Mark deprecated; this cannot clear an inherited deprecation. */ + readonly deprecated?: true; +} + +/** Typed defaults and operation-specific server settings for a contract group. */ +export interface ImplementationGroupOptions + extends ImplementationDefaults { + /** Keys must belong to the selected group. */ + readonly operations?: { + readonly [K in keyof G]?: ImplementationOperationOptions; + }; +} + +type Injected = O extends { readonly inject: infer I extends Services } + ? I + : {}; +type Principal = O extends { + readonly authorize: infer S extends AnySchema; +} + ? InferType + : P; +type OperationOptions = O extends { + readonly operations: infer Operations; +} + ? K extends keyof Operations + ? Operations[K] + : {} + : {}; + +type Configured = + E extends EndpointBuilder< + infer P, + infer B, + infer Q, + infer H, + infer S, + infer A, + infer Roles, + infer R, + infer Rs, + infer U + > + ? EndpointBuilder< + P, + B, + Q, + H, + Merge>, Injected>, + Principal, Options>, + Roles, + R, + Rs, + U + > + : E extends SubscriptionBuilder< + infer P, + infer Q, + infer H, + infer S, + infer A, + infer Roles, + infer I, + infer O + > + ? SubscriptionBuilder< + P, + Q, + H, + Merge>, Injected>, + Principal, Options>, + Roles, + I, + O + > + : never; + +type ConfiguredGroup = { + readonly [K in keyof G]: Configured>; +}; + +/** Handler binding accepted by an implementation scope. Policies apply only to HTTP handlers. */ +export type ImplementationHandlerEntry = E extends AnySubscription + ? SubscriptionHandlerEntry & { errors?: never } + : E extends AnyEndpoint + ? + | Handler + | { + handler: Handler; + middlewares?: Middleware[]; + errors?: keyof ResponsesOf extends never + ? never + : ErrorMap>; + } + : never; + +/** Complete, endpoint-specific handler bindings for one configured scope. */ +export type ImplementationHandlers = { + [K in keyof G]: ImplementationHandlerEntry; +}; + +type ExactKeys = Record< + Exclude, + never +>; +type ExactOperations = O extends { readonly operations: infer Ops } + ? { readonly operations: ExactKeys } + : unknown; + +type Entry = { + readonly group: string; + readonly name: string; + readonly source: Definition; + readonly endpoint: Definition; + readonly handler: (...args: any[]) => any; + readonly middlewares?: Middleware[]; +}; +type RuntimeBinding = + | Entry['handler'] + | { + handler: Entry['handler']; + middlewares?: Middleware[]; + errors?: ErrorMap; + }; + +const moduleContract: unique symbol = Symbol('implementationContract'); +const moduleEntries: unique symbol = Symbol('implementationEntries'); + +/** + * Exportable, immutable set of bound operations. Its type retains the original + * contract slice, not just an erased array of registrations. + * Obtain modules with `scope.withHandlers()` or `implement(api).use(...)`. + */ +export class ImplementationModule { + /** @internal Compile-time contract coverage. */ + declare readonly [moduleContract]: C; + readonly #entries: readonly Entry[]; + + /** @internal Construct modules through an implementation scope. */ + constructor(entries: readonly Entry[]) { + this.#entries = Object.freeze( + entries.map(entry => + Object.freeze({ + ...entry, + middlewares: entry.middlewares + ? [...entry.middlewares] + : undefined + }) + ) + ); + } + + /** @internal */ + [moduleEntries](): readonly Entry[] { + return this.#entries; + } +} + +/** + * Configured, unbound operations from a single contract group. + * Export the scope from a configuration-only module, then use + * `Handler` in separate handler files. + * No handler imports or registration side effects are needed here. + */ +export class ImplementationScope< + G extends string, + Source extends ApiGroup, + Endpoints extends ApiGroup +> { + readonly #group: G; + readonly #source: Source; + readonly #endpoints: Endpoints; + + /** @internal Use `implement(api).group(...)`. */ + constructor(group: G, source: Source, endpoints: Endpoints) { + this.#group = group; + this.#source = Object.freeze({ ...source }); + this.#endpoints = Object.freeze({ ...endpoints }); + } + + /** Configured endpoint builders: the source of handler request, DI and response types. */ + get endpoints(): Endpoints { + return this.#endpoints; + } + + /** + * Select operations for a smaller module without losing source identity. + * The composition root still checks coverage of the full contract. + */ + pick( + ...names: K[] + ): ImplementationScope, Pick> { + const source: ApiGroup = {}; + const endpoints: ApiGroup = {}; + const seen = new Set(); + for (const name of names) { + if (!Object.hasOwn(this.#source, name)) { + throw new TypeError(`Unknown operation ${this.#group}.${name}`); + } + if (seen.has(name)) + throw new TypeError( + `Duplicate operation ${this.#group}.${name}` + ); + seen.add(name); + Object.defineProperty(source, name, { + value: this.#source[name], + enumerable: true + }); + Object.defineProperty(endpoints, name, { + value: this.#endpoints[name], + enumerable: true + }); + } + return new ImplementationScope( + this.#group, + source, + endpoints + ) as ImplementationScope, Pick>; + } + + /** + * Bind exactly one handler for every operation in this scope. + * Named handlers and inline functions receive the same endpoint typing. + * Optional descriptors attach middleware and HTTP error policies. + */ + withHandlers>( + handlers: H & ExactKeys + ): ImplementationModule<{ [K in G]: Source }> { + for (const key of Object.keys(handlers)) { + if (!Object.hasOwn(this.#endpoints, key)) { + throw new TypeError(`Unknown handler ${this.#group}.${key}`); + } + } + const entries: Entry[] = []; + for (const name of Object.keys(this.#endpoints)) { + const endpoint = this.#endpoints[name]; + const binding = ( + Object.hasOwn(handlers, name) ? handlers[name] : undefined + ) as RuntimeBinding | undefined; + const handler = + typeof binding === 'function' ? binding : binding?.handler; + if (typeof handler !== 'function') { + throw new TypeError(`Missing handler ${this.#group}.${name}`); + } + const errors = + typeof binding === 'function' ? undefined : binding?.errors; + if (errors && isSubscriptionBuilder(endpoint)) { + throw new TypeError( + 'HTTP error policies cannot wrap subscription handlers' + ); + } + entries.push({ + group: this.#group, + name, + source: this.#source[name], + endpoint, + handler: errors + ? withErrors(endpoint as AnyEndpoint, errors, handler) + : handler, + middlewares: + typeof binding === 'function' + ? undefined + : binding?.middlewares + }); + } + return new ImplementationModule(entries); + } +} + +type ContractOf = M extends ImplementationModule ? C : never; +type MergeContracts = { + [G in keyof A | keyof B]: G extends keyof A + ? G extends keyof B + ? A[G] & B[G] + : A[G] + : G extends keyof B + ? B[G] + : never; +}; +type Joined< + Bound extends ApiContract, + Modules extends readonly ImplementationModule[] +> = Modules extends readonly [ + infer Head, + ...infer Tail extends readonly ImplementationModule[] +] + ? Joined>, Tail> + : Bound; +type Missing = { + [G in keyof C & + string]: `${G}.${Exclude & string}`; +}[keyof C & string]; +type Overlap = { + [G in keyof A & + keyof B & + string]: `${G}.${keyof A[G] & keyof B[G] & string}`; +}[keyof A & keyof B & string]; +type Incompatible = { + [G in keyof S & string]: G extends keyof C + ? { + [K in keyof S[G] & string]: K extends keyof C[G] + ? S[G][K] extends C[G][K] + ? never + : `${G}.${K}` + : `${G}.${K}`; + }[keyof S[G] & string] + : `${G}.${keyof S[G] & string}`; +}[keyof S & string]; +type CheckModules< + C, + B extends ApiContract, + M extends readonly ImplementationModule[] +> = number extends M['length'] + ? { + readonly implementationError: 'Use a tuple of modules with known operation keys'; + } + : M extends readonly [ + infer Head, + ...infer Tail extends readonly ImplementationModule[] + ] + ? [ + Overlap> | Incompatible> + ] extends [never] + ? CheckModules>, Tail> + : { + readonly duplicateOrIncompatibleOperations: + | Overlap> + | Incompatible>; + } + : unknown; + +/** + * Immutable composition root bound to a shared contract. Compose exported + * feature modules with `use`, then pass `complete()` to `server.handleAll`. + * Partial roots are themselves modules and can be composed in larger roots. + */ +export class ApiImplementation< + C extends ApiContract, + Bound extends ApiContract = {} +> extends ImplementationModule { + readonly #contract: C; + + /** @internal Use {@link implement}. */ + constructor(contract: C, entries: readonly Entry[] = []) { + super(entries); + this.#contract = Object.freeze( + Object.fromEntries( + Object.entries(contract).map(([name, group]) => [ + name, + Object.freeze({ ...group }) + ]) + ) + ) as C; + } + + /** + * Create an unbound scope; does not register handlers or change this root. + * Services merge contract → group → operation. Only explicitly supplied + * documentation fields override inherited values. Authorization retains roles. + */ + group< + K extends keyof C & string, + const O extends ImplementationGroupOptions = {} + >( + name: K, + options?: O & ExactOperations + ): ImplementationScope> { + if (!Object.hasOwn(this.#contract, name)) { + throw new TypeError(`Unknown contract group ${name}`); + } + const source = this.#contract[name]; + const config: ImplementationGroupOptions = options ?? {}; + for (const key of Object.keys(config.operations ?? {})) { + if (!Object.hasOwn(source, key)) + throw new TypeError(`Unknown operation ${name}.${key}`); + } + const endpoints = Object.fromEntries( + Object.entries(source).map(([key, endpoint]) => [ + key, + configure(endpoint, config, config.operations?.[key] ?? {}) + ]) + ); + return new ImplementationScope( + name, + source, + endpoints + ) as ImplementationScope>; + } + + /** + * Compose modules without erasing their operation coverage. Rejects duplicate + * and incompatible bindings, including runtime source-identity mismatches. + */ + use[]>( + ...modules: M & CheckModules + ): ApiImplementation> { + const entries = [...this[moduleEntries]()]; + const seen = new Map>(); + for (const entry of entries) { + if (!seen.has(entry.group)) seen.set(entry.group, new Set()); + seen.get(entry.group)!.add(entry.name); + } + for (const module of modules) { + if (!(module instanceof ImplementationModule)) + throw new TypeError('Expected an implementation module'); + for (const entry of module[moduleEntries]()) { + if ( + !Object.hasOwn(this.#contract, entry.group) || + !Object.hasOwn(this.#contract[entry.group], entry.name) || + this.#contract[entry.group][entry.name] !== entry.source + ) { + throw new TypeError( + `Incompatible source endpoint ${entry.group}.${entry.name}` + ); + } + if (seen.get(entry.group)?.has(entry.name)) { + throw new TypeError( + `Duplicate implementation ${entry.group}.${entry.name}` + ); + } + if (!seen.has(entry.group)) seen.set(entry.group, new Set()); + seen.get(entry.group)!.add(entry.name); + entries.push(entry); + } + } + return new ApiImplementation>( + this.#contract, + entries + ); + } + + /** + * Finalize only when every operation in the original contract is covered. + * Rechecks coverage at runtime for JavaScript callers and erased types. + * Returns the existing registration format; the server pipeline is unchanged. + */ + complete( + this: [Missing] extends [never] + ? ApiImplementation + : { readonly missingOperations: Missing } + ): HandlerMapping; + complete(): HandlerMapping { + const endpoints: Record = Object.create(null); + const handlers: Record> = Object.create( + null + ); + for (const entry of this[moduleEntries]()) { + endpoints[entry.group] ??= Object.create(null); + handlers[entry.group] ??= Object.create(null); + endpoints[entry.group][entry.name] = entry.endpoint; + handlers[entry.group][entry.name] = { + handler: entry.handler, + middlewares: entry.middlewares + ? [...entry.middlewares] + : undefined + }; + } + const missing: string[] = []; + for (const [group, operations] of Object.entries(this.#contract)) { + for (const name of Object.keys(operations)) { + if (!Object.hasOwn(endpoints[group] ?? {}, name)) + missing.push(`${group}.${name}`); + } + } + if (missing.length) + throw new TypeError( + `Missing implementations: ${missing.join(', ')}` + ); + return mapHandlers(endpoints, handlers); + } +} + +function configure( + endpoint: Definition, + defaults: ImplementationDefaults, + options: ImplementationOperationOptions +): Definition { + let result: any = endpoint; + if (defaults.inject || options.inject) { + result = result.inject({ + ...endpoint.introspect().serviceSchemas, + ...defaults.inject, + ...options.inject + }); + } + const authorize = options.authorize ?? defaults.authorize; + if (authorize) result = result.authorize(authorize); + const tags = options.tags ?? defaults.tags; + if (tags) result = result.tags(...tags); + if (options.summary !== undefined) result = result.summary(options.summary); + if (options.description !== undefined) + result = result.description(options.description); + if (options.operationId !== undefined) + result = result.operationId(options.operationId); + if (options.deprecated) result = result.deprecated(); + return result; +} + +/** + * Start an immutable implementation bound to a shared API contract. + * + * @param contract - Complete shared contract, or an intentional audience slice. + * @example + * ```ts + * const todos = implement(api).group('todos', { inject: { db: DbToken } }); + * const module = todos.withHandlers({ list: listHandler, create: createHandler }); + * server.handleAll(implement(api).use(module).complete()); + * ``` + */ +export function implement( + contract: C +): ApiImplementation { + return new ApiImplementation(contract); +} diff --git a/libs/server/src/contract.ts b/libs/server/src/contract.ts index 6fc5f109..a51045ca 100644 --- a/libs/server/src/contract.ts +++ b/libs/server/src/contract.ts @@ -72,7 +72,7 @@ import type { SubscriptionBuilder as _SB } from './Subscription.js'; */ export type ApiGroup = Record< string, - | _EB + | _EB | _SB >; diff --git a/libs/server/src/index.ts b/libs/server/src/index.ts index 1869b4bb..e7a1e057 100644 --- a/libs/server/src/index.ts +++ b/libs/server/src/index.ts @@ -50,6 +50,13 @@ export { type ResponsesOf, type ScopedEndpointFactory } from './Endpoint.js'; +export { + ErrorMap, + type ErrorResponse, + type ErrorResponsesOf, + errorMap, + withErrors +} from './ErrorMap.js'; export { BadRequestError, ConflictError, @@ -58,6 +65,17 @@ export { NotFoundError, UnauthorizedError } from './HttpError.js'; +export { + ApiImplementation, + type ImplementationDefaults, + type ImplementationGroupOptions, + type ImplementationHandlerEntry, + type ImplementationHandlers, + ImplementationModule, + type ImplementationOperationOptions, + ImplementationScope, + implement +} from './Implementation.js'; export { idempotency, type ServerIdempotencyOptions diff --git a/libs/server/tsconfig.build.json b/libs/server/tsconfig.build.json index cd010194..c4f9c52a 100644 --- a/libs/server/tsconfig.build.json +++ b/libs/server/tsconfig.build.json @@ -15,5 +15,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["src/**/*.test.ts"] + "exclude": ["src/**/*.test.ts", "src/**/*.test-d.ts"] } diff --git a/libs/server/tsconfig.typecheck.json b/libs/server/tsconfig.typecheck.json new file mode 100644 index 00000000..3442974a --- /dev/null +++ b/libs/server/tsconfig.typecheck.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": { + "noEmit": true, + "strict": true, + "rootDir": "." + }, + "include": ["src/**/*.test-d.ts", "type-fixtures/**/*.ts"], + "exclude": [] +} diff --git a/libs/server/type-fixtures/contracts.ts b/libs/server/type-fixtures/contracts.ts new file mode 100644 index 00000000..8b338a1c --- /dev/null +++ b/libs/server/type-fixtures/contracts.ts @@ -0,0 +1,30 @@ +import { array, number, object, string } from '@cleverbrush/schema'; +import { defineApi, endpoint, route } from '@cleverbrush/server/contract'; + +export const Item = object({ id: number(), title: string() }); +export const Message = object({ message: string() }); +export const Principal = object({ userId: string() }); +const resource = endpoint.resource('/items').authorize(Principal, 'member'); +const byId = route({ id: number().coerce() })`/${p => p.id}`; + +export const api = defineApi({ + items: { + list: resource + .get() + .query(object({ search: string() })) + .responses({ 200: array(Item), 400: Message }), + create: resource + .post() + .body(object({ title: string() })) + .responses({ 201: Item, 404: Message }), + remove: resource.delete(byId).responses({ 204: null, 404: Message }), + upload: endpoint + .post('/items/upload') + .authorize(Principal) + .upload() + .responses({ 204: null }) + }, + live: { + changes: endpoint.subscription('/changes').outgoing(Item) + } +}); diff --git a/libs/server/type-fixtures/handlers/create.ts b/libs/server/type-fixtures/handlers/create.ts new file mode 100644 index 00000000..98e92893 --- /dev/null +++ b/libs/server/type-fixtures/handlers/create.ts @@ -0,0 +1,11 @@ +import { ActionResult, type Handler } from '@cleverbrush/server'; +import type { items } from '../scope.js'; + +export const create: Handler = ( + { body }, + { db, mailer } +) => + ActionResult.created({ + id: 1, + title: `${body.title}:${db.name}:${mailer.host}` + }); diff --git a/libs/server/type-fixtures/handlers/list.ts b/libs/server/type-fixtures/handlers/list.ts new file mode 100644 index 00000000..35c2abeb --- /dev/null +++ b/libs/server/type-fixtures/handlers/list.ts @@ -0,0 +1,7 @@ +import type { Handler } from '@cleverbrush/server'; +import type { items } from '../scope.js'; + +export const list: Handler = async ( + { principal, query }, + { db } +) => [{ id: 1, title: `${principal.userId}:${query.search}:${db.name}` }]; diff --git a/libs/server/type-fixtures/handlers/remove.ts b/libs/server/type-fixtures/handlers/remove.ts new file mode 100644 index 00000000..95658910 --- /dev/null +++ b/libs/server/type-fixtures/handlers/remove.ts @@ -0,0 +1,7 @@ +import { ActionResult, type Handler } from '@cleverbrush/server'; +import type { items } from '../scope.js'; + +export const remove: Handler = ({ params }) => { + if (params.id < 0) throw new Error('Not a persisted item'); + return ActionResult.noContent(); +}; diff --git a/libs/server/type-fixtures/large-consumer.mjs b/libs/server/type-fixtures/large-consumer.mjs new file mode 100644 index 00000000..5214dfb6 --- /dev/null +++ b/libs/server/type-fixtures/large-consumer.mjs @@ -0,0 +1,176 @@ +import { spawnSync } from 'node:child_process'; +import { + mkdirSync, + mkdtempSync, + readFileSync, + rmSync, + symlinkSync, + writeFileSync +} from 'node:fs'; +import { tmpdir } from 'node:os'; +import { dirname, join, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const repository = resolve(dirname(fileURLToPath(import.meta.url)), '../../..'); + +/** Generate and compile equivalent, separately packaged 1,000-operation consumers. */ +export function checkLargeConsumers() { + const temporary = mkdtempSync( + join(tmpdir(), 'framework-implementation-consumer-') + ); + const write = (path, contents) => { + const destination = join(temporary, path); + mkdirSync(dirname(destination), { recursive: true }); + writeFileSync(destination, contents); + }; + const metrics = {}; + try { + symlinkSync( + join(repository, 'node_modules'), + join(temporary, 'node_modules'), + 'dir' + ); + write('package.json', JSON.stringify({ type: 'module' })); + for (const style of ['existing', 'modular']) { + write( + `${style}/shared.ts`, + `import { object, string } from '@cleverbrush/schema'; +export const Db = object({ name: string() }); +export const Query = object({ search: string() }); +export const Output = object({ title: string() });` + ); + const contractImports = []; + const rootImports = []; + for (let group = 0; group < 10; group++) { + const name = `feature${group}`; + const names = Array.from( + { length: 100 }, + (_, i) => `operation${i}` + ); + write( + `${style}/${name}/contract.ts`, + `import { endpoint } from '@cleverbrush/server/contract'; +import { Query, Output } from '../shared.js'; +export const ${name} = { +${names.map(operation => `${operation}: endpoint.get('/${name}/${operation}').query(Query).responses({ 200: Output })`).join(',\n')} +};` + ); + contractImports.push( + `import { ${name} } from './${name}/contract.js';` + ); + const scope = + style === 'modular' + ? `import { implement } from '@cleverbrush/server'; +export const scope = implement(api).group('${name}', { inject: { db: Db }, tags: ['${name}'] });` + : `export const scope = { endpoints: { +${names.map(operation => `${operation}: api.${name}.${operation}.inject({ db: Db }).tags('${name}')`).join(',\n')} +} };`; + write( + `${style}/${name}/scope.ts`, + `import { api } from '../contract.js'; +import { Db } from '../shared.js'; +${scope}` + ); + for (const operation of names) { + write( + `${style}/${name}/handlers/${operation}.ts`, + `import type { Handler } from '@cleverbrush/server'; +import type { scope } from '../scope.js'; +export const ${operation}: Handler = ({ query }, { db }) => ({ title: query.search + db.name });` + ); + } + const handlers = `{ ${names.join(', ')} }`; + write( + `${style}/${name}/index.ts`, + `import { scope } from './scope.js'; +${names.map(operation => `import { ${operation} } from './handlers/${operation}.js';`).join('\n')} +${ + style === 'modular' + ? `export const ${name} = scope.withHandlers(${handlers});` + : `export const ${name} = { endpoints: scope.endpoints, handlers: ${handlers} };` +}` + ); + rootImports.push( + `import { ${name} } from './${name}/index.js';` + ); + } + const groups = Array.from({ length: 10 }, (_, i) => `feature${i}`); + write( + `${style}/contract.ts`, + `import { defineApi } from '@cleverbrush/server/contract'; +${contractImports.join('\n')} +export const api = defineApi({ ${groups.join(', ')} });` + ); + write( + `${style}/index.ts`, + `${rootImports.join('\n')} +import { api } from './contract.js'; +${ + style === 'modular' + ? `import { implement } from '@cleverbrush/server'; +export const registration = implement(api).use(${groups.join(', ')}).complete();` + : `import { mapHandlers } from '@cleverbrush/server'; +export const registration = mapHandlers({ ${groups.map(g => `${g}: ${g}.endpoints`).join(', ')} }, { ${groups.map(g => `${g}: ${g}.handlers`).join(', ')} });` +}` + ); + write( + `${style}/tsconfig.json`, + JSON.stringify({ + compilerOptions: { + target: 'ES2022', + module: 'ESNext', + moduleResolution: 'bundler', + strict: true, + declaration: true, + emitDeclarationOnly: true, + outDir: 'dist', + types: ['node'], + lib: ['ES2022', 'ESNext.Disposable'], + skipLibCheck: false + }, + include: ['**/*.ts'], + exclude: ['dist'] + }) + ); + const result = spawnSync( + process.execPath, + [ + join(repository, 'node_modules/typescript/lib/tsc.js'), + '-p', + join(temporary, style, 'tsconfig.json'), + '--extendedDiagnostics' + ], + { encoding: 'utf8', timeout: 90000, maxBuffer: 4 * 1024 * 1024 } + ); + if (result.status !== 0) + throw new Error( + `${style} consumer failed:\n${result.stdout}\n${result.stderr}\n${result.error ?? ''}` + ); + const declaration = readFileSync( + join(temporary, style, 'dist/index.d.ts'), + 'utf8' + ); + if (!declaration.includes('HandlerMapping')) + throw new Error('Missing public registration declaration'); + metrics[style] = Object.fromEntries( + result.stdout + .split('\n') + .map(line => line.split(/:\s+/, 2)) + .filter(([key]) => + [ + 'Types', + 'Instantiations', + 'Memory used', + 'Check time', + 'Emit time', + 'Total time' + ].includes(key) + ) + ); + } + return metrics; + } finally { + // Only this test's generated temporary directory is removed. + rmSync(temporary, { recursive: true, force: true }); + } +} diff --git a/libs/server/type-fixtures/module.ts b/libs/server/type-fixtures/module.ts new file mode 100644 index 00000000..208747bf --- /dev/null +++ b/libs/server/type-fixtures/module.ts @@ -0,0 +1,25 @@ +import { ActionResult, implement } from '@cleverbrush/server'; +import { api } from './contracts.js'; +import { create } from './handlers/create.js'; +import { list } from './handlers/list.js'; +import { remove } from './handlers/remove.js'; +import { missingItem } from './policies.js'; +import { items } from './scope.js'; + +export const reads = items.pick('list').withHandlers({ list }); +export const writes = items.pick('create', 'remove', 'upload').withHandlers({ + create: { handler: create, errors: missingItem }, + remove: { handler: remove, errors: missingItem }, + upload: ({ files }, { db }) => { + if (!files.image || !db.name) throw new Error('Missing image'); + return ActionResult.noContent(); + } +}); +export const itemsImplementation = implement(api).use(reads, writes); +export const live = implement(api) + .group('live') + .withHandlers({ + changes: async function* ({ signal }) { + if (!signal.aborted) yield { id: 1, title: 'Changed' }; + } + }); diff --git a/libs/server/type-fixtures/policies.ts b/libs/server/type-fixtures/policies.ts new file mode 100644 index 00000000..de09c259 --- /dev/null +++ b/libs/server/type-fixtures/policies.ts @@ -0,0 +1,6 @@ +import { ActionResult, errorMap } from '@cleverbrush/server'; + +export class MissingItem extends Error {} +export const missingItem = errorMap().on(MissingItem, () => + ActionResult.notFound({ message: 'Item not found' }) +); diff --git a/libs/server/type-fixtures/scope.ts b/libs/server/type-fixtures/scope.ts new file mode 100644 index 00000000..35d1fa40 --- /dev/null +++ b/libs/server/type-fixtures/scope.ts @@ -0,0 +1,14 @@ +import { object, string } from '@cleverbrush/schema'; +import { implement } from '@cleverbrush/server'; +import { api } from './contracts.js'; + +export const Db = object({ name: string() }); +export const Mailer = object({ host: string() }); +export const items = implement(api).group('items', { + inject: { db: Db }, + tags: ['items'], + operations: { + list: { summary: 'List items' }, + create: { inject: { mailer: Mailer }, operationId: 'createItem' } + } +}); diff --git a/libs/server/type-fixtures/server.ts b/libs/server/type-fixtures/server.ts new file mode 100644 index 00000000..5b7c7c19 --- /dev/null +++ b/libs/server/type-fixtures/server.ts @@ -0,0 +1,6 @@ +import { createServer, implement } from '@cleverbrush/server'; +import { api } from './contracts.js'; +import { itemsImplementation, live } from './module.js'; + +export const mapping = implement(api).use(itemsImplementation, live).complete(); +export const server = createServer().handleAll(mapping); diff --git a/libs/server/vitest.config.mts b/libs/server/vitest.config.mts new file mode 100644 index 00000000..c2329925 --- /dev/null +++ b/libs/server/vitest.config.mts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + include: ['src/**/*.test.ts'], + typecheck: { + enabled: true, + include: ['src/**/*.test-d.ts'], + tsconfig: './tsconfig.typecheck.json' + } + } +}); diff --git a/websites/docs/app/server/page.tsx b/websites/docs/app/server/page.tsx index cacc013f..2f6252f3 100644 --- a/websites/docs/app/server/page.tsx +++ b/websites/docs/app/server/page.tsx @@ -490,6 +490,90 @@ const AdminEp = endpoint +

+

Modular implementations

+

+ Build large APIs with separate configuration, handler, + and feature-module files. implement(api) + derives configured scopes from the shared contract; + complete() checks that every operation is + implemented before producing an ordinary handler + mapping. +

+
+                         = async (
+    { params }, { db }
+) => {
+    await removeItem(db, params.id);
+    return ActionResult.noContent();
+};
+
+// module.ts — list/remove are this example's complete contract
+export const itemsModule = items.withHandlers({ list, remove });
+
+// server.ts
+server.handleAll(implement(api).use(itemsModule).complete());`)
+                            }}
+                        />
+                    
+

+ Use pick(...operationNames) to split a + large group. Shared and per-operation services merge + while request, principal, service, and response types + remain available inside each handler file. Subscription + handlers can be composed through the same API. Existing + handle and mapHandlers remain + supported. +

+

Shared, typed error policies

+
+                        
+    ActionResult.notFound({ message: 'Item not found' })
+);
+
+const itemsModule = items.withHandlers({
+    list,
+    remove: { handler: remove, errors: itemErrors }
+});
+
+// Or adopt the policy without changing existing registration:
+server.handle(RemoveItemEndpoint,
+    withErrors(RemoveItemEndpoint, itemErrors, removeHandler));`)
+                            }}
+                        />
+                    
+

+ A policy must fit each endpoint's explicitly + declared response statuses and bodies. Only known + exceptions from the handler are translated. Unknown + exceptions retain the existing safe 500 handling; + middleware, validation, DI, and serialization failures + are not intercepted. Policies are HTTP-only and do not + change subscription errors. +

+

+ See the{' '} + + complete multi-file consumer guide + {' '} + for configuration precedence, module composition, and + migration. +

+
+ {/* ── WebSocket Subscriptions ──────────────────────── */}

WebSocket Subscriptions

From 6b628e1f3bfdd4693eac7cbe31503e823717c993 Mon Sep 17 00:00:00 2001 From: Andrew Zolotukhin Date: Tue, 29 Sep 2026 19:51:14 +0000 Subject: [PATCH 2/2] refactor(server): consolidate implementation docs and tests --- .../pr-evidence/contract-implementations.png | Bin 164220 -> 241740 bytes libs/server/README.md | 214 +++++++++++++++-- libs/server/docs/implementations.md | 222 ------------------ libs/server/package.json | 3 +- .../src/Implementation.consumer.test.ts | 177 +++++++++++++- libs/server/src/Implementation.test-d.ts | 109 +++++++-- libs/server/tsconfig.typecheck.json | 2 +- libs/server/type-fixtures/contracts.ts | 30 --- libs/server/type-fixtures/handlers/create.ts | 11 - libs/server/type-fixtures/handlers/list.ts | 7 - libs/server/type-fixtures/handlers/remove.ts | 7 - libs/server/type-fixtures/large-consumer.mjs | 176 -------------- libs/server/type-fixtures/module.ts | 25 -- libs/server/type-fixtures/policies.ts | 6 - libs/server/type-fixtures/scope.ts | 14 -- libs/server/type-fixtures/server.ts | 6 - websites/docs/app/server/page.tsx | 2 +- 17 files changed, 470 insertions(+), 541 deletions(-) delete mode 100644 libs/server/docs/implementations.md delete mode 100644 libs/server/type-fixtures/contracts.ts delete mode 100644 libs/server/type-fixtures/handlers/create.ts delete mode 100644 libs/server/type-fixtures/handlers/list.ts delete mode 100644 libs/server/type-fixtures/handlers/remove.ts delete mode 100644 libs/server/type-fixtures/large-consumer.mjs delete mode 100644 libs/server/type-fixtures/module.ts delete mode 100644 libs/server/type-fixtures/policies.ts delete mode 100644 libs/server/type-fixtures/scope.ts delete mode 100644 libs/server/type-fixtures/server.ts diff --git a/.github/pr-evidence/contract-implementations.png b/.github/pr-evidence/contract-implementations.png index 433a722fd78537769085528a9067187d43107ead..ab584dfc31bfd242297d02dc055e8dd4b0e39cf4 100644 GIT binary patch literal 241740 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
gc4EGNmoA zr2PRrQr-t-KE&Xd2z>nR%*;0oqC-RP(^T8@ZlK1l7&@bH-W=uhD<7n)xmW@vB`M+eJ5 z3KlZAQu~D8GPYMCAfz&;F_|`AB2S+&YQ%+wg$38=7bOv0S)460Hov0PNhEP}dyK;Y zb^K&8(LXySiO2XJBH*~BfdGD1-%opLMn=C!MdN$in#9?e)W$}cxSLyVAilv#@%iQH z?mr0NHPU@qKBJ=>?yO|0ZX);MBpx;wWWvdlxS1ZHqV^ihd=OJ8kD^hfiw~@HcyDz3_8n9;(iGWrbZg29jMV`6gdL;e^=UfX?de6mr zMb_M)4KAD*yyCQUboFnY7eDz*~r*n)soX)Syx?8u-xLmGF znVGju^8`^h^3s!4k5@vJuZ;E21dPjXPuksQz56Pi-Iy2#Oh5L!wtS9fU`Wom=~b=e z)lhVvD}Ae-PK%5jluQugW;``u*|}{=BKFAZYh1O(aBD9I3H8`}4gI0@d!>?Iin5|z z8%P!EwU)?_Q6S$Vi3e)BKPPZl?-`pJ$#-|Tj~SZjiJM18M%pirtYj3ZerO^w9(|K= zxRqGMsMwRhoeq(EMR98sgRz!BTyn#k)aK>1qs+27osyEuIt$(R_p6bTwG#EHE}LdD zFLY_eOT*YxBpCnO%=pQWvJu6)3cm%n4OC z#{I!1kwG`D;SJTElat*QOBf;BCb^GphFbfoAIX6Vr%kp6OLgOAnlr*BhI-rVR&%hN zA}18K{)SoWQ~%~_`gQDQ+RYxH=KJ^g%x9e0Q_We81gH!RuWmTjwl@i}F!Xf|#~Ktf z1W&dKw*Wm5ws#!=OC8Sccr7w1K6&AdwTDPtSvK5=7MYxQmtfokI_u_ZdOP`2bVrJ0I zI2;bGXur2$#%OMnw0(58A!y#RtReJ%M{~7hk>f1xG2)YoZ1p_3*z~w5mL>J`<<=T8 zR$_;XbI^_B9os}8?xkOG2#H*!8_c|SW*FO?8@h40HdXa}R9wB@HZ9xY==ys|jGn%n zcH39YQn5Mc@vk7$s||7$d!qCPLj313(Kt^ka!QZ=!K;m<#z{c1eQKn1dnR9LOAmR% zUf++^_}6~(D|+XPOSvUXv!_iC^(SP^9?7QZnlN_lbhI!OXY4?sy-=d=_V~T3D)*^WsjC1n=KK8`kM4 zYL^Q8%`|v!moM-O;<$RmpJw*Z;*GB<&}Bgp-PCWi-}NV zTnCRFkQrI!*#1%qn2-{_hh1MC($*7uT%NAKDYVDdxJ{fCV`(KPi?Apo+6#5EcR6X~ zu)X|Pfd-wAdxzP^Rd#G|?qswr9a+}x;;8}L#TB-3^XvEe_?+q{OET%)=tmljoB6Z#6`XM$9!etL^uHJrF+WhKyI zRasIQjq%%eX>d-{FueBYJ+=}{kF0fyc)vo-(Xuk)mO$OIBJr!ZO1<>j-_q>NtgSG* z9p$SuEv%}Mhngf5{g}0Qp5rtN!@GHXabV7TP3p`);9{HNhkl@^99veYyq+>`Y^RxD z4Qn!0Xtv_H+;=DBk-b^p=NBWBNSjy$jH={Kgrk`th=Xz_*`9SWMwe9G>r|{`^|4Z?&9NJPd=o=T(ru}SY4GJvP(

?A2~9mq+&;q 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 G#rzNTu4Z-s literal 164220 zcmZ6zWmsHG(>6*%fCPfO2X}XOcXxMpw*bL)aCe!(-6d#n9o*d|xN~^+e)sp|^pCk_ zdR0}|s$SizOYVtKl$U^q#es!@fPj~h6jg?RfXah__#*rD^GDAnOW_Oz1QLXlsF12> z)@e43FPa$c;5~iky*!FA<+ngZl&_ul`e^8ANVJ-Qdm>PxVq#)SH9zt`NB(pzx?k7% zOcnnnA%5Mb+GE3~dDz^=%q5VN^ztR(QEuPd!{VQo<7J`F!&Cax2+ImTUxXCp+lkUw zi!$C3`lzI>N3X5CzsM1ybN=E*NL7dGUYv`$#2#@8& zOO@o{>Lw|7B&6E6S)iUCj0{5I{>O5(8%`n}ZIHZAwc6#1JxG%}T(Dl&*;&rtOno^sb`Vl@t~ zVt1MxZ&k8}#>UZ+k$mTWr2Q;~JXTUdP5lJnsG^GYonAEPgug7SykJu!Jh6DNS@pQC zj>=L|RGLKv&ELAf)loUb`%$EbnLU}xswK$CFwa0eB@8O-9|QlM4N_H5_*c?#krShI zls#~kt%z*_V{VoG3oCPhLkSey#71yS!Tb;uogv28^7`n+yeajAS4y=wG|+$AQ6MQ4Ni-PY_=<9T~0Xr#BVZHw=?#IkAe- zxzUJwbdxEf1oz=|92t)X5JIRZ=7^Mu+=8t{@$k5K~aVKtueH zXoP|(1Rt1kL?o$W?IBV5DT(d9pzT3PV^5hP)#OZx?oTOxGP15mRl2YLpF%d%y-f7< zpRREJ(a5r-2Kt6hoAc=Kw=d*RY3gnYQssK+un{WiV^ajP7?GYy;6f5ZawoxGKouR?jRTk>Y_ zPcKcqwdM$A)tfdIo27xh3d!DKy|n0Wwb9g5qqeY=8&GcK=)KVR8K=L2TEQYem~Nx8 zvnvAwg>-d&#X`OeApRrsV^#Ak6UTH164&U5O0U4X`B4A*?Y<+W6z7hI<5iR~A!~#q zbIHucX0_7fCM=9{(N{ag{ePT!TFRZ!FwZ)gYw?n#yU0-k(K82151m?ji(iy~Z-i}A zq{eg;3BJ%CbN_vL2ubbpWQ_@qGSFPJly!A=)oya7qNE&~WT2#_rKO`IS#jFkBlBg)CryE(OH(2)>A}TYUq1IUeD}cw4^#)fhRm#z6=!4L+BgDN z^PL!(nTrIVf0BP2Tm4tRsV_=KO4#qs!ZI1}iPtpEO={=lNOYFlz$7fzG}VHeSNtx6 zGWjDQwFc=lld&G1Eb^y3XrRD93q;VRFu&ccOlN5M*p{OuS9ZKn7~Q<&(gQVbzL86C zR>-gzeM``+TlICTaS;0d%mHB;yN!bvU4~6I!VFV*JWKtOEp#o0+A2M+Kt)nx3{3f*e5w`csV)(3l8Yx|Ag}@)j40O zFgw?|z`;gIAC>|Fb6V2@osA*sQuSKZimIx*RY;^A{h{QU*4Z(_Gvb?i!!ax9;L5Xk zF)*kTgTlp-T&C|Y=OA0g5vKHK>;Mb#>;@&jnqSB#tf#P*5Uc`

J2H&|7Ybl7T% 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

ZwU#*6(kRyg&J*RKE}=!T^Z#HCKNf5 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 diff --git a/libs/server/README.md b/libs/server/README.md index 22e7b025..ba422ef2 100644 --- a/libs/server/README.md +++ b/libs/server/README.md @@ -25,45 +25,227 @@ A schema-first HTTP server framework for Node.js. Combines [`@cleverbrush/schema ## Large APIs and shared error handling -Keep contracts, server configuration, handlers, and composition in separate files: +`implement` adds server-only configuration and complete handler registration to +an existing shared API contract. It does not replace endpoint builders, change +the wire contract, or require business logic inside one fluent expression. +`errorMap` and `withErrors` also work independently of this registration API. + +### A complete multi-file example + +The application functions and service registration below are application-owned. +The contract in this example has exactly two operations, so its root is complete. + +#### Shared contract ```ts -// scope.ts — does not import handlers +// contracts.ts — browser-safe; no server configuration or handler imports +import { defineApi, endpoint, route } from '@cleverbrush/server/contract'; +import { array, number, object, string } from '@cleverbrush/schema'; + +export const Item = object({ id: number(), title: string() }); +const Message = object({ message: string() }); +export const Principal = object({ userId: string() }); +const resource = endpoint.resource('/items').authorize(Principal); + +export const api = defineApi({ + items: { + list: resource.get().responses({ 200: array(Item) }), + remove: resource.delete( + route({ id: number().coerce() })`/${p => p.id}` + ).responses({ 204: null, 404: Message }) + } +}); +``` + +#### Server configuration without handlers + +```ts +// features/items/scope.ts +import { implement } from '@cleverbrush/server'; +import { api } from '../../contracts.js'; +import { DbToken } from '../../di/tokens.js'; + export const items = implement(api).group('items', { inject: { db: DbToken }, tags: ['items'], - operations: { remove: { summary: 'Remove an item' } } + operations: { + list: { summary: 'List items', operationId: 'listItems' }, + remove: { summary: 'Remove an item', operationId: 'removeItem' } + } }); +``` + +`items.endpoints` contains immutable, server-configured builders. Export the +scope constant and reference it with `typeof`; do not annotate it with a broad +base type that erases operation names or service types. + +#### Separate handlers -// handlers/remove.ts +```ts +// features/items/handlers/list.ts +import type { Handler } from '@cleverbrush/server'; import type { items } from '../scope.js'; +import { listItems } from '../../../application/items.js'; + +export const list: Handler = ( + { principal }, { db } +) => listItems(db, principal.userId); +``` + +```ts +// features/items/handlers/remove.ts +import { ActionResult, type Handler } from '@cleverbrush/server'; +import type { items } from '../scope.js'; +import { removeItem } from '../../../application/items.js'; + export const remove: Handler = async ( - { params }, { db } + { params, principal }, { db } ) => { - await deleteItem(db, params.id); + await removeItem(db, principal.userId, params.id); return ActionResult.noContent(); }; +``` -// module.ts — bind only compatible, declared error responses -const missing = errorMap().on(MissingItemError, () => +The application function can throw a domain exception. Handlers do not need a +repeated catch block. Requests, principals, injected services, and responses are +derived at the handler's declaration site, not inferred retrospectively from a +later registration call. Type-only scope imports avoid runtime import cycles. + +#### Application-owned policy and feature registration + +```ts +// features/items/errors.ts +import { ActionResult, errorMap } from '@cleverbrush/server'; +import { MissingItemError } from '../../application/errors.js'; + +export const itemErrors = errorMap().on(MissingItemError, () => ActionResult.notFound({ message: 'Item not found' }) ); +``` + +```ts +// features/items/index.ts +import { items } from './scope.js'; +import { itemErrors } from './errors.js'; +import { list } from './handlers/list.js'; +import { remove } from './handlers/remove.js'; + export const itemsModule = items.withHandlers({ list, - remove: { handler: remove, errors: missing } + remove: { handler: remove, errors: itemErrors } }); +``` + +Attaching this policy to `list` is a type error: `list` does not declare 404. +Declaring 204 on `remove` does not permit arbitrary other statuses or bodies. + +```ts +// server.ts — after the application's ordinary server/DI setup +import { implement } from '@cleverbrush/server'; +import { api } from './contracts.js'; +import { itemsModule } from './features/items/index.js'; -// server.ts — every operation in api must be implemented server.handleAll(implement(api).use(itemsModule).complete()); ``` -The excerpt assumes an `items` contract with `list` and `remove`, including the -remove operation's 204/404 responses. `pick(...)` splits a large group into -smaller modules without losing root completeness checks. Existing `handle` and -`mapHandlers` users can adopt `withErrors(endpoint, policy, handler)` alone. +`complete()` fails at compile time if an operation is missing, and checks again +at runtime for JavaScript callers and erased types. The output is the existing +`HandlerMapping`. Authentication, validation, caching, batching, middleware, +serialization, logging, and OpenAPI generation use their existing paths. + +### Split large features and compose contract slices + +```ts +export const reads = items.pick('list').withHandlers({ list }); +export const writes = items.pick('remove').withHandlers({ + remove: { handler: remove, errors: itemErrors } +}); +export const feature = implement(api).use(reads, writes); + +// Partial roots can be exported and composed; finalize only at the full root. +server.handleAll(implement(api).use(feature).complete()); +``` + +Other groups are separate feature modules added to the same `use(...)` call. +Pass modules directly or in a literal tuple, not an array widened to a generic +module type. Duplicate bindings are rejected across modules and calls. Source +endpoint identity is checked at runtime as well: independently recreated +endpoints are not interchangeable just because their TypeScript shapes match. +`pickGroups`, `omitGroups`, and `mergeContracts` preserve endpoint references, +so intentional contract slices can be implemented and recomposed. + +Subscriptions use the same scopes, `SubscriptionHandler`, +and existing subscription handler descriptors. They count toward completeness. +HTTP error policies are not accepted on subscription handlers and do not change +the WebSocket error protocol. + +### Configuration rules + +- `inject` merges contract bindings, then group bindings, then operation bindings. + A same-name binding is replaced by the later value in both the type and runtime + service map. Other dependencies remain available. Endpoint `.inject()` itself + retains its existing replacement behavior. +- An operation's `authorize` schema takes precedence over a group's schema; + existing endpoint roles are retained. Supplying authorization explicitly makes + even a previously public operation authenticated. Omit it when authorization + already lives entirely in the shared contract. There is no implicit auth default. +- Operation `tags` replace group tags; group tags replace existing tags. Other + metadata changes only when supplied: `summary`, `description`, `operationId`, + and `deprecated: true`. Deprecation is additive and cannot be cleared here. +- Request/response schemas, cache definitions, upload settings, links, examples, + and other endpoint metadata remain on the shared endpoint. Scopes do not edit + the wire contract or silently add error responses. +- Handler descriptors support existing per-operation `middlewares`. Configuration + scopes do not register anything until explicitly bound and composed. + +### Error policy behavior and limits + +Policies are immutable. Each `.on(ErrorClass, translator)` returns a new policy. +Rules match by `instanceof` in declaration order; put subclasses before base +classes. Both handlers and translators may be synchronous or asynchronous. + +Translators return explicit JSON or bodyless `ActionResult` values. Every result +must fit the target endpoint's `.responses()` status/body map. Policies cannot +use raw/file/stream results to escape that check, and endpoints without explicit +responses cannot attach a policy. TypeScript escape hatches (`any`, assertions, +or deliberately erased annotations) still bypass static guarantees; this is not +a replacement for runtime response validation. + +Only exceptions from the handler invocation are translated. Authentication, +request validation, DI resolution, middleware, and response serialization are +outside the wrapper. Unknown thrown values are rethrown unchanged. If a translator +fails, its failure propagates without recursively applying the policy again. +Existing centralized handling still logs unexpected failures and sends safe 500 +Problem Details. There is no automatic catch-all or exposure of `Error.message`. + +Application authors decide which errors are safe to map and which details can +be returned. Framework has no knowledge of domain ownership or privacy rules. + +### Incremental adoption + +The old `handle` and `mapHandlers` APIs remain unchanged. Adopt just error policies +without migrating registration: + +```ts +import { withErrors } from '@cleverbrush/server'; + +server.handle( + RemoveItemEndpoint, + withErrors(RemoveItemEndpoint, itemErrors, removeHandler) +); +``` + +The returned function can also be placed in an existing handler map. To migrate +registration, move server-only metadata/DI into scopes, type the existing handler +files against `scope.endpoints`, bind feature modules, and finalize at the root. +Keep the shared contract in `/contract` imports; implementation facilities and +policies are server-entry-point exports only. -See the [complete modular consumer guide](docs/implementations.md), including -configuration precedence, subscriptions, failure behavior, and migration examples. +The repository tests include strict type assertions against emitted package +declarations and a generated 1,000-operation consumer with one handler per file. +The generated consumer verifies cross-file inference and records compiler +diagnostics, memory, and timings for both existing and modular registration +without using environment-dependent timing thresholds. ## Installation diff --git a/libs/server/docs/implementations.md b/libs/server/docs/implementations.md deleted file mode 100644 index bf7746d1..00000000 --- a/libs/server/docs/implementations.md +++ /dev/null @@ -1,222 +0,0 @@ -# Modular implementations and shared error policies - -`implement` adds server-only configuration and complete handler registration to -an existing shared API contract. It does not replace endpoint builders, change -the wire contract, or require business logic inside one fluent expression. -`errorMap` and `withErrors` also work independently of this registration API. - -## A complete multi-file example - -The application functions and service registration below are application-owned. -The contract in this example has exactly two operations, so its root is complete. - -### Shared contract - -```ts -// contracts.ts — browser-safe; no server configuration or handler imports -import { defineApi, endpoint, route } from '@cleverbrush/server/contract'; -import { array, number, object, string } from '@cleverbrush/schema'; - -export const Item = object({ id: number(), title: string() }); -const Message = object({ message: string() }); -export const Principal = object({ userId: string() }); -const resource = endpoint.resource('/items').authorize(Principal); - -export const api = defineApi({ - items: { - list: resource.get().responses({ 200: array(Item) }), - remove: resource.delete( - route({ id: number().coerce() })`/${p => p.id}` - ).responses({ 204: null, 404: Message }) - } -}); -``` - -### Server configuration without handlers - -```ts -// features/items/scope.ts -import { implement } from '@cleverbrush/server'; -import { api } from '../../contracts.js'; -import { DbToken } from '../../di/tokens.js'; - -export const items = implement(api).group('items', { - inject: { db: DbToken }, - tags: ['items'], - operations: { - list: { summary: 'List items', operationId: 'listItems' }, - remove: { summary: 'Remove an item', operationId: 'removeItem' } - } -}); -``` - -`items.endpoints` contains immutable, server-configured builders. Export the -scope constant and reference it with `typeof`; do not annotate it with a broad -base type that erases operation names or service types. - -### Separate handlers - -```ts -// features/items/handlers/list.ts -import type { Handler } from '@cleverbrush/server'; -import type { items } from '../scope.js'; -import { listItems } from '../../../application/items.js'; - -export const list: Handler = ( - { principal }, { db } -) => listItems(db, principal.userId); -``` - -```ts -// features/items/handlers/remove.ts -import { ActionResult, type Handler } from '@cleverbrush/server'; -import type { items } from '../scope.js'; -import { removeItem } from '../../../application/items.js'; - -export const remove: Handler = async ( - { params, principal }, { db } -) => { - await removeItem(db, principal.userId, params.id); - return ActionResult.noContent(); -}; -``` - -The application function can throw a domain exception. Handlers do not need a -repeated catch block. Requests, principals, injected services, and responses are -derived at the handler's declaration site, not inferred retrospectively from a -later registration call. Type-only scope imports avoid runtime import cycles. - -### Application-owned policy and feature registration - -```ts -// features/items/errors.ts -import { ActionResult, errorMap } from '@cleverbrush/server'; -import { MissingItemError } from '../../application/errors.js'; - -export const itemErrors = errorMap().on(MissingItemError, () => - ActionResult.notFound({ message: 'Item not found' }) -); -``` - -```ts -// features/items/index.ts -import { items } from './scope.js'; -import { itemErrors } from './errors.js'; -import { list } from './handlers/list.js'; -import { remove } from './handlers/remove.js'; - -export const itemsModule = items.withHandlers({ - list, - remove: { handler: remove, errors: itemErrors } -}); -``` - -Attaching this policy to `list` is a type error: `list` does not declare 404. -Declaring 204 on `remove` does not permit arbitrary other statuses or bodies. - -```ts -// server.ts — after the application's ordinary server/DI setup -import { implement } from '@cleverbrush/server'; -import { api } from './contracts.js'; -import { itemsModule } from './features/items/index.js'; - -server.handleAll(implement(api).use(itemsModule).complete()); -``` - -`complete()` fails at compile time if an operation is missing, and checks again -at runtime for JavaScript callers and erased types. The output is the existing -`HandlerMapping`. Authentication, validation, caching, batching, middleware, -serialization, logging, and OpenAPI generation use their existing paths. - -## Split large features and compose contract slices - -```ts -export const reads = items.pick('list').withHandlers({ list }); -export const writes = items.pick('remove').withHandlers({ - remove: { handler: remove, errors: itemErrors } -}); -export const feature = implement(api).use(reads, writes); - -// Partial roots can be exported and composed; finalize only at the full root. -server.handleAll(implement(api).use(feature).complete()); -``` - -Other groups are separate feature modules added to the same `use(...)` call. -Pass modules directly or in a literal tuple, not an array widened to a generic -module type. Duplicate bindings are rejected across modules and calls. Source -endpoint identity is checked at runtime as well: independently recreated -endpoints are not interchangeable just because their TypeScript shapes match. -`pickGroups`, `omitGroups`, and `mergeContracts` preserve endpoint references, -so intentional contract slices can be implemented and recomposed. - -Subscriptions use the same scopes, `SubscriptionHandler`, -and existing subscription handler descriptors. They count toward completeness. -HTTP error policies are not accepted on subscription handlers and do not change -the WebSocket error protocol. - -## Configuration rules - -- `inject` merges contract bindings, then group bindings, then operation bindings. - A same-name binding is replaced by the later value in both the type and runtime - service map. Other dependencies remain available. Endpoint `.inject()` itself - retains its existing replacement behavior. -- An operation's `authorize` schema takes precedence over a group's schema; - existing endpoint roles are retained. Supplying authorization explicitly makes - even a previously public operation authenticated. Omit it when authorization - already lives entirely in the shared contract. There is no implicit auth default. -- Operation `tags` replace group tags; group tags replace existing tags. Other - metadata changes only when supplied: `summary`, `description`, `operationId`, - and `deprecated: true`. Deprecation is additive and cannot be cleared here. -- Request/response schemas, cache definitions, upload settings, links, examples, - and other endpoint metadata remain on the shared endpoint. Scopes do not edit - the wire contract or silently add error responses. -- Handler descriptors support existing per-operation `middlewares`. Configuration - scopes do not register anything until explicitly bound and composed. - -## Error policy behavior and limits - -Policies are immutable. Each `.on(ErrorClass, translator)` returns a new policy. -Rules match by `instanceof` in declaration order; put subclasses before base -classes. Both handlers and translators may be synchronous or asynchronous. - -Translators return explicit JSON or bodyless `ActionResult` values. Every result -must fit the target endpoint's `.responses()` status/body map. Policies cannot -use raw/file/stream results to escape that check, and endpoints without explicit -responses cannot attach a policy. TypeScript escape hatches (`any`, assertions, -or deliberately erased annotations) still bypass static guarantees; this is not -a replacement for runtime response validation. - -Only exceptions from the handler invocation are translated. Authentication, -request validation, DI resolution, middleware, and response serialization are -outside the wrapper. Unknown thrown values are rethrown unchanged. If a translator -fails, its failure propagates without recursively applying the policy again. -Existing centralized handling still logs unexpected failures and sends safe 500 -Problem Details. There is no automatic catch-all or exposure of `Error.message`. - -Application authors decide which errors are safe to map and which details can -be returned. Framework has no knowledge of domain ownership or privacy rules. - -## Incremental adoption - -The old `handle` and `mapHandlers` APIs remain unchanged. Adopt just error policies -without migrating registration: - -```ts -import { withErrors } from '@cleverbrush/server'; - -server.handle( - RemoveItemEndpoint, - withErrors(RemoveItemEndpoint, itemErrors, removeHandler) -); -``` - -The returned function can also be placed in an existing handler map. To migrate -registration, move server-only metadata/DI into scopes, type the existing handler -files against `scope.endpoints`, bind feature modules, and finalize at the root. -Keep the shared contract in `/contract` imports; implementation facilities and -policies are server-entry-point exports only. - -The repository tests include a strict multi-file consumer against emitted package -declarations and a generated 1,000-operation consumer with one handler per file. -The latter records compiler diagnostics, memory, and timings for both existing -and modular registration without using environment-dependent timing thresholds. diff --git a/libs/server/package.json b/libs/server/package.json index d6d02d82..4fdc5423 100644 --- a/libs/server/package.json +++ b/libs/server/package.json @@ -17,8 +17,7 @@ }, "description": "Schema-first HTTP server framework — schema-driven controllers, DI, auto-validation, RFC 9457 errors", "files": [ - "dist", - "docs" + "dist" ], "homepage": "https://docs.cleverbrush.com/server", "keywords": [ diff --git a/libs/server/src/Implementation.consumer.test.ts b/libs/server/src/Implementation.consumer.test.ts index 64d0b212..5b09f6bd 100644 --- a/libs/server/src/Implementation.consumer.test.ts +++ b/libs/server/src/Implementation.consumer.test.ts @@ -1,5 +1,180 @@ +import { spawnSync } from 'node:child_process'; +import { + mkdirSync, + mkdtempSync, + readFileSync, + rmSync, + symlinkSync, + writeFileSync +} from 'node:fs'; +import { tmpdir } from 'node:os'; +import { dirname, join, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; import { expect, it } from 'vitest'; -import { checkLargeConsumers } from '../type-fixtures/large-consumer.mjs'; + +const repository = resolve(dirname(fileURLToPath(import.meta.url)), '../../..'); + +/** Generate and compile equivalent, separately packaged 1,000-operation consumers. */ +function checkLargeConsumers() { + const temporary = mkdtempSync( + join(tmpdir(), 'framework-implementation-consumer-') + ); + const write = (path: string, contents: string) => { + const destination = join(temporary, path); + mkdirSync(dirname(destination), { recursive: true }); + writeFileSync(destination, contents); + }; + const metrics: Record> = {}; + try { + symlinkSync( + join(repository, 'node_modules'), + join(temporary, 'node_modules'), + 'dir' + ); + write('package.json', JSON.stringify({ type: 'module' })); + for (const style of ['existing', 'modular']) { + write( + `${style}/shared.ts`, + `import { object, string } from '@cleverbrush/schema'; +export const Db = object({ name: string() }); +export const Query = object({ search: string() }); +export const Output = object({ title: string() });` + ); + const contractImports: string[] = []; + const rootImports: string[] = []; + for (let group = 0; group < 10; group++) { + const name = `feature${group}`; + const names = Array.from( + { length: 100 }, + (_, i) => `operation${i}` + ); + write( + `${style}/${name}/contract.ts`, + `import { endpoint } from '@cleverbrush/server/contract'; +import { Query, Output } from '../shared.js'; +export const ${name} = { +${names.map(operation => `${operation}: endpoint.get('/${name}/${operation}').query(Query).responses({ 200: Output })`).join(',\n')} +};` + ); + contractImports.push( + `import { ${name} } from './${name}/contract.js';` + ); + const scope = + style === 'modular' + ? `import { implement } from '@cleverbrush/server'; +export const scope = implement(api).group('${name}', { inject: { db: Db }, tags: ['${name}'] });` + : `export const scope = { endpoints: { +${names.map(operation => `${operation}: api.${name}.${operation}.inject({ db: Db }).tags('${name}')`).join(',\n')} +} };`; + write( + `${style}/${name}/scope.ts`, + `import { api } from '../contract.js'; +import { Db } from '../shared.js'; +${scope}` + ); + for (const operation of names) { + write( + `${style}/${name}/handlers/${operation}.ts`, + `import type { Handler } from '@cleverbrush/server'; +import type { scope } from '../scope.js'; +export const ${operation}: Handler = ({ query }, { db }) => ({ title: query.search + db.name });` + ); + } + const handlers = `{ ${names.join(', ')} }`; + write( + `${style}/${name}/index.ts`, + `import { scope } from './scope.js'; +${names.map(operation => `import { ${operation} } from './handlers/${operation}.js';`).join('\n')} +${ + style === 'modular' + ? `export const ${name} = scope.withHandlers(${handlers});` + : `export const ${name} = { endpoints: scope.endpoints, handlers: ${handlers} };` +}` + ); + rootImports.push( + `import { ${name} } from './${name}/index.js';` + ); + } + const groups = Array.from({ length: 10 }, (_, i) => `feature${i}`); + write( + `${style}/contract.ts`, + `import { defineApi } from '@cleverbrush/server/contract'; +${contractImports.join('\n')} +export const api = defineApi({ ${groups.join(', ')} });` + ); + write( + `${style}/index.ts`, + `${rootImports.join('\n')} +import { api } from './contract.js'; +${ + style === 'modular' + ? `import { implement } from '@cleverbrush/server'; +export const registration = implement(api).use(${groups.join(', ')}).complete();` + : `import { mapHandlers } from '@cleverbrush/server'; +export const registration = mapHandlers({ ${groups.map(g => `${g}: ${g}.endpoints`).join(', ')} }, { ${groups.map(g => `${g}: ${g}.handlers`).join(', ')} });` +}` + ); + write( + `${style}/tsconfig.json`, + JSON.stringify({ + compilerOptions: { + target: 'ES2022', + module: 'ESNext', + moduleResolution: 'bundler', + strict: true, + declaration: true, + emitDeclarationOnly: true, + outDir: 'dist', + types: ['node'], + lib: ['ES2022', 'ESNext.Disposable'], + skipLibCheck: false + }, + include: ['**/*.ts'], + exclude: ['dist'] + }) + ); + const result = spawnSync( + process.execPath, + [ + join(repository, 'node_modules/typescript/lib/tsc.js'), + '-p', + join(temporary, style, 'tsconfig.json'), + '--extendedDiagnostics' + ], + { encoding: 'utf8', timeout: 90000, maxBuffer: 4 * 1024 * 1024 } + ); + if (result.status !== 0) + throw new Error( + `${style} consumer failed:\n${result.stdout}\n${result.stderr}\n${result.error ?? ''}` + ); + const declaration = readFileSync( + join(temporary, style, 'dist/index.d.ts'), + 'utf8' + ); + if (!declaration.includes('HandlerMapping')) + throw new Error('Missing public registration declaration'); + metrics[style] = Object.fromEntries( + result.stdout + .split('\n') + .map(line => line.split(/:\s+/, 2)) + .filter(([key]) => + [ + 'Types', + 'Instantiations', + 'Memory used', + 'Check time', + 'Emit time', + 'Total time' + ].includes(key) + ) + ); + } + return metrics; + } finally { + // Only this test's generated temporary directory is removed. + rmSync(temporary, { recursive: true, force: true }); + } +} it('typechecks and emits a 1,000-operation multi-file consumer against published declarations', () => { const metrics = checkLargeConsumers(); diff --git a/libs/server/src/Implementation.test-d.ts b/libs/server/src/Implementation.test-d.ts index 3032035b..4da5fc97 100644 --- a/libs/server/src/Implementation.test-d.ts +++ b/libs/server/src/Implementation.test-d.ts @@ -1,29 +1,106 @@ -import { number, object, string } from '@cleverbrush/schema'; +import { array, number, object, string } from '@cleverbrush/schema'; import { ActionResult, + createServer, errorMap, type Handler, type HandlerMapping, implement, withErrors } from '@cleverbrush/server'; -import { defineApi, endpoint, pickGroups } from '@cleverbrush/server/contract'; -import { expectTypeOf, test } from 'vitest'; -import { api } from '../type-fixtures/contracts.js'; -import type { create } from '../type-fixtures/handlers/create.js'; -import { list } from '../type-fixtures/handlers/list.js'; -import { remove } from '../type-fixtures/handlers/remove.js'; import { - itemsImplementation, - live, - reads, - writes -} from '../type-fixtures/module.js'; -import { missingItem } from '../type-fixtures/policies.js'; -import { Db, items } from '../type-fixtures/scope.js'; -import { mapping } from '../type-fixtures/server.js'; + defineApi, + endpoint, + pickGroups, + route +} from '@cleverbrush/server/contract'; +import { expectTypeOf, test } from 'vitest'; + +const Item = object({ id: number(), title: string() }); +const Message = object({ message: string() }); +const Principal = object({ userId: string() }); +const resource = endpoint.resource('/items').authorize(Principal, 'member'); +const byId = route({ id: number().coerce() })`/${p => p.id}`; + +const api = defineApi({ + items: { + list: resource + .get() + .query(object({ search: string() })) + .responses({ 200: array(Item), 400: Message }), + create: resource + .post() + .body(object({ title: string() })) + .responses({ 201: Item, 404: Message }), + remove: resource.delete(byId).responses({ 204: null, 404: Message }), + upload: endpoint + .post('/items/upload') + .authorize(Principal) + .upload() + .responses({ 204: null }) + }, + live: { + changes: endpoint.subscription('/changes').outgoing(Item) + } +}); + +const Db = object({ name: string() }); +const Mailer = object({ host: string() }); +const items = implement(api).group('items', { + inject: { db: Db }, + tags: ['items'], + operations: { + list: { summary: 'List items' }, + create: { inject: { mailer: Mailer }, operationId: 'createItem' } + } +}); + +const list: Handler = async ( + { principal, query }, + { db } +) => [{ id: 1, title: `${principal.userId}:${query.search}:${db.name}` }]; + +const create: Handler = ( + { body }, + { db, mailer } +) => + ActionResult.created({ + id: 1, + title: `${body.title}:${db.name}:${mailer.host}` + }); + +const remove: Handler = ({ params }) => { + if (params.id < 0) throw new Error('Not a persisted item'); + return ActionResult.noContent(); +}; + +class MissingItem extends Error {} +const missingItem = errorMap().on(MissingItem, () => + ActionResult.notFound({ message: 'Item not found' }) +); + +const reads = items.pick('list').withHandlers({ list }); +const writes = items.pick('create', 'remove', 'upload').withHandlers({ + create: { handler: create, errors: missingItem }, + remove: { handler: remove, errors: missingItem }, + upload: ({ files }, { db }) => { + if (!files.image || !db.name) throw new Error('Missing image'); + return ActionResult.noContent(); + } +}); +const itemsImplementation = implement(api).use(reads, writes); +const live = implement(api) + .group('live') + .withHandlers({ + changes: async function* ({ signal }) { + if (!signal.aborted) yield { id: 1, title: 'Changed' }; + } + }); + +const mapping = implement(api).use(itemsImplementation, live).complete(); -test('cross-file declarations preserve exact request, DI and return types', () => { +test('separately declared handlers preserve exact request, DI and return types', () => { + createServer().handleAll(mapping); expectTypeOf(mapping).toEqualTypeOf(); expectTypeOf[0]['query']>().toEqualTypeOf<{ search: string; diff --git a/libs/server/tsconfig.typecheck.json b/libs/server/tsconfig.typecheck.json index 3442974a..56426e83 100644 --- a/libs/server/tsconfig.typecheck.json +++ b/libs/server/tsconfig.typecheck.json @@ -5,6 +5,6 @@ "strict": true, "rootDir": "." }, - "include": ["src/**/*.test-d.ts", "type-fixtures/**/*.ts"], + "include": ["src/**/*.test-d.ts"], "exclude": [] } diff --git a/libs/server/type-fixtures/contracts.ts b/libs/server/type-fixtures/contracts.ts deleted file mode 100644 index 8b338a1c..00000000 --- a/libs/server/type-fixtures/contracts.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { array, number, object, string } from '@cleverbrush/schema'; -import { defineApi, endpoint, route } from '@cleverbrush/server/contract'; - -export const Item = object({ id: number(), title: string() }); -export const Message = object({ message: string() }); -export const Principal = object({ userId: string() }); -const resource = endpoint.resource('/items').authorize(Principal, 'member'); -const byId = route({ id: number().coerce() })`/${p => p.id}`; - -export const api = defineApi({ - items: { - list: resource - .get() - .query(object({ search: string() })) - .responses({ 200: array(Item), 400: Message }), - create: resource - .post() - .body(object({ title: string() })) - .responses({ 201: Item, 404: Message }), - remove: resource.delete(byId).responses({ 204: null, 404: Message }), - upload: endpoint - .post('/items/upload') - .authorize(Principal) - .upload() - .responses({ 204: null }) - }, - live: { - changes: endpoint.subscription('/changes').outgoing(Item) - } -}); diff --git a/libs/server/type-fixtures/handlers/create.ts b/libs/server/type-fixtures/handlers/create.ts deleted file mode 100644 index 98e92893..00000000 --- a/libs/server/type-fixtures/handlers/create.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ActionResult, type Handler } from '@cleverbrush/server'; -import type { items } from '../scope.js'; - -export const create: Handler = ( - { body }, - { db, mailer } -) => - ActionResult.created({ - id: 1, - title: `${body.title}:${db.name}:${mailer.host}` - }); diff --git a/libs/server/type-fixtures/handlers/list.ts b/libs/server/type-fixtures/handlers/list.ts deleted file mode 100644 index 35c2abeb..00000000 --- a/libs/server/type-fixtures/handlers/list.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { Handler } from '@cleverbrush/server'; -import type { items } from '../scope.js'; - -export const list: Handler = async ( - { principal, query }, - { db } -) => [{ id: 1, title: `${principal.userId}:${query.search}:${db.name}` }]; diff --git a/libs/server/type-fixtures/handlers/remove.ts b/libs/server/type-fixtures/handlers/remove.ts deleted file mode 100644 index 95658910..00000000 --- a/libs/server/type-fixtures/handlers/remove.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ActionResult, type Handler } from '@cleverbrush/server'; -import type { items } from '../scope.js'; - -export const remove: Handler = ({ params }) => { - if (params.id < 0) throw new Error('Not a persisted item'); - return ActionResult.noContent(); -}; diff --git a/libs/server/type-fixtures/large-consumer.mjs b/libs/server/type-fixtures/large-consumer.mjs deleted file mode 100644 index 5214dfb6..00000000 --- a/libs/server/type-fixtures/large-consumer.mjs +++ /dev/null @@ -1,176 +0,0 @@ -import { spawnSync } from 'node:child_process'; -import { - mkdirSync, - mkdtempSync, - readFileSync, - rmSync, - symlinkSync, - writeFileSync -} from 'node:fs'; -import { tmpdir } from 'node:os'; -import { dirname, join, resolve } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const repository = resolve(dirname(fileURLToPath(import.meta.url)), '../../..'); - -/** Generate and compile equivalent, separately packaged 1,000-operation consumers. */ -export function checkLargeConsumers() { - const temporary = mkdtempSync( - join(tmpdir(), 'framework-implementation-consumer-') - ); - const write = (path, contents) => { - const destination = join(temporary, path); - mkdirSync(dirname(destination), { recursive: true }); - writeFileSync(destination, contents); - }; - const metrics = {}; - try { - symlinkSync( - join(repository, 'node_modules'), - join(temporary, 'node_modules'), - 'dir' - ); - write('package.json', JSON.stringify({ type: 'module' })); - for (const style of ['existing', 'modular']) { - write( - `${style}/shared.ts`, - `import { object, string } from '@cleverbrush/schema'; -export const Db = object({ name: string() }); -export const Query = object({ search: string() }); -export const Output = object({ title: string() });` - ); - const contractImports = []; - const rootImports = []; - for (let group = 0; group < 10; group++) { - const name = `feature${group}`; - const names = Array.from( - { length: 100 }, - (_, i) => `operation${i}` - ); - write( - `${style}/${name}/contract.ts`, - `import { endpoint } from '@cleverbrush/server/contract'; -import { Query, Output } from '../shared.js'; -export const ${name} = { -${names.map(operation => `${operation}: endpoint.get('/${name}/${operation}').query(Query).responses({ 200: Output })`).join(',\n')} -};` - ); - contractImports.push( - `import { ${name} } from './${name}/contract.js';` - ); - const scope = - style === 'modular' - ? `import { implement } from '@cleverbrush/server'; -export const scope = implement(api).group('${name}', { inject: { db: Db }, tags: ['${name}'] });` - : `export const scope = { endpoints: { -${names.map(operation => `${operation}: api.${name}.${operation}.inject({ db: Db }).tags('${name}')`).join(',\n')} -} };`; - write( - `${style}/${name}/scope.ts`, - `import { api } from '../contract.js'; -import { Db } from '../shared.js'; -${scope}` - ); - for (const operation of names) { - write( - `${style}/${name}/handlers/${operation}.ts`, - `import type { Handler } from '@cleverbrush/server'; -import type { scope } from '../scope.js'; -export const ${operation}: Handler = ({ query }, { db }) => ({ title: query.search + db.name });` - ); - } - const handlers = `{ ${names.join(', ')} }`; - write( - `${style}/${name}/index.ts`, - `import { scope } from './scope.js'; -${names.map(operation => `import { ${operation} } from './handlers/${operation}.js';`).join('\n')} -${ - style === 'modular' - ? `export const ${name} = scope.withHandlers(${handlers});` - : `export const ${name} = { endpoints: scope.endpoints, handlers: ${handlers} };` -}` - ); - rootImports.push( - `import { ${name} } from './${name}/index.js';` - ); - } - const groups = Array.from({ length: 10 }, (_, i) => `feature${i}`); - write( - `${style}/contract.ts`, - `import { defineApi } from '@cleverbrush/server/contract'; -${contractImports.join('\n')} -export const api = defineApi({ ${groups.join(', ')} });` - ); - write( - `${style}/index.ts`, - `${rootImports.join('\n')} -import { api } from './contract.js'; -${ - style === 'modular' - ? `import { implement } from '@cleverbrush/server'; -export const registration = implement(api).use(${groups.join(', ')}).complete();` - : `import { mapHandlers } from '@cleverbrush/server'; -export const registration = mapHandlers({ ${groups.map(g => `${g}: ${g}.endpoints`).join(', ')} }, { ${groups.map(g => `${g}: ${g}.handlers`).join(', ')} });` -}` - ); - write( - `${style}/tsconfig.json`, - JSON.stringify({ - compilerOptions: { - target: 'ES2022', - module: 'ESNext', - moduleResolution: 'bundler', - strict: true, - declaration: true, - emitDeclarationOnly: true, - outDir: 'dist', - types: ['node'], - lib: ['ES2022', 'ESNext.Disposable'], - skipLibCheck: false - }, - include: ['**/*.ts'], - exclude: ['dist'] - }) - ); - const result = spawnSync( - process.execPath, - [ - join(repository, 'node_modules/typescript/lib/tsc.js'), - '-p', - join(temporary, style, 'tsconfig.json'), - '--extendedDiagnostics' - ], - { encoding: 'utf8', timeout: 90000, maxBuffer: 4 * 1024 * 1024 } - ); - if (result.status !== 0) - throw new Error( - `${style} consumer failed:\n${result.stdout}\n${result.stderr}\n${result.error ?? ''}` - ); - const declaration = readFileSync( - join(temporary, style, 'dist/index.d.ts'), - 'utf8' - ); - if (!declaration.includes('HandlerMapping')) - throw new Error('Missing public registration declaration'); - metrics[style] = Object.fromEntries( - result.stdout - .split('\n') - .map(line => line.split(/:\s+/, 2)) - .filter(([key]) => - [ - 'Types', - 'Instantiations', - 'Memory used', - 'Check time', - 'Emit time', - 'Total time' - ].includes(key) - ) - ); - } - return metrics; - } finally { - // Only this test's generated temporary directory is removed. - rmSync(temporary, { recursive: true, force: true }); - } -} diff --git a/libs/server/type-fixtures/module.ts b/libs/server/type-fixtures/module.ts deleted file mode 100644 index 208747bf..00000000 --- a/libs/server/type-fixtures/module.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ActionResult, implement } from '@cleverbrush/server'; -import { api } from './contracts.js'; -import { create } from './handlers/create.js'; -import { list } from './handlers/list.js'; -import { remove } from './handlers/remove.js'; -import { missingItem } from './policies.js'; -import { items } from './scope.js'; - -export const reads = items.pick('list').withHandlers({ list }); -export const writes = items.pick('create', 'remove', 'upload').withHandlers({ - create: { handler: create, errors: missingItem }, - remove: { handler: remove, errors: missingItem }, - upload: ({ files }, { db }) => { - if (!files.image || !db.name) throw new Error('Missing image'); - return ActionResult.noContent(); - } -}); -export const itemsImplementation = implement(api).use(reads, writes); -export const live = implement(api) - .group('live') - .withHandlers({ - changes: async function* ({ signal }) { - if (!signal.aborted) yield { id: 1, title: 'Changed' }; - } - }); diff --git a/libs/server/type-fixtures/policies.ts b/libs/server/type-fixtures/policies.ts deleted file mode 100644 index de09c259..00000000 --- a/libs/server/type-fixtures/policies.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { ActionResult, errorMap } from '@cleverbrush/server'; - -export class MissingItem extends Error {} -export const missingItem = errorMap().on(MissingItem, () => - ActionResult.notFound({ message: 'Item not found' }) -); diff --git a/libs/server/type-fixtures/scope.ts b/libs/server/type-fixtures/scope.ts deleted file mode 100644 index 35d1fa40..00000000 --- a/libs/server/type-fixtures/scope.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { object, string } from '@cleverbrush/schema'; -import { implement } from '@cleverbrush/server'; -import { api } from './contracts.js'; - -export const Db = object({ name: string() }); -export const Mailer = object({ host: string() }); -export const items = implement(api).group('items', { - inject: { db: Db }, - tags: ['items'], - operations: { - list: { summary: 'List items' }, - create: { inject: { mailer: Mailer }, operationId: 'createItem' } - } -}); diff --git a/libs/server/type-fixtures/server.ts b/libs/server/type-fixtures/server.ts deleted file mode 100644 index 5b7c7c19..00000000 --- a/libs/server/type-fixtures/server.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { createServer, implement } from '@cleverbrush/server'; -import { api } from './contracts.js'; -import { itemsImplementation, live } from './module.js'; - -export const mapping = implement(api).use(itemsImplementation, live).complete(); -export const server = createServer().handleAll(mapping); diff --git a/websites/docs/app/server/page.tsx b/websites/docs/app/server/page.tsx index 2f6252f3..77771ae4 100644 --- a/websites/docs/app/server/page.tsx +++ b/websites/docs/app/server/page.tsx @@ -566,7 +566,7 @@ server.handle(RemoveItemEndpoint,

See the{' '} - + complete multi-file consumer guide {' '} for configuration precedence, module composition, and