@c9up/ream 0.2.17 → 0.2.19

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 (112) hide show
  1. package/README.md +4 -0
  2. package/dist/Application.d.ts +15 -0
  3. package/dist/Application.d.ts.map +1 -1
  4. package/dist/Application.js +15 -0
  5. package/dist/Application.js.map +1 -1
  6. package/dist/HttpKernel.d.ts +10 -0
  7. package/dist/HttpKernel.d.ts.map +1 -1
  8. package/dist/HttpKernel.js +61 -5
  9. package/dist/HttpKernel.js.map +1 -1
  10. package/dist/Ignitor.d.ts.map +1 -1
  11. package/dist/Ignitor.js +65 -15
  12. package/dist/Ignitor.js.map +1 -1
  13. package/dist/Provider.d.ts +15 -0
  14. package/dist/Provider.d.ts.map +1 -1
  15. package/dist/Provider.js.map +1 -1
  16. package/dist/container/Container.d.ts.map +1 -1
  17. package/dist/container/Container.js +174 -45
  18. package/dist/container/Container.js.map +1 -1
  19. package/dist/container/types.d.ts +7 -0
  20. package/dist/container/types.d.ts.map +1 -1
  21. package/dist/dev/hmr.d.ts +37 -0
  22. package/dist/dev/hmr.d.ts.map +1 -0
  23. package/dist/dev/hmr.js +72 -0
  24. package/dist/dev/hmr.js.map +1 -0
  25. package/dist/graphql/GraphQLProvider.d.ts +14 -3
  26. package/dist/graphql/GraphQLProvider.d.ts.map +1 -1
  27. package/dist/graphql/GraphQLProvider.js +14 -3
  28. package/dist/graphql/GraphQLProvider.js.map +1 -1
  29. package/dist/hot.d.ts +29 -0
  30. package/dist/hot.d.ts.map +1 -0
  31. package/dist/hot.js +135 -0
  32. package/dist/hot.js.map +1 -0
  33. package/dist/http/Exception.d.ts +2 -2
  34. package/dist/http/Exception.d.ts.map +1 -1
  35. package/dist/http/Exception.js +3 -3
  36. package/dist/http/Exception.js.map +1 -1
  37. package/dist/http/Request.d.ts +24 -3
  38. package/dist/http/Request.d.ts.map +1 -1
  39. package/dist/http/Request.js +40 -0
  40. package/dist/http/Request.js.map +1 -1
  41. package/dist/http/RequestValidator.d.ts +80 -0
  42. package/dist/http/RequestValidator.d.ts.map +1 -0
  43. package/dist/http/RequestValidator.js +93 -0
  44. package/dist/http/RequestValidator.js.map +1 -0
  45. package/dist/index.d.ts +5 -3
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +3 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/middleware/Pipeline.d.ts +2 -2
  50. package/dist/middleware/Pipeline.js +2 -2
  51. package/dist/middleware/Pipeline.js.map +1 -1
  52. package/dist/migrations/MigrationRegistry.d.ts +16 -0
  53. package/dist/migrations/MigrationRegistry.d.ts.map +1 -1
  54. package/dist/migrations/MigrationRegistry.js +24 -0
  55. package/dist/migrations/MigrationRegistry.js.map +1 -1
  56. package/dist/openapi/OpenApiGenerator.d.ts +16 -0
  57. package/dist/openapi/OpenApiGenerator.d.ts.map +1 -1
  58. package/dist/openapi/OpenApiGenerator.js +76 -4
  59. package/dist/openapi/OpenApiGenerator.js.map +1 -1
  60. package/dist/openapi/OpenApiProvider.d.ts +16 -5
  61. package/dist/openapi/OpenApiProvider.d.ts.map +1 -1
  62. package/dist/openapi/OpenApiProvider.js +21 -6
  63. package/dist/openapi/OpenApiProvider.js.map +1 -1
  64. package/dist/router/Router.d.ts +1 -1
  65. package/dist/router/Router.js +1 -1
  66. package/dist/rpc/RpcProvider.d.ts +13 -2
  67. package/dist/rpc/RpcProvider.d.ts.map +1 -1
  68. package/dist/rpc/RpcProvider.js +13 -2
  69. package/dist/rpc/RpcProvider.js.map +1 -1
  70. package/dist/security/CookieSigner.d.ts +3 -2
  71. package/dist/security/CookieSigner.d.ts.map +1 -1
  72. package/dist/security/CookieSigner.js +3 -2
  73. package/dist/security/CookieSigner.js.map +1 -1
  74. package/dist/storage/StaticMiddleware.d.ts +75 -7
  75. package/dist/storage/StaticMiddleware.d.ts.map +1 -1
  76. package/dist/storage/StaticMiddleware.js +257 -85
  77. package/dist/storage/StaticMiddleware.js.map +1 -1
  78. package/dist/storage/StaticProvider.d.ts +12 -2
  79. package/dist/storage/StaticProvider.d.ts.map +1 -1
  80. package/dist/storage/StaticProvider.js +24 -5
  81. package/dist/storage/StaticProvider.js.map +1 -1
  82. package/events.win32-x64-msvc.node +0 -0
  83. package/index.darwin-arm64.node +0 -0
  84. package/index.darwin-x64.node +0 -0
  85. package/index.linux-arm64-gnu.node +0 -0
  86. package/index.linux-x64-gnu.node +0 -0
  87. package/index.win32-x64-msvc.node +0 -0
  88. package/package.json +20 -8
  89. package/scheduler.win32-x64-msvc.node +0 -0
  90. package/scripts/copy-napi.mjs +11 -3
  91. package/src/Application.ts +15 -0
  92. package/src/HttpKernel.ts +87 -5
  93. package/src/Ignitor.ts +70 -16
  94. package/src/Provider.ts +15 -0
  95. package/src/container/Container.ts +178 -48
  96. package/src/container/types.ts +11 -0
  97. package/src/dev/hmr.ts +83 -0
  98. package/src/graphql/GraphQLProvider.ts +14 -3
  99. package/src/hot.ts +165 -0
  100. package/src/http/Exception.ts +4 -4
  101. package/src/http/Request.ts +67 -3
  102. package/src/http/RequestValidator.ts +143 -0
  103. package/src/index.ts +10 -3
  104. package/src/middleware/Pipeline.ts +4 -4
  105. package/src/migrations/MigrationRegistry.ts +23 -0
  106. package/src/openapi/OpenApiGenerator.ts +84 -4
  107. package/src/openapi/OpenApiProvider.ts +21 -6
  108. package/src/router/Router.ts +1 -1
  109. package/src/rpc/RpcProvider.ts +13 -2
  110. package/src/security/CookieSigner.ts +3 -2
  111. package/src/storage/StaticMiddleware.ts +338 -97
  112. package/src/storage/StaticProvider.ts +26 -5
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiGenerator.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzC;AAMD,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;IACD,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9C,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACjC,CAAA;CACF,CAAA;AAaD,qBAAa,gBAAgB;;gBAMzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOpD,qEAAqE;IACrE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIvE,8CAA8C;IAC9C,QAAQ,IAAI,WAAW;CAoLxB"}
1
+ {"version":3,"file":"OpenApiGenerator.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzC;AAMD,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;IACD,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9C,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACjC,CAAA;CACF,CAAA;AAaD,qBAAa,gBAAgB;;gBAgBzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOpD,qEAAqE;IACrE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIvE;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASjF,8CAA8C;IAC9C,QAAQ,IAAI,WAAW;CA+LxB"}
@@ -22,6 +22,16 @@ export class OpenApiGenerator {
22
22
  #router;
23
23
  #config;
24
24
  #runeSchemas;
25
+ /**
26
+ * Schemas a validator produced itself, already in JSON Schema form.
27
+ *
28
+ * Kept apart from {@link #runeSchemas}, which holds rune FIELD MAPS that
29
+ * {@link #runeToJsonSchema} still has to convert. One map for both would
30
+ * mean guessing which kind a value is, and guessing wrong sends a finished
31
+ * schema back through the converter, which reads its `type` and `properties`
32
+ * keys as if they were field names.
33
+ */
34
+ #jsonSchemas = new Map();
25
35
  constructor(router, config, runeSchemas) {
26
36
  this.#router = router;
27
37
  this.#config = config;
@@ -31,6 +41,31 @@ export class OpenApiGenerator {
31
41
  registerSchema(name, definition) {
32
42
  this.#runeSchemas.set(name, definition);
33
43
  }
44
+ /**
45
+ * Fill the schema map from the validators the routes already name.
46
+ *
47
+ * `route.validate('createUser')` records a container token, and the
48
+ * validator behind it can describe itself. Without this step every one of
49
+ * those routes documented its body as a bare `{ type: 'object' }` unless the
50
+ * app ALSO called `registerSchema` by hand with a definition it had to keep
51
+ * in step with the schema — two descriptions of one payload, and nothing
52
+ * checking they agreed.
53
+ *
54
+ * Resolution happens once, here, because `generate()` is synchronous and the
55
+ * container is not. A validator that cannot be resolved, or that cannot
56
+ * describe itself, is skipped: a missing section of documentation is a
57
+ * smaller problem than a boot that fails over one.
58
+ */
59
+ async hydrateSchemas(resolve) {
60
+ const names = new Set(this.#getRoutes().flatMap((route) => route.validators));
61
+ for (const name of names) {
62
+ if (this.#runeSchemas.has(name) || this.#jsonSchemas.has(name))
63
+ continue;
64
+ const definition = await describeValidator(resolve, name);
65
+ if (definition !== undefined)
66
+ this.#jsonSchemas.set(name, definition);
67
+ }
68
+ }
34
69
  /** Generate the complete OpenAPI 3.1 spec. */
35
70
  generate() {
36
71
  const spec = {
@@ -109,13 +144,13 @@ export class OpenApiGenerator {
109
144
  }
110
145
  if (route.validators.length > 0 && ['post', 'put', 'patch'].includes(method)) {
111
146
  const [validatorName] = route.validators;
112
- const schema = validatorName === undefined ? undefined : this.#runeSchemas.get(validatorName);
113
- if (schema && validatorName !== undefined) {
147
+ const body = validatorName === undefined ? undefined : this.#bodySchema(validatorName);
148
+ if (body && validatorName !== undefined) {
114
149
  operation.requestBody = {
115
150
  required: true,
116
- content: { 'application/json': { schema: this.#runeToJsonSchema(schema) } },
151
+ content: { 'application/json': { schema: body } },
117
152
  };
118
- schemas[validatorName] = this.#runeToJsonSchema(schema);
153
+ schemas[validatorName] = body;
119
154
  }
120
155
  else {
121
156
  operation.requestBody = {
@@ -146,6 +181,17 @@ export class OpenApiGenerator {
146
181
  return route.name;
147
182
  return `${route.method} ${route.path}`;
148
183
  }
184
+ /**
185
+ * The JSON Schema for a named validator: what it described about itself
186
+ * first, then a hand-registered field map converted here.
187
+ */
188
+ #bodySchema(name) {
189
+ const described = this.#jsonSchemas.get(name);
190
+ if (described !== undefined)
191
+ return described;
192
+ const fields = this.#runeSchemas.get(name);
193
+ return fields === undefined ? undefined : this.#runeToJsonSchema(fields);
194
+ }
149
195
  /** Convert a Rune schema (Record<string, RuleChain>) to JSON Schema. */
150
196
  #runeToJsonSchema(schema) {
151
197
  const properties = {};
@@ -191,4 +237,30 @@ export class OpenApiGenerator {
191
237
  return this.#router.getRoutes();
192
238
  }
193
239
  }
240
+ function describesItself(value) {
241
+ return (typeof value === 'object' &&
242
+ value !== null &&
243
+ 'toJSONSchema' in value &&
244
+ typeof value.toJSONSchema === 'function');
245
+ }
246
+ /** Resolve one validator and ask it for its schema, or answer undefined. */
247
+ async function describeValidator(resolve, name) {
248
+ let validator;
249
+ try {
250
+ validator = await resolve(`validator:${name}`);
251
+ }
252
+ catch {
253
+ // An unregistered validator is already a hard error at request time; the
254
+ // documentation is not the place to raise it a second time.
255
+ return undefined;
256
+ }
257
+ if (!describesItself(validator))
258
+ return undefined;
259
+ try {
260
+ return validator.toJSONSchema();
261
+ }
262
+ catch {
263
+ return undefined;
264
+ }
265
+ }
194
266
  //# sourceMappingURL=OpenApiGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiGenerator.js","sourceRoot":"","sources":["../../src/openapi/OpenApiGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenApiGenerator.js","sourceRoot":"","sources":["../../src/openapi/OpenApiGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * `OpenApiProvider` — serves an auto-generated OpenAPI 3.1 spec + Swagger UI.
3
3
  *
4
- * `boot()` mounts a global middleware that, on the first GET to `/api-docs`
4
+ * `start()` mounts a global middleware that, on the first GET to `/api-docs`
5
5
  * (JSON) or `/docs` (Swagger UI), lazily generates the spec from the router's
6
- * registered routes — so every route registered during boot/start is included
7
- * (the spec must NOT be generated eagerly at boot, before other providers have
8
- * registered their routes). Opt-out via `config.openapi.enabled = false`.
6
+ * registered routes — so every route registered while the application starts
7
+ * up is included (the spec must NOT be generated eagerly, before the other
8
+ * providers and the preloads have registered their routes). Opt-out via
9
+ * `config.openapi.enabled = false`.
9
10
  *
10
11
  * @implements Story 24.4
11
12
  */
@@ -31,7 +32,17 @@ export interface OpenApiProviderOptions {
31
32
  export declare class OpenApiProvider extends Provider {
32
33
  #private;
33
34
  constructor(app: AppContext, options?: OpenApiProviderOptions);
34
- boot(): Promise<void>;
35
+ /**
36
+ * Routes and server middleware go in `start`, not `boot`.
37
+ *
38
+ * Upstream documents that phase for exactly this, and the order is what makes
39
+ * it matter: providers boot, then providers START, then the preloads run —
40
+ * and the preloads are where an application writes its own routes and kernel.
41
+ * Mounted in `boot`, a framework route landed ahead of every application
42
+ * route, so an overlapping path was answered by the framework rather than by
43
+ * the app that meant to override it.
44
+ */
45
+ start(): Promise<void>;
35
46
  }
36
47
  export default OpenApiProvider;
37
48
  //# sourceMappingURL=OpenApiProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiProvider.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAC7B;AAED,qBAAa,eAAgB,SAAQ,QAAQ;;gBAG/B,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,sBAA2B;IAKlD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBrC;AAGD,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"OpenApiProvider.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAC7B;AAED,qBAAa,eAAgB,SAAQ,QAAQ;;gBAG/B,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,sBAA2B;IAKjE;;;;;;;;;OASG;IACY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAyBtC;AAGD,eAAe,eAAe,CAAA"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * `OpenApiProvider` — serves an auto-generated OpenAPI 3.1 spec + Swagger UI.
3
3
  *
4
- * `boot()` mounts a global middleware that, on the first GET to `/api-docs`
4
+ * `start()` mounts a global middleware that, on the first GET to `/api-docs`
5
5
  * (JSON) or `/docs` (Swagger UI), lazily generates the spec from the router's
6
- * registered routes — so every route registered during boot/start is included
7
- * (the spec must NOT be generated eagerly at boot, before other providers have
8
- * registered their routes). Opt-out via `config.openapi.enabled = false`.
6
+ * registered routes — so every route registered while the application starts
7
+ * up is included (the spec must NOT be generated eagerly, before the other
8
+ * providers and the preloads have registered their routes). Opt-out via
9
+ * `config.openapi.enabled = false`.
9
10
  *
10
11
  * @implements Story 24.4
11
12
  */
@@ -18,7 +19,17 @@ export class OpenApiProvider extends Provider {
18
19
  super(app);
19
20
  this.#override = options.generator;
20
21
  }
21
- async boot() {
22
+ /**
23
+ * Routes and server middleware go in `start`, not `boot`.
24
+ *
25
+ * Upstream documents that phase for exactly this, and the order is what makes
26
+ * it matter: providers boot, then providers START, then the preloads run —
27
+ * and the preloads are where an application writes its own routes and kernel.
28
+ * Mounted in `boot`, a framework route landed ahead of every application
29
+ * route, so an overlapping path was answered by the framework rather than by
30
+ * the app that meant to override it.
31
+ */
32
+ async start() {
22
33
  const config = this.app.config.get('openapi') ?? {};
23
34
  if (config.enabled === false)
24
35
  return;
@@ -33,10 +44,14 @@ export class OpenApiProvider extends Provider {
33
44
  }
34
45
  async #buildGenerator(config) {
35
46
  const router = await this.app.container.make('router');
36
- return new OpenApiGenerator(router, {
47
+ const generator = new OpenApiGenerator(router, {
37
48
  title: config.title ?? 'API',
38
49
  version: config.version ?? '1.0.0',
39
50
  });
51
+ // The routes already name their validators; ask each one to describe
52
+ // itself instead of making the app repeat the shape by hand.
53
+ await generator.hydrateSchemas((token) => this.app.container.make(token));
54
+ return generator;
40
55
  }
41
56
  }
42
57
  // Default export so reamrc's provider loader can `() => import('@c9up/ream/<feature>/provider')` (resolves to { default }), matching events/rpc. Named export above stays.
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiProvider.js","sourceRoot":"","sources":["../../src/openapi/OpenApiProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAoB1D,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAClC,SAAS,CAAmB;IAErC,YAAY,GAAe,EAAE,UAAkC,EAAE;QAC/D,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACpC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAoB,SAAS,CAAC,IAAI,EAAE,CAAA;QACtE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,OAAM;QAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAA;QAC9D,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC;YACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE;SACjC,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAyB;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAA;QAC9D,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE;YAClC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;YAC5B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;SACnC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,2KAA2K;AAC3K,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"OpenApiProvider.js","sourceRoot":"","sources":["../../src/openapi/OpenApiProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAoB1D,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAClC,SAAS,CAAmB;IAErC,YAAY,GAAe,EAAE,UAAkC,EAAE;QAC/D,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACpC,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,KAAK;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAoB,SAAS,CAAC,IAAI,EAAE,CAAA;QACtE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,OAAM;QAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAA;QAC9D,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC;YACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE;SACjC,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAyB;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAA;QAC9D,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE;YAC7C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;YAC5B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;SACnC,CAAC,CAAA;QACF,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAU,KAAK,CAAC,CAAC,CAAA;QAClF,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAED,2KAA2K;AAC3K,eAAe,eAAe,CAAA"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Fluent Router — AdonisJS v6 compatible routing with controllers, resources, and groups.
2
+ * Fluent Router — AdonisJS-compatible routing with controllers, resources, and groups.
3
3
  *
4
4
  * @implements FR24, FR25, FR26, FR27, FR28
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Fluent Router — AdonisJS v6 compatible routing with controllers, resources, and groups.
2
+ * Fluent Router — AdonisJS-compatible routing with controllers, resources, and groups.
3
3
  *
4
4
  * @implements FR24, FR25, FR26, FR27, FR28
5
5
  */
@@ -9,8 +9,9 @@
9
9
  * rpc.method('task.validate', handler).guard('jwt')
10
10
  * rpc.namespace('user', UserController)
11
11
  *
12
- * - `boot()` — mount `POST <config.rpc.path ?? '/rpc'>` on the core router,
12
+ * - `start()` — mount `POST <config.rpc.path ?? '/rpc'>` on the core router,
13
13
  * dispatching every request body (single or batch) to `RpcRouter.handle()`.
14
+ * In `start`, which is the phase upstream documents for routes.
14
15
  *
15
16
  * @implements Story 24.1, 24.2
16
17
  */
@@ -38,7 +39,17 @@ export declare class RpcProvider extends Provider {
38
39
  readonly rpc: RpcRouter;
39
40
  constructor(app: AppContext, options?: RpcProviderOptions);
40
41
  register(): void;
41
- boot(): Promise<void>;
42
+ /**
43
+ * Routes and server middleware go in `start`, not `boot`.
44
+ *
45
+ * Upstream documents that phase for exactly this, and the order is what makes
46
+ * it matter: providers boot, then providers START, then the preloads run —
47
+ * and the preloads are where an application writes its own routes and kernel.
48
+ * Mounted in `boot`, a framework route landed ahead of every application
49
+ * route, so an overlapping path was answered by the framework rather than by
50
+ * the app that meant to override it.
51
+ */
52
+ start(): Promise<void>;
42
53
  }
43
54
  export default RpcProvider;
44
55
  //# sourceMappingURL=RpcProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcProvider.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,qBAAa,WAAY,SAAQ,QAAQ;;IACvC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;gBAGX,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB;IAKpD,QAAQ,IAAI,IAAI;IAmBV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAarC;AAMD,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"RpcProvider.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,qBAAa,WAAY,SAAQ,QAAQ;;IACvC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;gBAGX,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB;IAKpD,QAAQ,IAAI,IAAI;IAmBzB;;;;;;;;;OASG;IACY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAatC;AAMD,eAAe,WAAW,CAAA"}
@@ -9,8 +9,9 @@
9
9
  * rpc.method('task.validate', handler).guard('jwt')
10
10
  * rpc.namespace('user', UserController)
11
11
  *
12
- * - `boot()` — mount `POST <config.rpc.path ?? '/rpc'>` on the core router,
12
+ * - `start()` — mount `POST <config.rpc.path ?? '/rpc'>` on the core router,
13
13
  * dispatching every request body (single or batch) to `RpcRouter.handle()`.
14
+ * In `start`, which is the phase upstream documents for routes.
14
15
  *
15
16
  * @implements Story 24.1, 24.2
16
17
  */
@@ -39,7 +40,17 @@ export class RpcProvider extends Provider {
39
40
  container.singleton('rpc', () => this.rpc);
40
41
  this.#registered = true;
41
42
  }
42
- async boot() {
43
+ /**
44
+ * Routes and server middleware go in `start`, not `boot`.
45
+ *
46
+ * Upstream documents that phase for exactly this, and the order is what makes
47
+ * it matter: providers boot, then providers START, then the preloads run —
48
+ * and the preloads are where an application writes its own routes and kernel.
49
+ * Mounted in `boot`, a framework route landed ahead of every application
50
+ * route, so an overlapping path was answered by the framework rather than by
51
+ * the app that meant to override it.
52
+ */
53
+ async start() {
43
54
  const config = this.app.config.get('rpc');
44
55
  const path = config?.path ?? '/rpc';
45
56
  const router = await this.app.container.make('router');
@@ -1 +1 @@
1
- {"version":3,"file":"RpcProvider.js","sourceRoot":"","sources":["../../src/rpc/RpcProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGlD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAoB1C,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAC9B,GAAG,CAAW;IACvB,WAAW,GAAG,KAAK,CAAA;IAEnB,YAAY,GAAe,EAAE,UAA8B,EAAE;QAC3D,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,SAAS,EAAE,CAAA;IAC9C,CAAC;IAEQ,QAAQ;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAA;QACpC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,0DAA0D;YAC1D,8DAA8D;YAC9D,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAM;YAC5B,MAAM,IAAI,SAAS,CACjB,mCAAmC,EACnC,gEAAgE,EAChE;gBACE,IAAI,EAAE,kGAAkG;aACzG,CACF,CAAA;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAChC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAY,KAAK,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,MAAM,CAAA;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAA;QAC9D,0EAA0E;QAC1E,2DAA2D;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3E,sEAAsE;QACtE,wEAAwE;QACxE,gCAAgC;QAChC,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,EAAE,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAA;IAC/C,CAAC;CACF;AAED,uEAAuE;AACvE,+EAA+E;AAC/E,gFAAgF;AAChF,4BAA4B;AAC5B,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"RpcProvider.js","sourceRoot":"","sources":["../../src/rpc/RpcProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGlD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAoB1C,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAC9B,GAAG,CAAW;IACvB,WAAW,GAAG,KAAK,CAAA;IAEnB,YAAY,GAAe,EAAE,UAA8B,EAAE;QAC3D,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,SAAS,EAAE,CAAA;IAC9C,CAAC;IAEQ,QAAQ;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAA;QACpC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,0DAA0D;YAC1D,8DAA8D;YAC9D,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAM;YAC5B,MAAM,IAAI,SAAS,CACjB,mCAAmC,EACnC,gEAAgE,EAChE;gBACE,IAAI,EAAE,kGAAkG;aACzG,CACF,CAAA;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAChC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,KAAK;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAY,KAAK,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,MAAM,CAAA;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAA;QAC9D,0EAA0E;QAC1E,2DAA2D;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3E,sEAAsE;QACtE,wEAAwE;QACxE,gCAAgC;QAChC,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,EAAE,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAA;IAC/C,CAAC;CACF;AAED,uEAAuE;AACvE,+EAA+E;AAC/E,gFAAgF;AAChF,4BAA4B;AAC5B,eAAe,WAAW,CAAA"}
@@ -44,8 +44,9 @@ export declare class CookieSigner {
44
44
  /**
45
45
  * The cipher in use (AdonisJS `Encryption.algorithm`).
46
46
  *
47
- * `aes-256-gcm`, not upstream's `aes-256-cbc` — see the deviation at the top
48
- * of this file.
47
+ * `aes-256-gcm`, which is what upstream configures by default now; the CBC
48
+ * construction lives on there as the `legacy` driver. See the note at the top
49
+ * of this file for what that means for a cookie written by an older app.
49
50
  */
50
51
  get algorithm(): 'aes-256-gcm';
51
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CookieSigner.d.ts","sourceRoot":"","sources":["../../src/security/CookieSigner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,2EAA2E;AAC3E,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAG,mBAAmB,CAAS;;CAK7C;AAED,gFAAgF;AAChF,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAG,oBAAoB,CAAS;gBACjC,MAAM,SAAsC;CAIzD;AA8BD,qBAAa,YAAY;;gBAIX,MAAM,EAAE,MAAM;IAyD1B;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAMlE,iFAAiF;IACjF,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAa9D;;;;;OAKG;IACH,IAAI,SAAS,IAAI,aAAa,CAE7B;IAED;;;;;;;OAOG;IACH,IAAI,MAAM,IAAI;QACZ,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;QAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;QACpC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;QAChC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KACxC,CAOA;IAED;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI;QACd,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACpE,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAA;KAChE,CAKA;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY;IAIpC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IASrE,OAAO,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;CAyBnE"}
1
+ {"version":3,"file":"CookieSigner.d.ts","sourceRoot":"","sources":["../../src/security/CookieSigner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,2EAA2E;AAC3E,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAG,mBAAmB,CAAS;;CAK7C;AAED,gFAAgF;AAChF,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAG,oBAAoB,CAAS;gBACjC,MAAM,SAAsC;CAIzD;AA8BD,qBAAa,YAAY;;gBAIX,MAAM,EAAE,MAAM;IAyD1B;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAMlE,iFAAiF;IACjF,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAa9D;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,aAAa,CAE7B;IAED;;;;;;;OAOG;IACH,IAAI,MAAM,IAAI;QACZ,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;QAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;QACpC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;QAChC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KACxC,CAOA;IAED;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI;QACd,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACpE,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAA;KAChE,CAKA;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY;IAIpC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IASrE,OAAO,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;CAyBnE"}
@@ -144,8 +144,9 @@ export class CookieSigner {
144
144
  /**
145
145
  * The cipher in use (AdonisJS `Encryption.algorithm`).
146
146
  *
147
- * `aes-256-gcm`, not upstream's `aes-256-cbc` — see the deviation at the top
148
- * of this file.
147
+ * `aes-256-gcm`, which is what upstream configures by default now; the CBC
148
+ * construction lives on there as the `legacy` driver. See the note at the top
149
+ * of this file for what that means for a cookie written by an older app.
149
150
  */
150
151
  get algorithm() {
151
152
  return 'aes-256-gcm';
@@ -1 +1 @@
1
- {"version":3,"file":"CookieSigner.js","sourceRoot":"","sources":["../../src/security/CookieSigner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CookieSigner.js","sourceRoot":"","sources":["../../src/security/CookieSigner.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,95 @@
1
1
  /**
2
2
  * Static file serving middleware.
3
3
  *
4
- * Serves files from a directory with cache headers and ETag support.
4
+ * The shape is `@adonisjs/static`'s, whose own work is done by `serve-static`:
5
+ * the same option names, the same defaults, the same response headers. Ream
6
+ * cannot delegate to `serve-static` itself —
7
+ *
8
+ * NAMED DEVIATION (NAPI): `serve-static` writes to a Node `ServerResponse`, and
9
+ * Ream's response crosses the NAPI boundary as a complete object; there is no
10
+ * such object to hand it. So the BEHAVIOUR is reproduced here rather than the
11
+ * code, and every deviation from it below is deliberate and marked.
12
+ *
13
+ * One deviation is a deliberate improvement, kept per the rule that we do not
14
+ * give up safety for parity: the file is opened with `O_NOFOLLOW` and its
15
+ * metadata read from the descriptor, so the bytes served are the ones that
16
+ * passed the containment checks. `serve-static` re-reads by path.
5
17
  *
6
18
  * Usage:
7
- * server.use(new StaticMiddleware({ root: 'public' }))
19
+ * server.use(new StaticMiddleware({ root: app.publicPath() }))
8
20
  *
9
21
  * @implements MISS-25
10
22
  */
23
+ import * as fs from 'node:fs';
11
24
  import type { HttpContext } from '../http/HttpContext.js';
25
+ /** How a request for a dotfile is answered (`send`'s `dotfiles`). */
26
+ export type DotFilesPolicy = 'allow' | 'deny' | 'ignore';
12
27
  export interface StaticConfig {
13
28
  /** Root directory to serve files from. */
14
29
  root: string;
15
- /** URL prefix (default: /static). */
16
- prefix?: string;
17
- /** Max-age for Cache-Control header in seconds (default: 86400 = 1 day). */
30
+ /** Serve at all. `false` makes every request fall through. Default `true`. */
31
+ enabled?: boolean;
32
+ /**
33
+ * Answer `Range` requests with `206`, and advertise `Accept-Ranges: bytes`.
34
+ * Default `true` — without it a browser cannot seek in audio or video, and
35
+ * an interrupted download restarts from zero.
36
+ */
37
+ acceptRanges?: boolean;
38
+ /**
39
+ * Emit `Cache-Control`. Default `true`. When `false`, `maxAge` and
40
+ * `immutable` are ignored, as upstream documents.
41
+ */
42
+ cacheControl?: boolean;
43
+ /**
44
+ * Dotfiles: `'ignore'` (fall through, the default), `'deny'` (403), or
45
+ * `'allow'` (serve). The default is why `.env` in the served root is not
46
+ * an accident waiting to happen.
47
+ */
48
+ dotFiles?: DotFilesPolicy;
49
+ /** Emit `ETag` and honour `If-None-Match`. Default `true`. */
50
+ etag?: boolean;
51
+ /**
52
+ * FALLBACK extensions, NOT an allowlist: when the requested path has no
53
+ * file, try appending each of these. `['html']` makes `/about` serve
54
+ * `about.html`. Default: none.
55
+ *
56
+ * The name and meaning are upstream's. An earlier version of this file used
57
+ * the same option as an allowlist — the opposite meaning — which silently
58
+ * restricted the server for anyone porting an AdonisJS config across, and
59
+ * refused formats the framework itself produces (`.avif`, from prism).
60
+ */
61
+ extensions?: string[] | false;
62
+ /** Add `immutable` to `Cache-Control`. Needs `maxAge`. Default `false`. */
63
+ immutable?: boolean;
64
+ /** Index file for a directory request. Default `'index.html'`; `false` disables. */
65
+ index?: string | string[] | false;
66
+ /** Emit `Last-Modified` and honour `If-Modified-Since`. Default `true`. */
67
+ lastModified?: boolean;
68
+ /** `Cache-Control: max-age`, in MILLISECONDS as upstream. Default `0`. */
18
69
  maxAge?: number;
19
- /** File extensions to serve (default: common web assets). */
20
- extensions?: string[];
70
+ /** Extra headers, per file. Runs last, so it can override the above. */
71
+ headers?: (filePath: string, stat: fs.Stats) => Record<string, string>;
72
+ /**
73
+ * Serve only under this URL prefix.
74
+ *
75
+ * NAMED DEVIATION: AdonisJS has no such option — its middleware is mounted at
76
+ * the URL root and falls through. Ream keeps it because the router is the
77
+ * same object the application writes to, and narrowing is occasionally what
78
+ * an application wants. The default is upstream's behaviour: no prefix.
79
+ */
80
+ prefix?: string;
21
81
  }
22
82
  export declare class StaticMiddleware {
23
83
  #private;
24
84
  constructor(config: StaticConfig);
25
85
  handle(ctx: HttpContext, next: () => Promise<void>): Promise<void>;
26
86
  }
87
+ /**
88
+ * Static config with the defaults filled in — `@adonisjs/static`'s
89
+ * `defineConfig`, value for value.
90
+ *
91
+ * // config/static.ts
92
+ * export default defineStaticConfig({ maxAge: 86_400_000 })
93
+ */
94
+ export declare function defineStaticConfig(config?: Partial<StaticConfig>): Partial<StaticConfig>;
27
95
  //# sourceMappingURL=StaticMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticMiddleware.d.ts","sourceRoot":"","sources":["../../src/storage/StaticMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGzD,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AA4BD,qBAAa,gBAAgB;;gBAMf,MAAM,EAAE,YAAY;IAO1B,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA+HzE"}
1
+ {"version":3,"file":"StaticMiddleware.d.ts","sourceRoot":"","sources":["../../src/storage/StaticMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAK7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGzD,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAExD,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IAEZ,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAA;IAEzB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAE7B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK,CAAA;IAEjC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEtE;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAQD,qBAAa,gBAAgB;;gBAef,MAAM,EAAE,YAAY;IAqB1B,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA0RzE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAE5F"}