@nifrajs/core 5.11.0 → 5.12.1
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 +19 -0
- package/dist/edge-kit.d.ts +1 -1
- package/dist/edge-kit.d.ts.map +1 -1
- package/dist/edge-kit.js +1 -1
- package/dist/edge-kit.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/capability-runtime.d.ts.map +1 -1
- package/dist/internal/capability-runtime.js +3 -2
- package/dist/internal/capability-runtime.js.map +1 -1
- package/dist/internal/route-execution.d.ts +6 -4
- package/dist/internal/route-execution.d.ts.map +1 -1
- package/dist/internal/route-execution.js.map +1 -1
- package/dist/internal/route-lanes.d.ts +4 -4
- package/dist/internal/route-lanes.d.ts.map +1 -1
- package/dist/internal/route-lanes.js +37 -37
- package/dist/internal/route-lanes.js.map +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +2 -1
- package/dist/manifest.js.map +1 -1
- package/dist/server/body.d.ts +2 -0
- package/dist/server/body.d.ts.map +1 -1
- package/dist/server/body.js +2 -0
- package/dist/server/body.js.map +1 -1
- package/dist/server/core-copies.js +1 -1
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +8 -4
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/respond.d.ts.map +1 -1
- package/dist/server/respond.js +10 -0
- package/dist/server/respond.js.map +1 -1
- package/dist/server/server-types.d.ts +7 -1
- package/dist/server/server-types.d.ts.map +1 -1
- package/dist/server/server.d.ts +16 -24
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +285 -140
- package/dist/server/server.js.map +1 -1
- package/dist/server/static-response.d.ts +13 -0
- package/dist/server/static-response.d.ts.map +1 -0
- package/dist/server/static-response.js +28 -0
- package/dist/server/static-response.js.map +1 -0
- package/dist/server/websocket.d.ts +23 -7
- package/dist/server/websocket.d.ts.map +1 -1
- package/dist/server/websocket.js +8 -3
- package/dist/server/websocket.js.map +1 -1
- package/dist/server/ws-adapter-view.d.ts +3 -3
- package/dist/server/ws-adapter-view.d.ts.map +1 -1
- package/dist/server/ws-bun.d.ts +4 -4
- package/dist/server/ws-bun.d.ts.map +1 -1
- package/dist/server/ws-bun.js +12 -5
- package/dist/server/ws-bun.js.map +1 -1
- package/dist/server/ws-hook.d.ts +4 -4
- package/dist/server/ws-hook.d.ts.map +1 -1
- package/dist/server.d.ts +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/tool-contract.d.ts +5 -0
- package/dist/tool-contract.d.ts.map +1 -1
- package/dist/tool-contract.js +6 -3
- package/dist/tool-contract.js.map +1 -1
- package/dist/ws.d.ts +1 -1
- package/dist/ws.d.ts.map +1 -1
- package/dist/ws.js.map +1 -1
- package/package.json +1 -1
- package/src/edge-kit.ts +1 -1
- package/src/index.ts +3 -1
- package/src/internal/capability-runtime.ts +3 -2
- package/src/internal/route-execution.ts +6 -4
- package/src/internal/route-lanes.ts +44 -44
- package/src/manifest.ts +2 -1
- package/src/server/body.ts +3 -0
- package/src/server/core-copies.ts +1 -1
- package/src/server/request-context.ts +12 -8
- package/src/server/respond.ts +11 -0
- package/src/server/server-types.ts +7 -1
- package/src/server/server.ts +414 -189
- package/src/server/static-response.ts +36 -0
- package/src/server/websocket.ts +29 -8
- package/src/server/ws-adapter-view.ts +3 -3
- package/src/server/ws-bun.ts +15 -9
- package/src/server/ws-hook.ts +4 -3
- package/src/server.ts +2 -0
- package/src/tool-contract.ts +13 -3
- package/src/ws.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-contract.js","sourceRoot":"","sources":["../src/tool-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-contract.js","sourceRoot":"","sources":["../src/tool-contract.ts"],"names":[],"mappings":"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"}
|
package/dist/ws.d.ts
CHANGED
|
@@ -23,6 +23,6 @@ import { attachWebSocket, TopicRegistry, wrapWebSocketMessageValidation } from "
|
|
|
23
23
|
* a no-op (named plugin dedupe).
|
|
24
24
|
*/
|
|
25
25
|
export declare function websocket(): IdentityPlugin;
|
|
26
|
-
export type { NifraWebSocket, StandardWebSocket, WebSocketContext, WebSocketData, WebSocketHandler, WebSocketUpgradeOutcome, } from "./server/websocket.js";
|
|
26
|
+
export type { NifraWebSocket, StandardWebSocket, TopicAdapter, WebSocketContext, WebSocketData, WebSocketHandler, WebSocketUpgradeOutcome, } from "./server/websocket.js";
|
|
27
27
|
export { attachWebSocket, TopicRegistry, wrapWebSocketMessageValidation };
|
|
28
28
|
//# sourceMappingURL=ws.d.ts.map
|
package/dist/ws.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAEL,eAAe,EAEf,aAAa,EAEb,8BAA8B,EAC/B,MAAM,uBAAuB,CAAA;AAmB9B;;;GAGG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAM1C;AAED,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,8BAA8B,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAEL,eAAe,EAEf,aAAa,EAEb,8BAA8B,EAC/B,MAAM,uBAAuB,CAAA;AAmB9B;;;GAGG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAM1C;AAED,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,8BAA8B,EAAE,CAAA"}
|
package/dist/ws.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,8BAA8B,GAC/B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGxD,MAAM,UAAU,GAAc;IAC5B,WAAW,EAAE,8BAA8B;IAC3C,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE,iBAAiB;IAC3B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;IACvC,WAAW,EAAE,mBAAmB;IAChC,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;CACxB,CAAA;AAOD;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,CAAsB,GAAM,EAAK,EAAE;QAC/C,CAAC;QAAC,GAAgC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAmB,CAAA;AAClF,CAAC;
|
|
1
|
+
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,8BAA8B,GAC/B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGxD,MAAM,UAAU,GAAc;IAC5B,WAAW,EAAE,8BAA8B;IAC3C,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE,iBAAiB;IAC3B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;IACvC,WAAW,EAAE,mBAAmB;IAChC,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;CACxB,CAAA;AAOD;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,CAAsB,GAAM,EAAK,EAAE;QAC/C,CAAC;QAAC,GAAgC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAmB,CAAA;AAClF,CAAC;AAWD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,8BAA8B,EAAE,CAAA"}
|
package/package.json
CHANGED
package/src/edge-kit.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
export { type ErrorLogDetail, emitRequestErrorLog } from "./server/bare-error-lane.ts"
|
|
25
|
-
export { assertByteLimit, capBodyBytes } from "./server/body.ts"
|
|
25
|
+
export { assertByteLimit, capBodyBytes, DEFAULT_MAX_BODY_BYTES } from "./server/body.ts"
|
|
26
26
|
export { type FormOrigins, readBodyFramed } from "./server/body-lane.ts"
|
|
27
27
|
export { plainError } from "./server/http.ts"
|
|
28
28
|
export { boundedJsonText, JsonByteLimitError, jsonResponse } from "./server/json-response.ts"
|
package/src/index.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* read its own package.json at runtime. `scripts/version.ts` rewrites it on every release bump and
|
|
17
17
|
* `check:publish` asserts it equals `@nifrajs/core`'s package version.
|
|
18
18
|
*/
|
|
19
|
-
export const VERSION = "5.
|
|
19
|
+
export const VERSION = "5.12.1" as const
|
|
20
20
|
|
|
21
21
|
export type Version = typeof VERSION
|
|
22
22
|
|
|
@@ -190,9 +190,11 @@ export type {
|
|
|
190
190
|
SSEStream,
|
|
191
191
|
TypedSSEStream,
|
|
192
192
|
} from "./server/sse.ts"
|
|
193
|
+
export { staticResponse } from "./server/static-response.ts"
|
|
193
194
|
export type {
|
|
194
195
|
NifraWebSocket,
|
|
195
196
|
StandardWebSocket,
|
|
197
|
+
TopicAdapter,
|
|
196
198
|
WebSocketContext,
|
|
197
199
|
WebSocketData,
|
|
198
200
|
WebSocketHandler,
|
|
@@ -2,7 +2,8 @@ import type { EffectLifecycleObserver } from "../effect-lifecycle.ts"
|
|
|
2
2
|
import type { EffectCost } from "../ledger.ts"
|
|
3
3
|
|
|
4
4
|
export const CAPABILITY_GUARD = Symbol("nifra.capability.guard")
|
|
5
|
-
|
|
5
|
+
// Lowercase segments joined by `.`, `-` or `_`, so a snake_case tool name is a valid capability segment.
|
|
6
|
+
const CAPABILITY_ID = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/
|
|
6
7
|
|
|
7
8
|
export function validCapabilityId(value: string): boolean {
|
|
8
9
|
return CAPABILITY_ID.test(value)
|
|
@@ -103,7 +104,7 @@ export function normalizeRouteCapabilities(
|
|
|
103
104
|
for (const value of values) {
|
|
104
105
|
if (typeof value !== "string" || !validCapabilityId(value)) {
|
|
105
106
|
throw new Error(
|
|
106
|
-
`route capabilities: invalid capability id ${JSON.stringify(value)} (use lowercase dot/dash segments)`,
|
|
107
|
+
`route capabilities: invalid capability id ${JSON.stringify(value)} (use lowercase dot/dash/underscore segments)`,
|
|
107
108
|
)
|
|
108
109
|
}
|
|
109
110
|
if (!seen.has(value)) {
|
|
@@ -32,6 +32,7 @@ import type {
|
|
|
32
32
|
} from "../server/response-contract-lane.ts"
|
|
33
33
|
import type { HandlerResult, ResponseResult } from "../server/runtime-core.ts"
|
|
34
34
|
import type { CtxSet, MaybePromise, RawContext, RequestSource, Server } from "../server/server.ts"
|
|
35
|
+
import type { StaticResponseDefinition } from "../server/static-response.ts"
|
|
35
36
|
import type { RouteProgram } from "./route-program.ts"
|
|
36
37
|
|
|
37
38
|
export type InternalHandler = (ctx: RawContext) => MaybePromise<HandlerResult>
|
|
@@ -140,7 +141,7 @@ export function compileRouteExecutionPlan(options: {
|
|
|
140
141
|
readonly hasLedger: boolean
|
|
141
142
|
readonly fusedWeb: FusedWebRunner | undefined
|
|
142
143
|
readonly fusedBody: FusedBodyRunner | undefined
|
|
143
|
-
readonly fusedLane: "bare" | "body" | "query" | "
|
|
144
|
+
readonly fusedLane: "bare" | "body" | "query" | "inputs" | "hooks" | undefined
|
|
144
145
|
}): RouteExecutionPlan {
|
|
145
146
|
const { lane, contextless, hasAround, hasLedger, fusedWeb, fusedBody, fusedLane } = options
|
|
146
147
|
|
|
@@ -279,13 +280,14 @@ export interface RouteExecutionPlan {
|
|
|
279
280
|
readonly fusedWeb: FusedWebRunner | undefined
|
|
280
281
|
readonly fusedBody: FusedBodyRunner | undefined
|
|
281
282
|
/** Which builder produced {@link fusedWeb} - a merge rebinds the closure to the executing server
|
|
282
|
-
* and must rebuild it with the SAME semantics (a query-fused route rebuilt as bare would
|
|
283
|
-
* validation). `undefined` iff `fusedWeb` is. */
|
|
284
|
-
readonly fusedLane: "bare" | "body" | "query" | "
|
|
283
|
+
* and must rebuild it with the SAME semantics (a query- or input-fused route rebuilt as bare would
|
|
284
|
+
* skip its validation). `undefined` iff `fusedWeb` is. */
|
|
285
|
+
readonly fusedLane: "bare" | "body" | "query" | "inputs" | "hooks" | undefined
|
|
285
286
|
}
|
|
286
287
|
|
|
287
288
|
export interface RouteEntry {
|
|
288
289
|
readonly handler: InternalHandler
|
|
290
|
+
readonly staticResponse: StaticResponseDefinition | undefined
|
|
289
291
|
readonly schema: RouteSchema | undefined
|
|
290
292
|
/**
|
|
291
293
|
* Effective transport body cap, already resolved at registration: the route's own
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Registration-time route-lane selection.
|
|
3
3
|
*
|
|
4
4
|
* A route's lane is a property of its registered shape, not of an individual request. Keeping this
|
|
5
|
-
* decision in a small internal module gives the server kernel one vocabulary for
|
|
6
|
-
* lifecycle execution
|
|
7
|
-
*
|
|
5
|
+
* decision in a small internal module gives the server kernel one vocabulary for
|
|
6
|
+
* bare/body/query/input/lifecycle execution. This module is never called from the request path. The
|
|
7
|
+
* returned booleans are consumed by the existing compiled execution plan and fused
|
|
8
8
|
* builders; no adapter or extra dispatch hop is introduced at runtime.
|
|
9
9
|
*/
|
|
10
10
|
import type { RouteSchema } from "../server/context.ts"
|
|
@@ -18,7 +18,7 @@ export interface RouteLaneSelection {
|
|
|
18
18
|
readonly lane: RouteExecutionLane
|
|
19
19
|
readonly lifecycleLane: LifecycleExecutionLane
|
|
20
20
|
readonly lifecycleHookLane: "hooks" | undefined
|
|
21
|
-
readonly fusedLane: "bare" | "body" | "query" | "
|
|
21
|
+
readonly fusedLane: "bare" | "body" | "query" | "inputs" | "hooks" | undefined
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export function selectRouteLanes(options: {
|
|
@@ -52,13 +52,20 @@ export function selectRouteLanes(options: {
|
|
|
52
52
|
|
|
53
53
|
const authBeforeValidation =
|
|
54
54
|
options.hasAuth === true || schema?.validationOrder === "auth-before-validation"
|
|
55
|
-
//
|
|
56
|
-
const plain =
|
|
57
|
-
|
|
55
|
+
// Narrow body/query runners handle simple shapes; the shared input lane composes schemas.
|
|
56
|
+
const plain = schema?.headers === undefined && schema?.cookies === undefined
|
|
57
|
+
const noParams = schema?.params === undefined
|
|
58
|
+
const hasInputSchema =
|
|
59
|
+
schema?.headers !== undefined ||
|
|
60
|
+
schema?.cookies !== undefined ||
|
|
61
|
+
schema?.params !== undefined ||
|
|
62
|
+
schema?.body !== undefined ||
|
|
63
|
+
schema?.query !== undefined
|
|
58
64
|
|
|
59
65
|
const bare =
|
|
60
66
|
!authBeforeValidation &&
|
|
61
67
|
plain &&
|
|
68
|
+
noParams &&
|
|
62
69
|
schema?.body === undefined &&
|
|
63
70
|
schema?.query === undefined &&
|
|
64
71
|
!hasIdempotency &&
|
|
@@ -69,19 +76,18 @@ export function selectRouteLanes(options: {
|
|
|
69
76
|
afterHandle === 0 &&
|
|
70
77
|
onError === 0
|
|
71
78
|
|
|
72
|
-
// A route whose
|
|
73
|
-
// respond collapse into one closure with no lifecycle promise on the sync path. The guards
|
|
74
|
-
// query lane below PLUS everything the fused dispatch skips: around hooks, the
|
|
75
|
-
// wrappers, and validation-error recovery (schema or server default)
|
|
76
|
-
// exactly `validationError(issues)`, so any recovery semantics keep the generic lane.
|
|
79
|
+
// A route whose only input stages are path params and/or a query schema can fuse too: validate +
|
|
80
|
+
// handler + respond collapse into one closure with no lifecycle promise on the sync path. The guards
|
|
81
|
+
// mirror the query lane below PLUS everything the fused dispatch skips: around hooks, the
|
|
82
|
+
// idempotency/ledger wrappers, and validation-error recovery (schema or server default).
|
|
77
83
|
const fusedQuery =
|
|
78
84
|
!bare &&
|
|
79
85
|
!authBeforeValidation &&
|
|
80
86
|
!hasResponseContract &&
|
|
81
|
-
schema?.query !== undefined &&
|
|
87
|
+
(schema?.query !== undefined || schema?.params !== undefined) &&
|
|
82
88
|
schema.body === undefined &&
|
|
83
89
|
plain &&
|
|
84
|
-
schema
|
|
90
|
+
schema?.onValidationError === undefined &&
|
|
85
91
|
!defaultOnValidationError &&
|
|
86
92
|
!hasIdempotency &&
|
|
87
93
|
!hasLedger &&
|
|
@@ -112,17 +118,32 @@ export function selectRouteLanes(options: {
|
|
|
112
118
|
!hasLedger &&
|
|
113
119
|
around === 0
|
|
114
120
|
|
|
121
|
+
// The shared input runner handles every ordinary validation shape, including body+query and
|
|
122
|
+
// params+headers+cookies combinations. It also carries lifecycle and error hooks; only recovery
|
|
123
|
+
// callbacks or outer wrappers that observe the stage sequence need the general program.
|
|
124
|
+
const fusedInputs =
|
|
125
|
+
hasInputSchema &&
|
|
126
|
+
!authBeforeValidation &&
|
|
127
|
+
!hasResponseContract &&
|
|
128
|
+
schema.onValidationError === undefined &&
|
|
129
|
+
!defaultOnValidationError &&
|
|
130
|
+
!hasIdempotency &&
|
|
131
|
+
!hasLedger &&
|
|
132
|
+
decorationsAssignable &&
|
|
133
|
+
around === 0
|
|
134
|
+
|
|
115
135
|
// The idempotency gate lives in the general program, so an idempotent route always runs it.
|
|
116
136
|
const lane: RouteExecutionLane =
|
|
117
137
|
authBeforeValidation || hasIdempotency
|
|
118
138
|
? "lifecycle"
|
|
119
139
|
: bare
|
|
120
140
|
? "bare"
|
|
121
|
-
: bodyOnly
|
|
141
|
+
: bodyOnly && (noParams || fusedBody)
|
|
122
142
|
? "body"
|
|
123
143
|
: !hasResponseContract &&
|
|
124
144
|
schema?.body === undefined &&
|
|
125
145
|
schema?.query !== undefined &&
|
|
146
|
+
noParams &&
|
|
126
147
|
plain &&
|
|
127
148
|
derives === 0 &&
|
|
128
149
|
beforeHandle === 0 &&
|
|
@@ -131,10 +152,8 @@ export function selectRouteLanes(options: {
|
|
|
131
152
|
? "query"
|
|
132
153
|
: "lifecycle"
|
|
133
154
|
|
|
134
|
-
//
|
|
135
|
-
//
|
|
136
|
-
// request path never re-checks params/body presence. Parameter-schema routes retain the generic
|
|
137
|
-
// lifecycle runner until their more involved recovery matrix is selected explicitly.
|
|
155
|
+
// Select the lifecycle stage shape at registration so the request path never re-checks which input
|
|
156
|
+
// schemas or hook phases are present.
|
|
138
157
|
const lifecycleLane: LifecycleExecutionLane =
|
|
139
158
|
lane !== "lifecycle" || !plain
|
|
140
159
|
? undefined
|
|
@@ -146,12 +165,8 @@ export function selectRouteLanes(options: {
|
|
|
146
165
|
? "query"
|
|
147
166
|
: "hooks"
|
|
148
167
|
|
|
149
|
-
// A route
|
|
150
|
-
//
|
|
151
|
-
// that can observe around hooks, a response contract or a validation-error recovery keeps the
|
|
152
|
-
// generic runner. A params, headers or cookies schema
|
|
153
|
-
// routes back to the generic lane because the fused builder has no validation step for them, and a
|
|
154
|
-
// `body` schema is the `body-hooks` lane below because this one does not parse the body.
|
|
168
|
+
// A route with lifecycle hooks and no validated inputs uses the same compiled hook chain. Input
|
|
169
|
+
// routes use `fusedInputs` above, including when their hooks run after validation.
|
|
155
170
|
const hookCount = derives + beforeHandle + afterHandle
|
|
156
171
|
const lifecycleHookLane =
|
|
157
172
|
lane === "lifecycle" &&
|
|
@@ -164,28 +179,11 @@ export function selectRouteLanes(options: {
|
|
|
164
179
|
!defaultOnValidationError &&
|
|
165
180
|
plain &&
|
|
166
181
|
schema?.body === undefined &&
|
|
167
|
-
hookCount > 0 &&
|
|
182
|
+
(hookCount > 0 || onError > 0) &&
|
|
168
183
|
around === 0
|
|
169
184
|
? "hooks"
|
|
170
185
|
: undefined
|
|
171
186
|
|
|
172
|
-
// The same hooks around a body schema: the fused closure runs parse, validate, derive, before,
|
|
173
|
-
// handler and after in one function frame, the win `fusedBody` already gives the no-hooks shape.
|
|
174
|
-
const fusedBodyLifecycle =
|
|
175
|
-
lane === "lifecycle" &&
|
|
176
|
-
!authBeforeValidation &&
|
|
177
|
-
schema?.body !== undefined &&
|
|
178
|
-
schema?.query === undefined &&
|
|
179
|
-
plain &&
|
|
180
|
-
schema?.onValidationError === undefined &&
|
|
181
|
-
!defaultOnValidationError &&
|
|
182
|
-
!hasResponseContract &&
|
|
183
|
-
decorationsAssignable &&
|
|
184
|
-
!hasIdempotency &&
|
|
185
|
-
!hasLedger &&
|
|
186
|
-
hookCount > 0 &&
|
|
187
|
-
around === 0
|
|
188
|
-
|
|
189
187
|
return {
|
|
190
188
|
bare,
|
|
191
189
|
fusedQuery,
|
|
@@ -202,7 +200,9 @@ export function selectRouteLanes(options: {
|
|
|
202
200
|
? "body"
|
|
203
201
|
: bare
|
|
204
202
|
? "bare"
|
|
205
|
-
:
|
|
203
|
+
: fusedInputs
|
|
204
|
+
? "inputs"
|
|
205
|
+
: lifecycleHookLane
|
|
206
206
|
: undefined,
|
|
207
207
|
}
|
|
208
208
|
}
|
package/src/manifest.ts
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
type RouteSnapshotSchema,
|
|
16
16
|
} from "./diff.ts"
|
|
17
17
|
import { type ProjectEvidenceSnapshot, snapshotProjectEvidence } from "./evidence.ts"
|
|
18
|
+
import { validCapabilityId } from "./internal/capability-runtime.ts"
|
|
18
19
|
import { codeUnitOrder } from "./internal/code-unit-order.ts"
|
|
19
20
|
import { hasControlCharacter } from "./internal/control-character.ts"
|
|
20
21
|
import { sha256Hex } from "./internal/hex.ts"
|
|
@@ -368,7 +369,7 @@ export async function parseNifraManifest(
|
|
|
368
369
|
!Array.isArray(capabilities.unproven) ||
|
|
369
370
|
typeof capabilities.covered !== "boolean" ||
|
|
370
371
|
[...capabilities.declared, ...capabilities.evidenced, ...capabilities.unproven].some(
|
|
371
|
-
(value) => typeof value !== "string" ||
|
|
372
|
+
(value) => typeof value !== "string" || !validCapabilityId(value),
|
|
372
373
|
)
|
|
373
374
|
) {
|
|
374
375
|
throw new Error(`nifra manifest: ${source} contains invalid capability material`)
|
package/src/server/body.ts
CHANGED
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
import { jsonError } from "./http.ts"
|
|
11
11
|
import { carryToCopy } from "./request-local.ts"
|
|
12
12
|
|
|
13
|
+
/** Default request-body cap shared by the full Server and the compact edge server. */
|
|
14
|
+
export const DEFAULT_MAX_BODY_BYTES = 1_000_000
|
|
15
|
+
|
|
13
16
|
interface BodySource {
|
|
14
17
|
readonly headers: Pick<Headers, "get">
|
|
15
18
|
readonly body: ReadableStream<Uint8Array> | null
|
|
@@ -26,7 +26,7 @@ if (!copies.includes(here) && copies.push(here) > 1) {
|
|
|
26
26
|
|
|
27
27
|
/** This copy's version: a literal like the package root's `VERSION` (no fs on the edge), which
|
|
28
28
|
* `scripts/version.ts` rewrites on every release and `check:publish` asserts. */
|
|
29
|
-
const COPY_VERSION = "5.
|
|
29
|
+
const COPY_VERSION = "5.12.1"
|
|
30
30
|
|
|
31
31
|
/** Record this copy's version beside its URL. Called by each `server()` behind the development guard,
|
|
32
32
|
* so a production bundle drops it with the version; a copy that built a server has recorded one. */
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* sits below the server module in the graph.
|
|
6
6
|
*/
|
|
7
7
|
import type { RequestBudget } from "../budget.ts"
|
|
8
|
-
import { markResidentBody } from "../mount.ts"
|
|
8
|
+
import { markResidentBody, residentBodiesRecorded } from "../mount.ts"
|
|
9
9
|
import { applyTransportCap, readBoundedBytes } from "./body.ts"
|
|
10
10
|
import { readBoundedJsonSource } from "./body-lane.ts"
|
|
11
11
|
import type { Platform } from "./context.ts"
|
|
@@ -165,6 +165,8 @@ function responseTextContentType(): string {
|
|
|
165
165
|
/** `c.text`'s own default, unchanged: the explicit one nifra has always declared when the caller
|
|
166
166
|
* passes no headers of their own. */
|
|
167
167
|
const TEXT_CONTENT_TYPE = "text/plain; charset=utf-8"
|
|
168
|
+
const TEXT_RESPONSE_HEADERS = { "content-type": TEXT_CONTENT_TYPE }
|
|
169
|
+
const TEXT_RESPONSE_INIT: ResponseInit = { headers: TEXT_RESPONSE_HEADERS }
|
|
168
170
|
|
|
169
171
|
/** Where a serving adapter that shares one platform across requests leaves its socket-peer lookup.
|
|
170
172
|
* `c.clientIp` calls it with the request when a handler reads the address, so a request whose
|
|
@@ -439,13 +441,15 @@ export class RequestContext implements RawContext {
|
|
|
439
441
|
}
|
|
440
442
|
}
|
|
441
443
|
// Default to text/plain; if the caller passes their own headers, they own the content-type.
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
new Response(
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
444
|
+
const response =
|
|
445
|
+
i?.headers !== undefined
|
|
446
|
+
? new Response(body, i)
|
|
447
|
+
: new Response(
|
|
448
|
+
body,
|
|
449
|
+
i === undefined ? TEXT_RESPONSE_INIT : { ...i, headers: TEXT_RESPONSE_HEADERS },
|
|
450
|
+
)
|
|
451
|
+
const resident = residentText(response, body)
|
|
452
|
+
return residentBodiesRecorded ? markResidentBody(resident) : resident
|
|
449
453
|
}
|
|
450
454
|
|
|
451
455
|
get query(): unknown {
|
package/src/server/respond.ts
CHANGED
|
@@ -613,6 +613,17 @@ export function fusedRespond(
|
|
|
613
613
|
unstamped = false,
|
|
614
614
|
): Response {
|
|
615
615
|
const set = ctx[CONTEXT_SET]()
|
|
616
|
+
if (
|
|
617
|
+
set === undefined &&
|
|
618
|
+
statics === undefined &&
|
|
619
|
+
!tagResponseBody &&
|
|
620
|
+
result instanceof Response &&
|
|
621
|
+
!isResponseResult(result) &&
|
|
622
|
+
!responseBodyUsed(result)
|
|
623
|
+
) {
|
|
624
|
+
if (!isBodylessStatus(result.status)) return result
|
|
625
|
+
return normalizeBodylessResponse(result, unstamped ? undefined : ctx[CONTEXT_REQUEST])
|
|
626
|
+
}
|
|
616
627
|
const request = unstamped ? undefined : ctx[CONTEXT_REQUEST]
|
|
617
628
|
if (set === undefined)
|
|
618
629
|
return fusedRespondNoSet(result, tagResponseBody, statics, unstamped, request)
|
|
@@ -17,7 +17,7 @@ import type {
|
|
|
17
17
|
ResponseHeadersHook,
|
|
18
18
|
} from "./node-outcome-hook.ts"
|
|
19
19
|
import type { MaybePromise, OnRequestResult } from "./server.ts"
|
|
20
|
-
import type { WebSocketUpgradeOutcome } from "./websocket.ts"
|
|
20
|
+
import type { TopicAdapter, WebSocketUpgradeOutcome } from "./websocket.ts"
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* The outcome of a capacity-admission decision. `admitted` requests carry a `release` the server calls
|
|
@@ -126,6 +126,12 @@ export interface ServerOptions {
|
|
|
126
126
|
* the whole message.
|
|
127
127
|
*/
|
|
128
128
|
readonly wsMaxPayloadBytes?: number
|
|
129
|
+
/**
|
|
130
|
+
* Topic membership and broadcast implementation for WebSocket routes. By default, Nifra uses an
|
|
131
|
+
* in-process `TopicRegistry`; pass an adapter to bridge subscriptions and publishes to a shared
|
|
132
|
+
* fan-out service. `app.publish()` returns a promise when the adapter publishes asynchronously.
|
|
133
|
+
*/
|
|
134
|
+
readonly topicAdapter?: TopicAdapter
|
|
129
135
|
/** Per-request timeout (ms): a slower request gets a 503 and `ctx.signal` aborts. 0 disables (default). */
|
|
130
136
|
readonly requestTimeoutMs?: number
|
|
131
137
|
/** WebSocket upgrade admission/guard timeout (ms). Default 10_000; set to 0 only for a deliberate unbounded guard. */
|