@nifrajs/core 5.11.0 → 5.12.0

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/edge-kit.d.ts +1 -1
  3. package/dist/edge-kit.d.ts.map +1 -1
  4. package/dist/edge-kit.js +1 -1
  5. package/dist/edge-kit.js.map +1 -1
  6. package/dist/index.d.ts +3 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/internal/capability-runtime.d.ts.map +1 -1
  11. package/dist/internal/capability-runtime.js +3 -2
  12. package/dist/internal/capability-runtime.js.map +1 -1
  13. package/dist/internal/route-execution.d.ts +6 -4
  14. package/dist/internal/route-execution.d.ts.map +1 -1
  15. package/dist/internal/route-execution.js.map +1 -1
  16. package/dist/internal/route-lanes.d.ts +4 -4
  17. package/dist/internal/route-lanes.d.ts.map +1 -1
  18. package/dist/internal/route-lanes.js +37 -37
  19. package/dist/internal/route-lanes.js.map +1 -1
  20. package/dist/manifest.d.ts.map +1 -1
  21. package/dist/manifest.js +2 -1
  22. package/dist/manifest.js.map +1 -1
  23. package/dist/server/body.d.ts +2 -0
  24. package/dist/server/body.d.ts.map +1 -1
  25. package/dist/server/body.js +2 -0
  26. package/dist/server/body.js.map +1 -1
  27. package/dist/server/core-copies.js +1 -1
  28. package/dist/server/server-types.d.ts +7 -1
  29. package/dist/server/server-types.d.ts.map +1 -1
  30. package/dist/server/server.d.ts +16 -24
  31. package/dist/server/server.d.ts.map +1 -1
  32. package/dist/server/server.js +285 -140
  33. package/dist/server/server.js.map +1 -1
  34. package/dist/server/static-response.d.ts +13 -0
  35. package/dist/server/static-response.d.ts.map +1 -0
  36. package/dist/server/static-response.js +28 -0
  37. package/dist/server/static-response.js.map +1 -0
  38. package/dist/server/websocket.d.ts +23 -7
  39. package/dist/server/websocket.d.ts.map +1 -1
  40. package/dist/server/websocket.js +8 -3
  41. package/dist/server/websocket.js.map +1 -1
  42. package/dist/server/ws-adapter-view.d.ts +3 -3
  43. package/dist/server/ws-adapter-view.d.ts.map +1 -1
  44. package/dist/server/ws-bun.d.ts +4 -4
  45. package/dist/server/ws-bun.d.ts.map +1 -1
  46. package/dist/server/ws-bun.js +12 -5
  47. package/dist/server/ws-bun.js.map +1 -1
  48. package/dist/server/ws-hook.d.ts +4 -4
  49. package/dist/server/ws-hook.d.ts.map +1 -1
  50. package/dist/server.d.ts +2 -1
  51. package/dist/server.d.ts.map +1 -1
  52. package/dist/server.js +1 -0
  53. package/dist/server.js.map +1 -1
  54. package/dist/tool-contract.d.ts +5 -0
  55. package/dist/tool-contract.d.ts.map +1 -1
  56. package/dist/tool-contract.js +6 -3
  57. package/dist/tool-contract.js.map +1 -1
  58. package/dist/ws.d.ts +1 -1
  59. package/dist/ws.d.ts.map +1 -1
  60. package/dist/ws.js.map +1 -1
  61. package/package.json +1 -1
  62. package/src/edge-kit.ts +1 -1
  63. package/src/index.ts +3 -1
  64. package/src/internal/capability-runtime.ts +3 -2
  65. package/src/internal/route-execution.ts +6 -4
  66. package/src/internal/route-lanes.ts +44 -44
  67. package/src/manifest.ts +2 -1
  68. package/src/server/body.ts +3 -0
  69. package/src/server/core-copies.ts +1 -1
  70. package/src/server/server-types.ts +7 -1
  71. package/src/server/server.ts +414 -189
  72. package/src/server/static-response.ts +36 -0
  73. package/src/server/websocket.ts +29 -8
  74. package/src/server/ws-adapter-view.ts +3 -3
  75. package/src/server/ws-bun.ts +15 -9
  76. package/src/server/ws-hook.ts +4 -3
  77. package/src/server.ts +2 -0
  78. package/src/tool-contract.ts +13 -3
  79. 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;AAUD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,8BAA8B,EAAE,CAAA"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nifrajs/core",
3
- "version": "5.11.0",
3
+ "version": "5.12.0",
4
4
  "description": "Bun-native, contract-first HTTP framework - the router, server, and route descriptor.",
5
5
  "keywords": [
6
6
  "bun",
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.11.0" as const
19
+ export const VERSION = "5.12.0" 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
- const CAPABILITY_ID = /^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$/
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" | "hooks" | "body-hooks" | undefined
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 skip its
283
- * validation). `undefined` iff `fusedWeb` is. */
284
- readonly fusedLane: "bare" | "body" | "query" | "hooks" | "body-hooks" | undefined
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 bare/body/query/
6
- * lifecycle execution while preserving the important invariant: this module is never called from the
7
- * request path. The returned booleans are consumed by the existing compiled execution plan and fused
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" | "hooks" | "body-hooks" | undefined
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
- // No fused lane validates params, headers, or cookies: any of those schemas keeps the stage runner.
56
- const plain =
57
- schema?.params === undefined && schema?.headers === undefined && schema?.cookies === undefined
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 ONLY lifecycle step is a query schema can fuse too: the parse + validate + handler +
73
- // respond collapse into one closure with no lifecycle promise on the sync path. The guards mirror the
74
- // query lane below PLUS everything the fused dispatch skips: around hooks, the idempotency/ledger
75
- // wrappers, and validation-error recovery (schema or server default) - the fused invalid path is
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.onValidationError === undefined &&
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
- // Lifecycle routes with no params schema are the common middleware shape: derive/before plus an
135
- // optional query or body schema. Select their complete validation stage at registration so the
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 whose only lifecycle steps are derive, before and after hooks (any number of each, at least
150
- // one) runs them in one fused closure chain, with the route's decorations and error hooks. Anything
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
- : (lifecycleHookLane ?? (fusedBodyLifecycle ? "body-hooks" : undefined))
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" || !/^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$/.test(value),
372
+ (value) => typeof value !== "string" || !validCapabilityId(value),
372
373
  )
373
374
  ) {
374
375
  throw new Error(`nifra manifest: ${source} contains invalid capability material`)
@@ -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.11.0"
29
+ const COPY_VERSION = "5.12.0"
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. */
@@ -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. */