@lenne.tech/nest-server 11.41.5 → 11.41.7

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 (34) hide show
  1. package/.claude/rules/configurable-features.md +1 -1
  2. package/.claude/rules/package-management.md +8 -0
  3. package/.claude/rules/testing.md +28 -9
  4. package/CLAUDE.md +1 -1
  5. package/FRAMEWORK-API.md +1 -1
  6. package/dist/core/common/helpers/file.helper.js.map +1 -1
  7. package/dist/core/common/services/core-s3.service.d.ts +8 -0
  8. package/dist/core/common/services/core-s3.service.js +44 -3
  9. package/dist/core/common/services/core-s3.service.js.map +1 -1
  10. package/dist/core/modules/ai/core-ai-mcp.controller.d.ts +1 -0
  11. package/dist/core/modules/ai/core-ai-mcp.controller.js +10 -0
  12. package/dist/core/modules/ai/core-ai-mcp.controller.js.map +1 -1
  13. package/dist/core/modules/file/core-file.service.js +3 -2
  14. package/dist/core/modules/file/core-file.service.js.map +1 -1
  15. package/dist/core/modules/file/interfaces/file-upload.interface.d.ts +1 -0
  16. package/dist/core/modules/file/s3-file.helper.d.ts +1 -0
  17. package/dist/core/modules/file/s3-file.helper.js +10 -4
  18. package/dist/core/modules/file/s3-file.helper.js.map +1 -1
  19. package/dist/tsconfig.build.tsbuildinfo +1 -1
  20. package/docs/REQUEST-LIFECYCLE.md +1 -1
  21. package/docs/security-overrides.md +1 -1
  22. package/migration-guides/11.41.5-to-11.41.6.md +105 -0
  23. package/migration-guides/11.41.6-to-11.41.7.md +192 -0
  24. package/package.json +19 -15
  25. package/src/core/common/helpers/file.helper.ts +4 -0
  26. package/src/core/common/helpers/gridfs.helper.ts +1 -1
  27. package/src/core/common/services/core-s3.service.ts +125 -7
  28. package/src/core/modules/ai/README.md +8 -0
  29. package/src/core/modules/ai/core-ai-mcp.controller.ts +33 -0
  30. package/src/core/modules/file/INTEGRATION-CHECKLIST.md +39 -11
  31. package/src/core/modules/file/README.md +30 -5
  32. package/src/core/modules/file/core-file.service.ts +15 -6
  33. package/src/core/modules/file/interfaces/file-upload.interface.ts +18 -0
  34. package/src/core/modules/file/s3-file.helper.ts +28 -9
