@beignet/core 0.0.33 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +207 -30
- package/dist/agent-capabilities/index.d.ts +167 -0
- package/dist/agent-capabilities/index.d.ts.map +1 -0
- package/dist/agent-capabilities/index.js +275 -0
- package/dist/agent-capabilities/index.js.map +1 -0
- package/dist/application/index.d.ts +2 -2
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +13 -3
- package/dist/application/index.js.map +1 -1
- package/dist/client/client.d.ts +2 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +33 -16
- package/dist/client/client.js.map +1 -1
- package/dist/contracts/contract-builder.d.ts +5 -7
- package/dist/contracts/contract-builder.d.ts.map +1 -1
- package/dist/contracts/contract-builder.js +3 -18
- package/dist/contracts/contract-builder.js.map +1 -1
- package/dist/contracts/contract-group.d.ts +2 -2
- package/dist/contracts/contract-group.d.ts.map +1 -1
- package/dist/contracts/contract-group.js +2 -1
- package/dist/contracts/contract-group.js.map +1 -1
- package/dist/contracts/metadata.d.ts +3 -0
- package/dist/contracts/metadata.d.ts.map +1 -0
- package/dist/contracts/metadata.js +14 -0
- package/dist/contracts/metadata.js.map +1 -0
- package/dist/contracts/types.d.ts +20 -0
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js.map +1 -1
- package/dist/events/index.d.ts +4 -4
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -5
- package/dist/events/index.js.map +1 -1
- package/dist/flags/index.d.ts +0 -4
- package/dist/flags/index.d.ts.map +1 -1
- package/dist/flags/index.js +0 -4
- package/dist/flags/index.js.map +1 -1
- package/dist/idempotency/index.d.ts.map +1 -1
- package/dist/idempotency/index.js +14 -9
- package/dist/idempotency/index.js.map +1 -1
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js +10 -4
- package/dist/jobs/index.js.map +1 -1
- package/dist/notifications/index.d.ts +194 -10
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +397 -59
- package/dist/notifications/index.js.map +1 -1
- package/dist/openapi/index.js +15 -8
- package/dist/openapi/index.js.map +1 -1
- package/dist/ports/auth.d.ts +2 -0
- package/dist/ports/auth.d.ts.map +1 -1
- package/dist/ports/auth.js +2 -0
- package/dist/ports/auth.js.map +1 -1
- package/dist/ports/events.d.ts +2 -2
- package/dist/ports/index.d.ts +1 -1
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +1 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/provider.d.ts +10 -2
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/provider.js.map +1 -1
- package/dist/schedules/index.d.ts +6 -13
- package/dist/schedules/index.d.ts.map +1 -1
- package/dist/schedules/index.js +24 -44
- package/dist/schedules/index.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/request-executor.d.ts +72 -0
- package/dist/server/request-executor.d.ts.map +1 -0
- package/dist/server/request-executor.js +781 -0
- package/dist/server/request-executor.js.map +1 -0
- package/dist/server/request-preparation.d.ts +39 -0
- package/dist/server/request-preparation.d.ts.map +1 -0
- package/dist/server/request-preparation.js +248 -0
- package/dist/server/request-preparation.js.map +1 -0
- package/dist/server/response-finalization.d.ts +34 -0
- package/dist/server/response-finalization.d.ts.map +1 -0
- package/dist/server/response-finalization.js +279 -0
- package/dist/server/response-finalization.js.map +1 -0
- package/dist/server/route-definitions.d.ts +139 -0
- package/dist/server/route-definitions.d.ts.map +1 -0
- package/dist/server/route-definitions.js +94 -0
- package/dist/server/route-definitions.js.map +1 -0
- package/dist/server/route-matching.d.ts +15 -0
- package/dist/server/route-matching.d.ts.map +1 -0
- package/dist/server/route-matching.js +46 -0
- package/dist/server/route-matching.js.map +1 -0
- package/dist/server/server.d.ts +6 -157
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +29 -1340
- package/dist/server/server.js.map +1 -1
- package/dist/server/use-case-route.d.ts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/tracing/index.d.ts +1 -1
- package/dist/tracing/index.d.ts.map +1 -1
- package/dist/tracing/index.js.map +1 -1
- package/dist/uploads/client.js +4 -7
- package/dist/uploads/client.js.map +1 -1
- package/dist/uploads/index.d.ts.map +1 -1
- package/dist/uploads/index.js +59 -12
- package/dist/uploads/index.js.map +1 -1
- package/package.json +5 -5
- package/skills/app-architecture/SKILL.md +31 -1
- package/src/agent-capabilities/index.ts +578 -0
- package/src/application/index.ts +19 -5
- package/src/client/client.ts +41 -17
- package/src/contracts/contract-builder.ts +8 -23
- package/src/contracts/contract-group.ts +4 -6
- package/src/contracts/metadata.ts +20 -0
- package/src/contracts/types.ts +39 -0
- package/src/events/index.ts +16 -20
- package/src/flags/index.ts +0 -5
- package/src/idempotency/index.ts +17 -9
- package/src/jobs/index.ts +8 -3
- package/src/notifications/index.ts +678 -70
- package/src/openapi/index.ts +24 -12
- package/src/ports/auth.ts +2 -0
- package/src/ports/events.ts +2 -2
- package/src/ports/index.ts +0 -1
- package/src/providers/index.ts +1 -0
- package/src/providers/provider.ts +18 -3
- package/src/schedules/index.ts +57 -63
- package/src/server/index.ts +4 -2
- package/src/server/request-executor.ts +1170 -0
- package/src/server/request-preparation.ts +409 -0
- package/src/server/response-finalization.ts +385 -0
- package/src/server/route-definitions.ts +338 -0
- package/src/server/route-matching.ts +64 -0
- package/src/server/server.ts +63 -2171
- package/src/server/use-case-route.ts +1 -1
- package/src/testing/index.ts +2 -0
- package/src/tracing/index.ts +1 -0
- package/src/uploads/client.ts +4 -7
- package/src/uploads/index.ts +70 -12
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { HttpContractConfig } from "../contracts/index.js";
|
|
2
|
+
import { type MemoInstrumentationEvent } from "../memo/index.js";
|
|
3
|
+
import type { AnyPorts } from "../ports/index.js";
|
|
4
|
+
import type { ContextSeed } from "./context.js";
|
|
5
|
+
import type { Handler, HttpRequestLike, HttpResponse, RouteHook, ServerCaughtErrorHook, ServerHook, ServerUnhandledErrorMapper } from "./http.js";
|
|
6
|
+
import type { ServerInstrumentationOptions } from "./instrumentation.js";
|
|
7
|
+
import { type RequestBodyOptions } from "./request-preparation.js";
|
|
8
|
+
import { type CompiledPath } from "./route-matching.js";
|
|
9
|
+
type RequestExecutorOptions<Ctx> = {
|
|
10
|
+
instrumentation?: ServerInstrumentationOptions<Ctx> | false;
|
|
11
|
+
validateResponses?: boolean;
|
|
12
|
+
requestBody?: RequestBodyOptions;
|
|
13
|
+
onCaughtError?: ServerCaughtErrorHook<Ctx>;
|
|
14
|
+
mapUnhandledError?: ServerUnhandledErrorMapper<Ctx>;
|
|
15
|
+
};
|
|
16
|
+
type ExecutionTarget<Ctx, C extends HttpContractConfig> = {
|
|
17
|
+
contract: C;
|
|
18
|
+
/**
|
|
19
|
+
* Compiled route pattern. Only required when the executor is invoked
|
|
20
|
+
* without pre-matched params.
|
|
21
|
+
*/
|
|
22
|
+
compiled?: CompiledPath;
|
|
23
|
+
handler: Handler<Ctx, C>;
|
|
24
|
+
/**
|
|
25
|
+
* Success status whose response schema validation is skipped because the
|
|
26
|
+
* use case bound to this route already validated its output against the
|
|
27
|
+
* same schema object.
|
|
28
|
+
*/
|
|
29
|
+
responseValidationExemptStatus?: number;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Build the per-request execution pipeline once.
|
|
33
|
+
*
|
|
34
|
+
* The returned executor takes the contract, compiled pattern, and user handler
|
|
35
|
+
* per invocation so fallback responses (404/405) can reuse a single pipeline
|
|
36
|
+
* across requests instead of rebuilding it per unmatched request.
|
|
37
|
+
*/
|
|
38
|
+
export declare function createRequestExecutor<Ctx, FinalPorts extends AnyPorts, C extends HttpContractConfig>(options: RequestExecutorOptions<Ctx>, finalPorts: FinalPorts, contextRuntime: {
|
|
39
|
+
createRequestContext: (req: HttpRequestLike, contract: HttpContractConfig) => Promise<Ctx>;
|
|
40
|
+
finalizeContext: (seed: ContextSeed<Ctx> | Ctx) => Ctx;
|
|
41
|
+
}, hooks: ServerHook<Ctx, FinalPorts>[], routeHooks?: readonly RouteHook<unknown, object>[], optionsOverrides?: {
|
|
42
|
+
skipRoutePreparation?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Run the route through the full hook pipeline without contract
|
|
45
|
+
* preparation: no query/path/header/body parsing or validation, and the
|
|
46
|
+
* request body is left unconsumed for the handler.
|
|
47
|
+
*/
|
|
48
|
+
rawRoute?: boolean;
|
|
49
|
+
}): (target: ExecutionTarget<Ctx, C>, req: HttpRequestLike, preMatchedParams?: Record<string, string>) => Promise<HttpResponse>;
|
|
50
|
+
/**
|
|
51
|
+
* Build a memo instrumentation recorder from the app ports, or undefined when
|
|
52
|
+
* no instrumentation sink is wired.
|
|
53
|
+
*
|
|
54
|
+
* Resolved per execution rather than at route-build time because providers
|
|
55
|
+
* contribute `ports.instrumentation`/`ports.devtools` during setup, after
|
|
56
|
+
* routes are registered.
|
|
57
|
+
*/
|
|
58
|
+
export declare function createMemoScopeRecorder(ports: AnyPorts): ((event: MemoInstrumentationEvent) => void) | undefined;
|
|
59
|
+
export declare function buildHandler<Ctx, FinalPorts extends AnyPorts, C extends HttpContractConfig>(options: RequestExecutorOptions<Ctx>, finalPorts: FinalPorts, contextRuntime: {
|
|
60
|
+
createRequestContext: (req: HttpRequestLike, contract: HttpContractConfig) => Promise<Ctx>;
|
|
61
|
+
finalizeContext: (seed: ContextSeed<Ctx> | Ctx) => Ctx;
|
|
62
|
+
}, contract: C, userHandler: Handler<Ctx, C>, hooks: ServerHook<Ctx, FinalPorts>[], routeHooks?: readonly RouteHook<unknown, object>[], optionsOverrides?: {
|
|
63
|
+
skipRoutePreparation?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Run the route through the full hook pipeline without contract
|
|
66
|
+
* preparation: no query/path/header/body parsing or validation, and the
|
|
67
|
+
* request body is left unconsumed for the handler.
|
|
68
|
+
*/
|
|
69
|
+
rawRoute?: boolean;
|
|
70
|
+
}, responseValidationExemptStatus?: number): (req: HttpRequestLike, preMatchedParams?: Record<string, string>) => Promise<HttpResponse>;
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=request-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-executor.d.ts","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"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"}
|