@@ -330,7 +330,7 @@ This pattern is currently applied to:
330
330
  | Central Redis | `redis` | Boolean Shorthand + Presence Implies Enabled | `host: 'localhost'`, `port: 6379`, `db: 0`, `keyPrefix: <package.json name, slugified>` (per APPLICATION, not per framework — a constant default silently collides when two apps share one Redis; set it explicitly when sharing IS intended); `url` (takes precedence over host/port/db/credentials), `username`/`password`, `options` (passed to the ioredis constructor). `true` / `{}` enables with defaults; `{ enabled: false }` pre-configures without enabling; **absent = every consumer keeps its process-local fallback** (that fallback is the whole backward-compatibility story of 11.33.0). Requires the OPTIONAL peer `ioredis` — configured-but-missing **fails the boot** with a named error rather than crashing on first use. `keyPrefix` is applied by the framework per key, NOT as ioredis `keyPrefix` (that would collide with BullMQ's own prefix). One `CoreRedisService` serves all features: shared client (`getClient()`), one cached subscriber (`getSubscriber()` — a subscribing client cannot run commands), dedicated connections (`createClient(label)`); all are tracked and quit on shutdown. Switches on automatically: exact cross-replica rate limits via `RedisRateLimitStore` (see the Legacy Auth / BetterAuth / AI rate-limit rows), cron dedup (see Cron Job Deduplication row), `CoreRedisPubSub` as `PUB_SUB` for cluster-wide GraphQL subscriptions (**payloads must be JSON-serializable — `Date`, class instances, `Map`/`Set`, `undefined` do not survive**), tenant-cache invalidation broadcast, Hub collector mirroring, MCP session registry (turns a wrong-replica request from a misleading `404` into a `409` — `/ai/mcp` still REQUIRES sticky sessions, sessions are not portable) |
331
331
  | File Access Roles | `file.downloadRoles`, `file.uploadRoles`, `file.deleteRoles` | Config-Driven Role List | `[RoleEnum.ADMIN]` each. **These are the only breaking change a single-replica project gets in 11.33.0** — six members moved from `@Roles(S_EVERYONE)` to these knobs: `GET /files/id/:id`, `GET /files/:filename` and `getFileInfo` (`downloadRoles`), `uploadFile` / `uploadFiles` (`uploadRoles`), `deleteFile` (`deleteRoles`). Plain role STRINGS, not `RoleEnum` members, so project roles work (`['company-admin', 'editor']`). Applied at boot by `applyFileRoles()` via `Reflect.defineMetadata('roles', …)` on the base-class methods — the same runtime mechanism `CorePermissionsModule` uses, because the value is only known from config. **`[]`, a non-array, or an array holding a non-string is REJECTED with a warning and the default applies** — an all-empty role set reads to the guards as "no roles required" and would OPEN the route, the exact opposite of the intent. **ADMIN is always unioned in**: both `CoreFileController` and `CoreFileResolver` carry a class-level `@Roles(RoleEnum.ADMIN)` and the guards UNION class + handler metadata, so these knobs can grant but never exclude admins. Both classes also carry `@SkipTenantCheck()` — GridFS and the S3 metadata collection are reached outside Mongoose, so `mongooseTenantPlugin` never scopes them and a role name alone cannot express a per-tenant rule; roles resolve against `user.roles`, never `membership.role`. **A subclass that OVERRIDES a member opts out permanently** (decorator metadata lives on the function object, and an override is a different function) — inherit the member instead. **Since 11.35.1 that opt-out is REPORTED**: `CoreFileAccessAuditInitializer` reads the roles off the class the project actually registered at `onApplicationBootstrap` (the earliest point at which the route table exists, which is why it is a provider and not part of `applyFileRoles()`) and warns when a member is open beyond ADMIN for a reason the configuration cannot explain — the case the construction-time warning below is structurally blind to. It only REPORTS: overwriting an override's metadata, the way `TusModule.applyRoles()` does, would silently relax a route a project pinned on purpose. Roles are the coarse filter only; per-file rules belong in `CoreFileService.checkRights()`, which now receives `currentUser` and can read raw metadata via `getRawFileInfo()`. **Since 11.35.0 a reused FILENAME resolves to the most recent file** in all three stores (`uploadDate` desc, `_id` tie-break) and every by-name read path resolves a document and then reads by ID — under GridFS the by-name metadata lookup answered the oldest document while `openDownloadStreamByName()` served the newest, so a per-file rule approved one file and the bytes of another came back. Consequence: `duplicateById()` keeps the source's filename and the copy carries no metadata, so the copy now wins the name and an `ownerId` rule refuses it — give the copy its own metadata or its own name. **Since 11.35.0 `CoreFileService` WARNS at construction** when `multiTenancy` is active AND a knob names a role other than ADMIN AND `checkRights()` is not overridden — the file stores are reached outside Mongoose, so these role names resolve against `user.roles` (global) and every holder reaches every tenant's files; only `checkRights()` can narrow that. Silent on the admin-only default and silent when a per-file rule exists. Implementation: `src/core/modules/file/file-roles.config.ts` (`FILE_ROLE_DEFAULTS`, `FILE_ROLE_MEMBERS`, the three warnings, the shared `hasDeclaredFilePolicy()` silencer) + `file-roles.helper.ts` (`applyFileRoles`) + `core-file-access-audit.initializer.ts` (the registered-class audit) |
332
332
  | TUS Roles | `tus.roles` | Config-Driven Role List | `[RoleEnum.S_USER]` (was `S_EVERYONE` — breaking). A TUS upload writes into the SAME store the download routes guard, and the termination extension (on by default) can delete from it, so anonymous writes into a store only privileged callers may read is the wrong way round. Applied by `TusModule.applyRoles()` onto the registered controller class **and** onto `handleTus` / `handleTusWithId`. Same rejection rule as the file roles: `[]` / non-array / non-string → warning + `DEFAULT_TUS_CONFIG.roles`. **`OPTIONS` is deliberately exempt**: `handleTusOptions` / `handleTusOptionsWithId` keep their own handler-level `@Roles(RoleEnum.S_EVERYONE)`, because that is the CORS preflight — browsers send it WITHOUT credentials, and it returns server capabilities only. Gating it would make every browser upload fail before the first byte. `CoreTusController` also carries `@SkipTenantCheck()`. A custom controller is covered as long as it INHERITS the handlers; one that re-declares `@All()` / `@Roles()` carries its own metadata and thereby opts out — the documented way to hard-code a policy config must not be able to change. **Set `roles: [RoleEnum.S_EVERYONE]` explicitly if you accept attachments on a public form.** **Since 11.35.0 `tus.roles` is no longer the only gate**: `onUploadCreate` records the authenticated creator under `TUS_OWNER_METADATA_KEY` (`ltOwnerId`, always OVERWRITING any client-supplied value) and `onIncomingRequest` refuses HEAD/PATCH/DELETE naming an upload the caller does not own — with **404**, the file module's refusal policy. Before that, any authenticated caller who learned an upload id could APPEND BYTES to somebody else's upload, which are then migrated into the file store under the victim's filename. The finished file also gains `metadata.ownerId`, without which the documented per-file ownership rule could never authorize a tus-uploaded file (admin-only in practice). An OWNER-LESS upload stays reachable — uploads predating 11.35.0 have none, and neither does a deliberately public form. `readRequestUserId()` / `assertUploadOwnership()` are `protected`. Note that `@tus/server` v2 hands its hooks a WHATWG `ServerRequest`, so a guard's `req.user` is reachable only via `runtime.node.req`. Implementation: `src/core/modules/tus/tus.module.ts`, `src/core/modules/tus/core-tus.service.ts`, `src/core/modules/tus/tus.constants.ts` |
333
- | File Storage | `file.storage` + `file.storageDir` + `s3` | Explicit Enum with DERIVED default | `'filesystem' \| 'gridfs' \| 's3'`. **Unset → derived**, most capable first: `'s3'` when `s3.bucket` is set, else `'gridfs'` when `mongoose.uri` is set, else `'filesystem'`. **Set → enforced**: an unavailable store FAILS THE BOOT (`assertFileStorageAvailable()`), it never falls back — a silent fallback puts files in a store the operator does not believe they are in, unrecoverably. A DERIVED driver is enforced too (`s3.bucket` set but `s3Service` not forwarded to `super()` → boot error). Metadata always lives in MongoDB whichever driver holds the bytes (`fs.files` / `s3-files` / `filesystem-files`) — it has to stay queryable for `findFileInfo()` and `checkRights()`. Reads consult ALL stores so switching drivers is forward-only with no migration; writes go to the active driver only. `'filesystem'` is pod-local: not shared between replicas, lost on restart unless `storageDir` is a mounted volume. `s3`: `bucket` (required — the one thing S3 cannot default, hence the eligibility test), `region: 'us-east-1'`, `forcePathStyle: false`, `autoCreateBucket: false` (off by design: production buckets come from infrastructure code, whose credentials usually cannot CreateBucket), `stagingBucket: bucket`, `presignedDownloads: false` (`true`/`{}` → `expiresInSeconds: 300`), `endpoint` (MinIO/RustFS), `accessKeyId`/`secretAccessKey` (omit → AWS default credential chain), `enabled: false` to pre-configure. Requires the OPTIONAL peer `@aws-sdk/client-s3`, plus `@aws-sdk/s3-request-presigner` for presigned downloads. `presignedDownloads` makes `GET /files/id/:id` answer `302` to a time-limited S3 URL instead of streaming — the URL is a bearer capability, authorized once at issue time. The resolved driver is logged at boot (`[CoreFileStorage] File storage: …`) |
333
+ | File Storage | `file.storage` + `file.storageDir` + `s3` | Explicit Enum with DERIVED default | `'filesystem' \| 'gridfs' \| 's3'`. **Unset → derived**, most capable first: `'s3'` when `s3.bucket` is set, else `'gridfs'` when `mongoose.uri` is set, else `'filesystem'`. **Set → enforced**: an unavailable store FAILS THE BOOT (`assertFileStorageAvailable()`), it never falls back — a silent fallback puts files in a store the operator does not believe they are in, unrecoverably. A DERIVED driver is enforced too (`s3.bucket` set but `s3Service` not forwarded to `super()` → boot error). Metadata always lives in MongoDB whichever driver holds the bytes (`fs.files` / `s3-files` / `filesystem-files`) — it has to stay queryable for `findFileInfo()` and `checkRights()`. Reads consult ALL stores so switching drivers is forward-only with no migration; writes go to the active driver only. `'filesystem'` is pod-local: not shared between replicas, lost on restart unless `storageDir` is a mounted volume. `s3`: `bucket` (required — the one thing S3 cannot default, hence the eligibility test), `region: 'us-east-1'`, `forcePathStyle: false`, `autoCreateBucket: false` (off by design: production buckets come from infrastructure code, whose credentials usually cannot CreateBucket), `stagingBucket: bucket`, `presignedDownloads: false` (`true`/`{}` → `expiresInSeconds: 300`), `endpoint` (MinIO/RustFS), `accessKeyId`/`secretAccessKey` (omit → AWS default credential chain), `enabled: false` to pre-configure. Requires the OPTIONAL peer `@aws-sdk/client-s3`, plus `@aws-sdk/s3-request-presigner` for presigned downloads. **Uploads are never buffered on the S3 path** (11.41.7): a known length (`FileUploadSource.size`, TUS, a buffer) goes up as one streamed PutObject up to `CoreS3Service.MAX_SINGLE_PUT_BYTES` (5 GiB — AWS S3 refuses more in one request, `EntityTooLarge`) and as a multipart upload above it, an unknown one — every GraphQL and streamed REST upload — as a multipart upload via the OPTIONAL peer `@aws-sdk/lib-storage`. Missing peer → one boot warning and the old in-memory buffering, NOT a boot failure (multipart optimises a path that works without it). `size` must be the file's EXACT length — never a multipart request's `Content-Length`; anything but a positive integer counts as unknown (`isKnownUploadSize()`), and the recorded length of an unknown-length upload comes from a HEAD of the stored object. `presignedDownloads` makes `GET /files/id/:id` answer `302` to a time-limited S3 URL instead of streaming — the URL is a bearer capability, authorized once at issue time. The resolved driver is logged at boot (`[CoreFileStorage] File storage: …`) |
334
334
  | TUS S3 Staging | `tus.s3Staging` | Explicit Boolean (default ON when S3 configured) | `true` when `s3` is configured, otherwise inert. Stages in-progress uploads in `s3.stagingBucket` via `@tus/s3-store` instead of `tus.uploadDir` on local disk, so resumable uploads survive replica restarts and need no sticky sessions. Set `false` to force local disk. Missing OPTIONAL peer `@tus/s3-store` → warning + fall back to local disk (NOT a boot failure). **Give the staging bucket a lifecycle rule expiring incomplete multipart uploads** — the framework's own expiration cleanup is skipped in S3 mode (S3 is the right place for that policy), so aborted uploads otherwise accumulate parts nothing removes |
335
335
  | Cron Job Deduplication | per job: `distributed` in `CronJobConfig` | Explicit Boolean | **`true` when `redis` is configured, otherwise `false`** — a single-replica project that upgrades must not silently gain a `cron-locks` collection, a lease write per tick, and a new way for a tick to be skipped. A Redis-less multi-replica fleet opts in per job with `distributed: true` (MongoDB lease). Mechanism: BullMQ job scheduler when Redis + the OPTIONAL peer `bullmq` are present AND `cronTime` is a string without `utcOffset`; otherwise local timer + lease (Redis `SET NX`, else a TTL-indexed `cron-locks` document). Tick lease TTL 3600 s. **Leases fail open** — an unreachable lease store runs the tick everywhere rather than stopping all scheduled work fleet-wide. **`runOnInit` (default `true`) deduplicates over a FIXED per-job key with a 300 s TTL**, because replicas do not share a boot instant: replicas booting within 5 min run the startup tick once between them, and a replica restarting inside that window SKIPS its startup tick — set `distributed: false` on jobs whose `runOnInit` work is per-process (warming a process-local cache). No constructor change needed: `CoreModule` fills `core-cron-jobs.registry.ts` via `CoreCronJobsInitializer` and `CoreCronJobs` reads it lazily; explicit `{ connection, redisService }` in `CoreCronJobsOptions` wins. With neither source it warns once and every replica runs every tick |
336
336
  | Shutdown Delay | `shutdownDelayMs` | Numeric Sentinel — Family B (`0` = off) | `0` (default, no delay, no log). Waits N ms **in the SIGTERM/SIGINT handler, before `close()` is entered**, so a load balancer can finish deregistering while the instance is still fully healthy. NOT a lifecycle hook: `close()` runs `onModuleDestroy` → `beforeApplicationShutdown` → dispose → `onApplicationShutdown`, so a delay in `beforeApplicationShutdown` would wait with every module already torn down while the socket still accepts — worse than no delay. **Requires `installGracefulShutdown(app)` in main.ts, which REPLACES `server.enableShutdownHooks()`** — keeping both makes Nest close the app in parallel with the wait, so the delay silently never happens. At delay `0` the helper IS `enableShutdownHooks()`. **Keep the value well below the orchestrator grace period AND leave room for the drain that follows**: Compose `stop_grace_period` 10s, Kubernetes `terminationGracePeriodSeconds` 30s, and `installProcessDiagnostics()` force-exits after 30s — exceed any and the process is SIGKILLed mid-wait with no hook running. Warns above `10000`, capped at `60000`. Non-numeric / negative values behave like `0` |
@@ -329,6 +329,14 @@ has a patched version for **any** affected range. That makes `ignoreGhsas` nearl
329
329
  advisory that is fixed *somewhere* but unfixable on *your* path — which is the honest outcome, since
330
330
  that case is an override problem, not a suppression problem.
331
331
 
332
+ **Current entries (since 2026-10-03):** `GHSA-ch52-4w7c-c8xp` (http-cache-semantics, via the
333
+ `@swc/cli` binary downloader) and `GHSA-vfj7-8cjw-p6xm` (braces, via nodemon / npm-watch). Both are
334
+ dev-tooling-only paths of advisories with no patched release at all; the justification sits next to
335
+ each entry in `pnpm-workspace.yaml`. **Do not copy them into nest-server-starter without thinking
336
+ it through:** since lt CLI 1.42.0 the starter's `auditConfig` is hoisted as a union into every
337
+ generated project, so an entry there hides the advisory in every customer workspace — including
338
+ production paths this repository does not have.
339
+
332
340
  ### Safe Override Workflow
333
341
 
334
342
  When adding an override to fix a vulnerability:
@@ -266,7 +266,7 @@ pnpm run check:mutations -- --id=<id> # one mutation
266
266
  pnpm run check:mutations -- --list # the registry, without running anything
267
267
  pnpm run check:mutations -- --allow-dirty # when the fix and its evidence share a working tree
268
268
  pnpm run check:mutations -- --jobs=4 # N mutations at a time (default: 2, or 4 on >=12 cores)
269
- pnpm run check:mutations -- --no-infra # only the 79 that need no MongoDB
269
+ pnpm run check:mutations -- --no-infra # only the 81 that need no MongoDB
270
270
  pnpm run check:mutations -- --since=<ref> # only mutations touching files changed since <ref>
271
271
  ```
272
272
 
@@ -282,13 +282,16 @@ will happily skip — the precise failure this tool exists to catch. It falls ba
282
282
  when the registry, a vitest config or a setup file changed, since those can move any verdict.
283
283
 
284
284
  **Why the gate does not cache per-mutation verdicts instead.** It runs ONCE PER RELEASE, not per
285
- commit, so selective re-running would save ~10 minutes a release. The price is a cache that has to
286
- model each spec's full dependency closure correctly, and getting that wrong produces a stale PASS
287
- for a test that has since gone vacuous — exactly what the gate is there to prevent. Bad trade
288
- at 128 mutations — past the threshold this paragraph has carried since the gate was written,
289
- now reached exactly. The full run is approaching half an hour. **The re-evaluation is due now**: the
290
- next person to add a mutation should decide whether selective re-running has become worth its
291
- failure mode (a stale PASS for a test that has since gone vacuous), not bump this number again.
285
+ commit, and in CI alongside the publish without blocking it. The price of caching is a cache that
286
+ has to model each spec's full dependency closure correctly, and getting that wrong produces a stale
287
+ PASS for a test that has since gone vacuous — exactly what the gate is there to prevent. Bad trade
288
+ at 130 mutations.
289
+
290
+ **Decided 2026-10-03 (repo owner): keep the full run.** Measured at 128 mutations, the CI job for
291
+ 11.41.6 took **14 minutes**. The trigger to revisit is that wall time, not the mutation count —
292
+ the count was never the cost: re-evaluate once the "Regression evidence" job in `publish.yml`
293
+ exceeds **30 minutes** (`gh run view <id> --json jobs` shows start and end). Below that line,
294
+ adding a mutation needs no decision.
292
295
 
293
296
  Not part of `pnpm run check` — it edits source and re-runs whole e2e suites. It belongs in review
294
297
  and on the publish path. It is also reachable on demand, without cutting a release:
@@ -329,7 +332,7 @@ exactly the environment where the answer matters.
329
332
 
330
333
  Worth knowing before optimising the wrong thing: the specs behind all 49 e2e mutations add up to
331
334
  **~40 seconds**. The step takes ~740s. The remaining ~700s is paying vitest's startup — process
332
- spawn, transform, module graph, mongod connect, DB create and drop — once per mutation, 128 times.
335
+ spawn, transform, module graph, mongod connect, DB create and drop — once per mutation, 130 times.
333
336
  That work is largely single-threaded I/O and barely scales with cores: the full registry measures
334
337
  **744s on a 12-core laptop and 777s on a 4-vCPU CI runner**.
335
338
 
@@ -680,6 +683,22 @@ copy: its models' `securityCheck()` **records its own invocation** (`checkedFor`
680
683
  narrowing fields, so "the response looks redacted" — which a `@Restricted` rule, `prepareOutput` or
681
684
  a typo in the fixture would produce too — becomes "the hook ran, with this user, on this object".
682
685
 
686
+ ## Mail: one real SMTP round trip
687
+
688
+ Every other mail test runs on `jsonTransport`, so the mail library could change its wire behaviour and
689
+ every suite would stay green. That stopped being acceptable when 11.41.5 moved nodemailer across a
690
+ major (9 → 10, a TypeScript rewrite) with no test that had ever sent a message through a real
691
+ handshake. `tests/unit/email-smtp-roundtrip.spec.ts` closes that: an in-process `smtp-server`
692
+ (devDependency, no Docker, hence the unit runner) on 127.0.0.1 with STARTTLS and AUTH-over-TLS-only,
693
+ and `EmailService.sendMail()` against it — delivered, upgraded, authenticated, attachment intact,
694
+ paired with refusals (wrong password; `requireTLS` against a server that cannot do STARTTLS).
695
+
696
+ One trap worth knowing before you extend it: `smtp-server`'s `hideSTARTTLS` only removes the
697
+ capability from the EHLO reply — the command still works, and nodemailer with `requireTLS` issues it
698
+ anyway and upgrades. So `hideSTARTTLS` simulates a STRIPPED capability line (and the spec asserts the
699
+ upgrade there), while a server that genuinely cannot encrypt needs `disabledCommands: ['STARTTLS']`.
700
+ A refusal test written against `hideSTARTTLS` fails for the right reason: the mail went out encrypted.
701
+
683
702
  ## Structural invariants over `src/`
684
703
 
685
704
  Some properties cannot be observed by running the code, only by reading it — and a runtime guard
package/CLAUDE.md CHANGED
@@ -167,7 +167,7 @@ pnpm run reinit # Clean reinstall + tests + build
167
167
  - **ApiToken** - Opt-in (`apiTokens`) USER and TENANT tokens + signed assertions. Denied on every route without `@ApiTokenScopes()`; all three guards share `enforceApiTokenRoute()`. See `src/core/modules/api-token/README.md`.
168
168
  - **Hub** - Build-free ADMIN-gated operator cockpit at `/hub` (config-gated per environment; 16 panels, runtime collectors, mailbox, admin actions). See `src/core/modules/hub/README.md`.
169
169
  - **Permissions** - ADMIN-gated security-map report (routes + roles + `@Restricted` fields); also surfaced in the Hub's "Routes / Permissions" panel.
170
- - **Optional central infrastructure** (11.33.0+) - `CoreRedisService` (`redis` config) and `CoreS3Service` (`s3` config) turn process-local state into shared state for multi-replica deployments: rate-limit counters, cron deduplication, GraphQL subscriptions, tenant-cache invalidation, Hub collectors, file storage (`file.storage: 's3'`; the driver is otherwise derived — S3 → GridFS → filesystem — and an unavailable one fails the boot rather than falling back) and TUS staging. Both are inert without their config, and their client libraries are **optional peer dependencies** (`ioredis`, `bullmq`, `@aws-sdk/client-s3`, `@aws-sdk/s3-request-presigner`, `@tus/s3-store`) — a project that uses neither installs nothing extra. When adding a distributed feature, always keep the non-configured fallback path.
170
+ - **Optional central infrastructure** (11.33.0+) - `CoreRedisService` (`redis` config) and `CoreS3Service` (`s3` config) turn process-local state into shared state for multi-replica deployments: rate-limit counters, cron deduplication, GraphQL subscriptions, tenant-cache invalidation, Hub collectors, file storage (`file.storage: 's3'`; the driver is otherwise derived — S3 → GridFS → filesystem — and an unavailable one fails the boot rather than falling back) and TUS staging. Both are inert without their config, and their client libraries are **optional peer dependencies** (`ioredis`, `bullmq`, `@aws-sdk/client-s3`, `@aws-sdk/lib-storage`, `@aws-sdk/s3-request-presigner`, `@tus/s3-store`) — a project that uses neither installs nothing extra. When adding a distributed feature, always keep the non-configured fallback path.
171
171
 
172
172
  See `.claude/rules/architecture.md` for detailed documentation.
173
173
  See [`docs/REQUEST-LIFECYCLE.md`](docs/REQUEST-LIFECYCLE.md) for the complete request lifecycle, security architecture, and interceptor/decorator reference.
package/FRAMEWORK-API.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @lenne.tech/nest-server — Framework API Reference
2
2
 
3
- > Auto-generated from source code as of 2026-10-01 (v11.41.5)
3
+ > Auto-generated from source code as of 2026-10-03 (v11.41.7)
4
4
  > File: `FRAMEWORK-API.md` — compact, machine-readable API surface for Claude Code
5
5
 
6
6
  ## CoreModule.forRoot()
@@ -1 +1 @@
1
- {"version":3,"file":"file.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/file.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/file.helper.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare class CoreS3Service implements OnApplicationShutdown, OnModuleIni
19
19
  protected client?: S3Client;
20
20
  protected sdk?: typeof import('@aws-sdk/client-s3');
21
21
  protected presigner?: typeof import('@aws-sdk/s3-request-presigner');
22
+ protected multipartUploader?: null | typeof import('@aws-sdk/lib-storage');
22
23
  constructor(configService: ConfigService);
23
24
  protected clampPresignedExpiry(seconds: number): number;
24
25
  get enabled(): boolean;
@@ -28,12 +29,15 @@ export declare class CoreS3Service implements OnApplicationShutdown, OnModuleIni
28
29
  protected bucketExists(bucket: string): Promise<boolean>;
29
30
  getClient(): S3Client;
30
31
  putObject(key: string, body: Buffer | Readable | string, contentType?: string, contentLength?: number): Promise<void>;
32
+ protected loadMultipartUploader(): Promise<typeof import('@aws-sdk/lib-storage') | undefined>;
33
+ protected putObjectMultipart(uploader: typeof import('@aws-sdk/lib-storage'), key: string, body: Readable, contentType?: string, contentLength?: number): Promise<void>;
31
34
  protected guardBodyStream(stream: Readable): {
32
35
  body: Readable;
33
36
  sourceError: () => Error | undefined;
34
37
  };
35
38
  copyObject(sourceKey: string, destinationKey: string, sourceBucket?: string, contentType?: string): Promise<void>;
36
39
  static readonly MAX_COPY_OBJECT_BYTES: number;
40
+ static readonly MAX_SINGLE_PUT_BYTES: number;
37
41
  protected copySource(bucket: string, key: string): string;
38
42
  protected isStream(body: unknown): body is Readable;
39
43
  protected collect(stream: Readable): Promise<Buffer>;
@@ -44,6 +48,10 @@ export declare class CoreS3Service implements OnApplicationShutdown, OnModuleIni
44
48
  }>;
45
49
  deleteObject(key: string, bucket?: string): Promise<void>;
46
50
  objectExists(key: string): Promise<boolean>;
51
+ statObject(key: string): Promise<null | {
52
+ contentLength?: number;
53
+ contentType?: string;
54
+ }>;
47
55
  getPresignedDownloadUrl(key: string, filename?: string): Promise<string | undefined>;
48
56
  ensureBucket(bucket: string): Promise<void>;
49
57
  onApplicationShutdown(): Promise<void>;
@@ -25,6 +25,7 @@ let CoreS3Service = class CoreS3Service {
25
25
  client;
26
26
  sdk;
27
27
  presigner;
28
+ multipartUploader;
28
29
  constructor(configService) {
29
30
  this.configService = configService;
30
31
  const raw = this.configService.getFastButReadOnly('s3');
@@ -96,6 +97,7 @@ let CoreS3Service = class CoreS3Service {
96
97
  region,
97
98
  ...(accessKeyId && secretAccessKey ? { credentials: { accessKeyId, secretAccessKey } } : {}),
98
99
  });
100
+ await this.loadMultipartUploader();
99
101
  await this.verifyBuckets();
100
102
  }
101
103
  async verifyBuckets() {
@@ -145,6 +147,13 @@ let CoreS3Service = class CoreS3Service {
145
147
  const { client, config, sdk } = this.requireInit();
146
148
  let payload = body;
147
149
  let length = contentLength;
150
+ if (this.isStream(body) && (length === undefined || length > CoreS3Service_1.MAX_SINGLE_PUT_BYTES)) {
151
+ const uploader = await this.loadMultipartUploader();
152
+ if (uploader) {
153
+ await this.putObjectMultipart(uploader, key, body, contentType, length);
154
+ return;
155
+ }
156
+ }
148
157
  if (this.isStream(body) && length === undefined) {
149
158
  payload = await this.collect(body);
150
159
  length = payload.length;
@@ -176,6 +185,34 @@ let CoreS3Service = class CoreS3Service {
176
185
  }
177
186
  await send();
178
187
  }
188
+ async loadMultipartUploader() {
189
+ if (this.multipartUploader !== undefined) {
190
+ return this.multipartUploader ?? undefined;
191
+ }
192
+ try {
193
+ this.multipartUploader = await Promise.resolve().then(() => require('@aws-sdk/lib-storage'));
194
+ }
195
+ catch {
196
+ this.multipartUploader = null;
197
+ this.logger.warn('Streaming an S3 upload of unknown length falls back to buffering it in memory because the ' +
198
+ 'optional peer dependency "@aws-sdk/lib-storage" is not installed. Run: pnpm add @aws-sdk/lib-storage');
199
+ }
200
+ return this.multipartUploader ?? undefined;
201
+ }
202
+ async putObjectMultipart(uploader, key, body, contentType, contentLength) {
203
+ const { client, config } = this.requireInit();
204
+ const upload = new uploader.Upload({
205
+ client,
206
+ params: {
207
+ Body: body,
208
+ Bucket: config.bucket,
209
+ ...(contentLength === undefined ? {} : { ContentLength: contentLength }),
210
+ ...(contentType ? { ContentType: contentType } : {}),
211
+ Key: key,
212
+ },
213
+ });
214
+ await upload.done();
215
+ }
179
216
  guardBodyStream(stream) {
180
217
  const relay = new stream_1.PassThrough();
181
218
  let sourceError;
@@ -196,6 +233,7 @@ let CoreS3Service = class CoreS3Service {
196
233
  }));
197
234
  }
198
235
  static MAX_COPY_OBJECT_BYTES = 5 * 1024 * 1024 * 1024;
236
+ static MAX_SINGLE_PUT_BYTES = 5 * 1024 * 1024 * 1024;
199
237
  copySource(bucket, key) {
200
238
  const encoded = key
201
239
  .split('/')
@@ -227,14 +265,17 @@ let CoreS3Service = class CoreS3Service {
227
265
  await client.send(new sdk.DeleteObjectCommand({ Bucket: bucket ?? config.bucket, Key: key }));
228
266
  }
229
267
  async objectExists(key) {
268
+ return (await this.statObject(key)) !== null;
269
+ }
270
+ async statObject(key) {
230
271
  const { client, config, sdk } = this.requireInit();
231
272
  try {
232
- await client.send(new sdk.HeadObjectCommand({ Bucket: config.bucket, Key: key }));
233
- return true;
273
+ const result = await client.send(new sdk.HeadObjectCommand({ Bucket: config.bucket, Key: key }));
274
+ return { contentLength: result.ContentLength, contentType: result.ContentType };
234
275
  }
235
276
  catch (error) {
236
277
  if (error?.$metadata?.httpStatusCode === 404 || error?.name === 'NotFound') {
237
- return false;
278
+ return null;
238
279
  }
239
280
  throw error;
240
281
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core-s3.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/core-s3.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-s3.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/core-s3.service.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class CoreAiMcpController implements OnModuleDestroy {
18
18
  handleGet(req: Request, res: Response): Promise<void>;
19
19
  handleDelete(req: Request, res: Response): Promise<void>;
20
20
  protected resolveUser(req: Request): Promise<any | null>;
21
+ protected isInitializeRequest(body: any): boolean;
21
22
  protected oauthEnabled(): boolean;
22
23
  private handleSessionRequest;
23
24
  protected foreignSessionOwner(sessionId: string, userId: string): Promise<string | undefined>;
@@ -59,6 +59,10 @@ let CoreAiMcpController = CoreAiMcpController_1 = class CoreAiMcpController {
59
59
  this.foreignSession(res, owner);
60
60
  return;
61
61
  }
62
+ if (!this.isInitializeRequest(req.body)) {
63
+ res.status(404).json({ error: 'Unknown or expired MCP session' });
64
+ return;
65
+ }
62
66
  }
63
67
  if (!entry) {
64
68
  let StreamableHTTPServerTransport;
@@ -122,6 +126,12 @@ let CoreAiMcpController = CoreAiMcpController_1 = class CoreAiMcpController {
122
126
  }
123
127
  return null;
124
128
  }
129
+ isInitializeRequest(body) {
130
+ if (Array.isArray(body)) {
131
+ return body.some((message) => message?.method === 'initialize');
132
+ }
133
+ return body?.method === 'initialize';
134
+ }
125
135
  oauthEnabled() {
126
136
  const mcp = config_service_1.ConfigService.get('ai.mcp');
127
137
  return typeof mcp === 'object' && mcp?.oauth === true;
@@ -1 +1 @@
1
- {"version":3,"file":"core-ai-mcp.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/ai/core-ai-mcp.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-ai-mcp.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/ai/core-ai-mcp.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4G;AAC5G,6CAAuD;AAEvD,qCAAmC;AAEnC,6EAAgE;AAChE,4DAAwD;AACxD,yEAAqE;AACrE,iFAA4E;AAC5E,oFAA8E;AAC9E,2DAAsD;AACtD,oFAA6E;AAC7E,wEAAkE;AA0C3D,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAsCX;IACA;IACc;IAvCd,MAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;IAYhD,UAAU,GAAG,IAAI,GAAG,EAAiE,CAAC;IAStF,kBAAkB,GAAG,EAAE,CAAC;IAGxB,WAAW,GAAG,GAAG,CAAC;IAGhB,UAAU,GAAG,GAAG,IAAA,kBAAQ,GAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAO5C,iBAAiB,GAAG,IAAI,CAAC;IAE5C,YACmB,UAA4B,EAC5B,YAAmC,EACrB,YAA+B;QAF7C,eAAU,GAAV,UAAU,CAAkB;QAC5B,iBAAY,GAAZ,YAAY,CAAuB;QACrB,iBAAY,GAAZ,YAAY,CAAmB;IAC7D,CAAC;IAGE,AAAN,KAAK,CAAC,UAAU,CAAQ,GAAY,EAAS,GAAa;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QACtE,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAKnE,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,GAAG,SAAS,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAkBD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,6BAAkC,CAAC;YACvC,IAAI,CAAC;gBACH,CAAC,EAAE,6BAA6B,EAAE,GAAG,2CAAa,oDAAoD,EAAC,CAAC,CAAC;YAC3G,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBAQb,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAY,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,GAAG,2CAAa,aAAa,EAAC,CAAC;YACnD,MAAM,SAAS,GAAQ,IAAI,6BAA6B,CAAC,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACrG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAIhC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACvB,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAC;YACF,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;QAChE,CAAC;QAED,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAGxD,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAQ,GAAY,EAAS,GAAa;QACvD,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAQ,GAAY,EAAS,GAAa;QAC1D,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAQS,KAAK,CAAC,WAAW,CAAC,GAAY;QACtC,MAAM,WAAW,GAAI,GAAW,CAAC,IAAI,CAAC;QACtC,IAAI,WAAW,EAAE,EAAE,EAAE,CAAC;YACpB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAGpF,MAAM,YAAY,GAAG,8CAAoB,CAAC,uBAAuB,EAAE,CAAC;QACpE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;oBACb,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QAGD,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAOS,mBAAmB,CAAC,IAAS;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC;IACvC,CAAC;IAKS,YAAY;QACpB,MAAM,GAAG,GAAG,8BAAa,CAAC,GAAG,CAAsB,QAAQ,CAAC,CAAC;QAC7D,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IACxD,CAAC;IAKO,KAAK,CAAC,oBAAoB,CAAC,GAAY,EAAE,GAAa;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QACtE,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,SAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAG,GAAW,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAeS,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,MAAc;QACnE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9E,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,KAAK,CAAC,UAAU,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAwC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACnF,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IASS,iBAAiB,CAAC,GAAkB;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,MAAM,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAGS,eAAe,CAAC,SAAiB,EAAE,MAAc;QACzD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY;aACd,SAAS,EAAE;aACX,GAAG,CACF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EACvD,IAAI,EACJ,IAAI,CAAC,iBAAiB,CACvB;aACA,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;IAGS,cAAc,CAAC,SAAiB;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,YAAY;aACrB,SAAS,EAAE;aACX,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACrB,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpG,CAAC;IAWD,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAES,UAAU,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,YAAa,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAOS,cAAc,CAAC,GAAa,EAAE,KAAa;QACnD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,KAAK,EACH,mDAAmD,KAAK,uBAAuB,IAAI,CAAC,UAAU,IAAI;gBAClG,+FAA+F;gBAC/F,wEAAwE;YAC1E,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAoBO,cAAc,CAAC,GAAa,EAAE,GAAU;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,KAAK,EACH,GAAG,uBAAS,CAAC,mBAAmB,6BAA6B;gBAC7D,6EAA6E;gBAC7E,kFAAkF;gBAClF,8EAA8E;YAChF,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAKO,YAAY,CAAC,GAAY,EAAE,GAAa;QAC9C,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,GAAG;aACA,MAAM,CAAC,GAAG,CAAC;aACX,GAAG,CAAC,EAAE,kBAAkB,EAAE,6BAA6B,OAAO,UAAU,EAAE,CAAC;aAC3E,IAAI,CAAC,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC,CAAC;IACvE,CAAC;IAWO,aAAa,CAAC,OAAe;QACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,OAA6B,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9C,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAKO,aAAa,CAAC,UAAgC;QACpD,IAAI,SAA6B,CAAC;QAClC,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;gBACrC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;gBACxB,SAAS,GAAG,GAAG,CAAC;YAClB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;CACF,CAAA;AAtcY,kDAAmB;AA4CxB;IADL,IAAA,aAAI,GAAE;IACW,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;qDA0F3C;AAGK;IADL,IAAA,YAAG,GAAE;IACW,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;oDAE1C;AAGK;IADL,IAAA,eAAM,GAAE;IACW,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;uDAE7C;8BAhJU,mBAAmB;IAH/B,IAAA,8BAAoB,GAAE;IACtB,IAAA,mBAAU,EAAC,QAAQ,CAAC;IACpB,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IAyCtB,WAAA,IAAA,iBAAQ,GAAE,CAAA;qCAFkB,sCAAgB;QACd,iDAAqB;QACN,qCAAgB;GAxCrD,mBAAmB,CAsc/B"}
@@ -66,7 +66,7 @@ class CoreFileService {
66
66
  if (!(await this.checkRights(file, { ...serviceOptions, checkInputType: 'file' }))) {
67
67
  return null;
68
68
  }
69
- const { createReadStream, filename, mimetype } = await file;
69
+ const { createReadStream, filename, mimetype, size } = await file;
70
70
  const readStream = createReadStream();
71
71
  const metadata = this.accessMetadata(serviceOptions);
72
72
  if (this.filesystemStorage) {
@@ -80,7 +80,8 @@ class CoreFileService {
80
80
  }
81
81
  if (this.storageDriver === 's3') {
82
82
  const s3FileInfo = await s3_file_helper_1.S3FileHelper.writeFile(this.options.s3Service, this.s3Files, {
83
- buffer: await (0, s3_file_helper_1.streamToBuffer)(readStream),
83
+ body: readStream,
84
+ contentLength: size,
84
85
  contentType: mimetype,
85
86
  filename,
86
87
  ...(metadata ? { metadata } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"core-file.service.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-file.service.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface FileUploadSource {
5
5
  encoding?: string;
6
6
  filename: string;
7
7
  mimetype: string;
8
+ size?: number;
8
9
  }
9
10
  export interface FileUpload extends FileUploadSource {
10
11
  capacitor: WriteStream;
@@ -4,6 +4,7 @@ import { CoreS3Service } from '../../common/services/core-s3.service';
4
4
  import { FileCollection, FileMetadataInfo } from './file-metadata.helper';
5
5
  export declare const S3_FILES_COLLECTION = "s3-files";
6
6
  export type S3FileInfo = FileMetadataInfo;
7
+ export declare function isKnownUploadSize(size: unknown): size is number;
7
8
  export declare function streamToBuffer(stream: Readable): Promise<Buffer>;
8
9
  export declare class S3FileHelper {
9
10
  static writeFile(s3Service: CoreS3Service, collection: FileCollection, options: {
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.S3FileHelper = exports.S3_FILES_COLLECTION = void 0;
4
+ exports.isKnownUploadSize = isKnownUploadSize;
4
5
  exports.streamToBuffer = streamToBuffer;
5
6
  const mongoose_1 = require("mongoose");
6
7
  const file_metadata_helper_1 = require("./file-metadata.helper");
7
8
  exports.S3_FILES_COLLECTION = 's3-files';
9
+ function isKnownUploadSize(size) {
10
+ return typeof size === 'number' && Number.isSafeInteger(size) && size > 0;
11
+ }
8
12
  async function streamToBuffer(stream) {
9
13
  const chunks = [];
10
14
  for await (const chunk of stream) {
@@ -20,11 +24,12 @@ class S3FileHelper {
20
24
  if (!body) {
21
25
  throw new Error('S3FileHelper.writeFile needs either a body stream or a buffer');
22
26
  }
23
- await s3Service.putObject(key, body, options.contentType, options.contentLength ?? options.buffer?.length);
27
+ const contentLength = isKnownUploadSize(options.contentLength) ? options.contentLength : options.buffer?.length;
28
+ await s3Service.putObject(key, body, options.contentType, contentLength);
24
29
  return S3FileHelper.recordFile(s3Service, collection, _id, {
25
30
  contentType: options.contentType,
26
31
  filename: options.filename,
27
- length: options.contentLength ?? options.buffer?.length,
32
+ length: contentLength,
28
33
  metadata: options.metadata,
29
34
  });
30
35
  }
@@ -39,7 +44,8 @@ class S3FileHelper {
39
44
  });
40
45
  }
41
46
  static async recordFile(s3Service, collection, _id, options) {
42
- if (!(await s3Service.objectExists(_id.toHexString()))) {
47
+ const stat = await s3Service.statObject(_id.toHexString());
48
+ if (!stat) {
43
49
  throw new Error('File uploaded but not found in S3');
44
50
  }
45
51
  await (0, file_metadata_helper_1.ensureFilenameIndex)(collection);
@@ -47,7 +53,7 @@ class S3FileHelper {
47
53
  _id,
48
54
  contentType: options.contentType,
49
55
  filename: options.filename,
50
- length: options.length,
56
+ length: options.length ?? stat.contentLength,
51
57
  metadata: options.metadata,
52
58
  storage: 's3',
53
59
  uploadDate: new Date(),