@carlonicora/nestjs-neo4jsonapi 1.98.0 → 1.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/bootstrap/app.module.factory.d.ts.map +1 -1
  2. package/dist/bootstrap/app.module.factory.js +2 -0
  3. package/dist/bootstrap/app.module.factory.js.map +1 -1
  4. package/dist/bootstrap/bootstrap.d.ts.map +1 -1
  5. package/dist/bootstrap/bootstrap.js +31 -7
  6. package/dist/bootstrap/bootstrap.js.map +1 -1
  7. package/dist/bootstrap/bootstrap.options.d.ts +41 -0
  8. package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
  9. package/dist/common/filters/index.d.ts +1 -0
  10. package/dist/common/filters/index.d.ts.map +1 -1
  11. package/dist/common/filters/index.js +1 -0
  12. package/dist/common/filters/index.js.map +1 -1
  13. package/dist/common/filters/throttler-exception.filter.d.ts +10 -0
  14. package/dist/common/filters/throttler-exception.filter.d.ts.map +1 -0
  15. package/dist/common/filters/throttler-exception.filter.js +34 -0
  16. package/dist/common/filters/throttler-exception.filter.js.map +1 -0
  17. package/dist/core/core.module.d.ts +8 -1
  18. package/dist/core/core.module.d.ts.map +1 -1
  19. package/dist/core/core.module.js +4 -3
  20. package/dist/core/core.module.js.map +1 -1
  21. package/dist/core/neo4j/services/neo4j.service.d.ts +2 -1
  22. package/dist/core/neo4j/services/neo4j.service.d.ts.map +1 -1
  23. package/dist/core/neo4j/services/neo4j.service.js +8 -3
  24. package/dist/core/neo4j/services/neo4j.service.js.map +1 -1
  25. package/dist/core/security/security.module.d.ts +12 -0
  26. package/dist/core/security/security.module.d.ts.map +1 -1
  27. package/dist/core/security/security.module.js +20 -2
  28. package/dist/core/security/security.module.js.map +1 -1
  29. package/dist/foundations/chunk/entities/chunk.entity.d.ts +1 -0
  30. package/dist/foundations/chunk/entities/chunk.entity.d.ts.map +1 -1
  31. package/dist/foundations/chunk/entities/chunk.entity.js +1 -0
  32. package/dist/foundations/chunk/entities/chunk.entity.js.map +1 -1
  33. package/dist/foundations/chunker/chunker.module.d.ts.map +1 -1
  34. package/dist/foundations/chunker/chunker.module.js +3 -1
  35. package/dist/foundations/chunker/chunker.module.js.map +1 -1
  36. package/dist/foundations/chunker/index.d.ts +1 -0
  37. package/dist/foundations/chunker/index.d.ts.map +1 -1
  38. package/dist/foundations/chunker/index.js +1 -0
  39. package/dist/foundations/chunker/index.js.map +1 -1
  40. package/dist/foundations/chunker/services/chunker.service.d.ts +6 -1
  41. package/dist/foundations/chunker/services/chunker.service.d.ts.map +1 -1
  42. package/dist/foundations/chunker/services/chunker.service.js +123 -1
  43. package/dist/foundations/chunker/services/chunker.service.js.map +1 -1
  44. package/dist/foundations/chunker/services/types/email.service.d.ts +35 -0
  45. package/dist/foundations/chunker/services/types/email.service.d.ts.map +1 -0
  46. package/dist/foundations/chunker/services/types/email.service.js +124 -0
  47. package/dist/foundations/chunker/services/types/email.service.js.map +1 -0
  48. package/dist/foundations/foundations.modules.d.ts +6 -1
  49. package/dist/foundations/foundations.modules.d.ts.map +1 -1
  50. package/dist/foundations/foundations.modules.js +4 -6
  51. package/dist/foundations/foundations.modules.js.map +1 -1
  52. package/dist/foundations/s3/services/s3.service.d.ts +83 -0
  53. package/dist/foundations/s3/services/s3.service.d.ts.map +1 -1
  54. package/dist/foundations/s3/services/s3.service.js +267 -0
  55. package/dist/foundations/s3/services/s3.service.js.map +1 -1
  56. package/package.json +5 -1
@@ -1,3 +1,4 @@
1
+ import { Readable } from "stream";
1
2
  import { ConfigService } from "@nestjs/config";
2
3
  import { ClsService } from "nestjs-cls";
3
4
  import { BaseConfigInterface } from "../../../config/interfaces";
@@ -78,5 +79,87 @@ export declare class S3Service {
78
79
  key: string;
79
80
  }): Promise<string>;
80
81
  private _getAzureObjectContent;
82
+ /**
83
+ * Single-page list for streaming consumers. Unlike listObjects (which accumulates every page
84
+ * into one array), this returns one page plus the continuation token so the caller can resume
85
+ * on demand. StartAfter lets a caller resume after a known key; it is ignored when
86
+ * ContinuationToken is set.
87
+ */
88
+ listObjectsPage(params: {
89
+ prefix: string;
90
+ startAfter?: string;
91
+ continuationToken?: string;
92
+ maxKeys?: number;
93
+ }): Promise<{
94
+ objects: {
95
+ key: string;
96
+ size: number;
97
+ }[];
98
+ nextContinuationToken?: string;
99
+ }>;
100
+ /**
101
+ * Download a file from S3/Azure and return both its buffer and the response Content-Type.
102
+ * Used by workers that hash + re-upload while preserving the original content type.
103
+ */
104
+ downloadFileBuffer(params: {
105
+ key: string;
106
+ }): Promise<{
107
+ buffer: Buffer;
108
+ contentType?: string;
109
+ }>;
110
+ /**
111
+ * Upload a readable stream with an exact key using multipart upload.
112
+ * Unlike uploadBufferWithKey, this streams data without holding the full content in memory.
113
+ */
114
+ uploadStream(params: {
115
+ key: string;
116
+ contentType: string;
117
+ stream: Readable;
118
+ }): Promise<void>;
119
+ /**
120
+ * Copy a file from one location to another within the same bucket/container.
121
+ * Supports both S3-compatible storage and Azure Blob Storage.
122
+ */
123
+ copyFile(params: {
124
+ sourceKey: string;
125
+ destinationKey: string;
126
+ }): Promise<void>;
127
+ /**
128
+ * List all objects under a given prefix.
129
+ * Handles pagination for S3-compatible storage and Azure.
130
+ */
131
+ listObjects(params: {
132
+ prefix: string;
133
+ }): Promise<{
134
+ key: string;
135
+ size: number;
136
+ }[]>;
137
+ private _listAzureObjects;
138
+ /**
139
+ * Download a file from S3/Azure and return its content as a string.
140
+ * Useful for reading JSON or HTML content stored in object storage.
141
+ */
142
+ downloadFileAsString(params: {
143
+ key: string;
144
+ }): Promise<string | null>;
145
+ private _downloadAzureFileAsString;
146
+ /**
147
+ * Download a file from S3/Azure and return its content as a Buffer.
148
+ * Useful for reading binary files like attachments.
149
+ */
150
+ downloadFileAsBuffer(params: {
151
+ key: string;
152
+ }): Promise<Buffer | null>;
153
+ private _downloadAzureFileAsBuffer;
154
+ /**
155
+ * Upload a buffer with an exact key — NO extension appending.
156
+ * Unlike uploadFile (which adds .pdf, .zip, etc.), this method
157
+ * preserves the key exactly as provided.
158
+ */
159
+ uploadBufferWithKey(params: {
160
+ buffer: Buffer;
161
+ key: string;
162
+ contentType: string;
163
+ }): Promise<void>;
81
164
  }
82
165
  //# sourceMappingURL=s3.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.S3Service = void 0;
13
13
  const client_s3_1 = require("@aws-sdk/client-s3");
14
+ const lib_storage_1 = require("@aws-sdk/lib-storage");
14
15
  const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
15
16
  const storage_blob_1 = require("@azure/storage-blob");
16
17
  const common_1 = require("@nestjs/common");
@@ -520,6 +521,272 @@ let S3Service = class S3Service {
520
521
  throw error;
521
522
  }
522
523
  }
524
+ /**
525
+ * Single-page list for streaming consumers. Unlike listObjects (which accumulates every page
526
+ * into one array), this returns one page plus the continuation token so the caller can resume
527
+ * on demand. StartAfter lets a caller resume after a known key; it is ignored when
528
+ * ContinuationToken is set.
529
+ */
530
+ async listObjectsPage(params) {
531
+ await this._loadConfiguration();
532
+ if (!this._endpoint)
533
+ return { objects: [] };
534
+ if (this._storageType === "azure") {
535
+ throw new Error("listObjectsPage is not supported for azure storage");
536
+ }
537
+ const listResponse = await this.s3Client.send(new client_s3_1.ListObjectsV2Command({
538
+ Bucket: this._bucket,
539
+ Prefix: params.prefix,
540
+ StartAfter: params.continuationToken ? undefined : params.startAfter,
541
+ ContinuationToken: params.continuationToken,
542
+ MaxKeys: params.maxKeys,
543
+ }));
544
+ const objects = [];
545
+ for (const obj of listResponse.Contents ?? []) {
546
+ if (obj.Key && obj.Size !== undefined)
547
+ objects.push({ key: obj.Key, size: obj.Size });
548
+ }
549
+ return { objects, nextContinuationToken: listResponse.NextContinuationToken };
550
+ }
551
+ /**
552
+ * Download a file from S3/Azure and return both its buffer and the response Content-Type.
553
+ * Used by workers that hash + re-upload while preserving the original content type.
554
+ */
555
+ async downloadFileBuffer(params) {
556
+ await this._loadConfiguration();
557
+ if (!this._endpoint) {
558
+ throw new Error("S3 not configured");
559
+ }
560
+ if (this._storageType === "azure") {
561
+ const blobClient = this.containerClient.getBlobClient(params.key);
562
+ const downloadResponse = await blobClient.download();
563
+ if (!downloadResponse.readableStreamBody) {
564
+ throw new Error(`Azure blob not found: ${params.key}`);
565
+ }
566
+ const chunks = [];
567
+ for await (const chunk of downloadResponse.readableStreamBody) {
568
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
569
+ }
570
+ return {
571
+ buffer: Buffer.concat(chunks),
572
+ contentType: downloadResponse.contentType ?? undefined,
573
+ };
574
+ }
575
+ const command = new client_s3_1.GetObjectCommand({
576
+ Bucket: this._bucket,
577
+ Key: params.key,
578
+ });
579
+ const response = await this.s3Client.send(command);
580
+ if (!response.Body) {
581
+ throw new Error(`S3 object not found: ${params.key}`);
582
+ }
583
+ const chunks = [];
584
+ for await (const chunk of response.Body) {
585
+ chunks.push(Buffer.from(chunk));
586
+ }
587
+ return {
588
+ buffer: Buffer.concat(chunks),
589
+ contentType: response.ContentType,
590
+ };
591
+ }
592
+ /**
593
+ * Upload a readable stream with an exact key using multipart upload.
594
+ * Unlike uploadBufferWithKey, this streams data without holding the full content in memory.
595
+ */
596
+ async uploadStream(params) {
597
+ await this._loadConfiguration();
598
+ if (!this._endpoint)
599
+ return;
600
+ if (this._storageType === "azure") {
601
+ const blobClient = this.containerClient.getBlockBlobClient(params.key);
602
+ await blobClient.uploadStream(params.stream, 8 * 1024 * 1024, 4, {
603
+ blobHTTPHeaders: { blobContentType: params.contentType },
604
+ });
605
+ return;
606
+ }
607
+ // S3-compatible storage — multipart upload via @aws-sdk/lib-storage
608
+ const upload = new lib_storage_1.Upload({
609
+ client: this.s3Client,
610
+ params: {
611
+ Bucket: this._bucket,
612
+ Key: params.key,
613
+ Body: params.stream,
614
+ ContentType: params.contentType,
615
+ },
616
+ partSize: 10 * 1024 * 1024,
617
+ queueSize: 4,
618
+ });
619
+ await upload.done();
620
+ }
621
+ /**
622
+ * Copy a file from one location to another within the same bucket/container.
623
+ * Supports both S3-compatible storage and Azure Blob Storage.
624
+ */
625
+ async copyFile(params) {
626
+ await this._loadConfiguration();
627
+ if (!this._endpoint)
628
+ return;
629
+ if (this._storageType === "azure") {
630
+ const sourceBlobClient = this.containerClient.getBlobClient(params.sourceKey);
631
+ const destBlobClient = this.containerClient.getBlobClient(params.destinationKey);
632
+ const copyPoller = await destBlobClient.beginCopyFromURL(sourceBlobClient.url);
633
+ await copyPoller.pollUntilDone();
634
+ return;
635
+ }
636
+ // S3-compatible storage (AWS, DigitalOcean, Hetzner, MinIO)
637
+ const command = new client_s3_1.CopyObjectCommand({
638
+ Bucket: this._bucket,
639
+ CopySource: `${this._bucket}/${params.sourceKey}`,
640
+ Key: params.destinationKey,
641
+ });
642
+ await this.s3Client.send(command);
643
+ }
644
+ /**
645
+ * List all objects under a given prefix.
646
+ * Handles pagination for S3-compatible storage and Azure.
647
+ */
648
+ async listObjects(params) {
649
+ await this._loadConfiguration();
650
+ if (!this._endpoint)
651
+ return [];
652
+ if (this._storageType === "azure")
653
+ return await this._listAzureObjects(params);
654
+ const results = [];
655
+ let continuationToken;
656
+ do {
657
+ const listResponse = await this.s3Client.send(new client_s3_1.ListObjectsV2Command({
658
+ Bucket: this._bucket,
659
+ Prefix: params.prefix,
660
+ ContinuationToken: continuationToken,
661
+ }));
662
+ if (listResponse.Contents) {
663
+ for (const obj of listResponse.Contents) {
664
+ if (obj.Key && obj.Size !== undefined) {
665
+ results.push({ key: obj.Key, size: obj.Size });
666
+ }
667
+ }
668
+ }
669
+ continuationToken = listResponse.NextContinuationToken;
670
+ } while (continuationToken);
671
+ return results;
672
+ }
673
+ async _listAzureObjects(params) {
674
+ const results = [];
675
+ const blobs = this.containerClient.listBlobsFlat({ prefix: params.prefix });
676
+ for await (const blob of blobs) {
677
+ results.push({
678
+ key: blob.name,
679
+ size: blob.properties.contentLength ?? 0,
680
+ });
681
+ }
682
+ return results;
683
+ }
684
+ /**
685
+ * Download a file from S3/Azure and return its content as a string.
686
+ * Useful for reading JSON or HTML content stored in object storage.
687
+ */
688
+ async downloadFileAsString(params) {
689
+ await this._loadConfiguration();
690
+ if (!this._endpoint)
691
+ return null;
692
+ if (this._storageType === "azure") {
693
+ return await this._downloadAzureFileAsString(params);
694
+ }
695
+ try {
696
+ const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({ Bucket: this._bucket, Key: params.key }));
697
+ if (response.Body) {
698
+ return await response.Body.transformToString();
699
+ }
700
+ return null;
701
+ }
702
+ catch (error) {
703
+ console.error(`Failed to download file ${params.key}:`, error);
704
+ return null;
705
+ }
706
+ }
707
+ async _downloadAzureFileAsString(params) {
708
+ try {
709
+ const blobClient = this.containerClient.getBlobClient(params.key);
710
+ const downloadResponse = await blobClient.download();
711
+ if (downloadResponse.readableStreamBody) {
712
+ const chunks = [];
713
+ for await (const chunk of downloadResponse.readableStreamBody) {
714
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
715
+ }
716
+ return Buffer.concat(chunks).toString("utf-8");
717
+ }
718
+ return null;
719
+ }
720
+ catch (error) {
721
+ console.error(`Failed to download Azure file ${params.key}:`, error);
722
+ return null;
723
+ }
724
+ }
725
+ /**
726
+ * Download a file from S3/Azure and return its content as a Buffer.
727
+ * Useful for reading binary files like attachments.
728
+ */
729
+ async downloadFileAsBuffer(params) {
730
+ await this._loadConfiguration();
731
+ if (!this._endpoint)
732
+ return null;
733
+ if (this._storageType === "azure") {
734
+ return await this._downloadAzureFileAsBuffer(params);
735
+ }
736
+ try {
737
+ const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({ Bucket: this._bucket, Key: params.key }));
738
+ if (response.Body) {
739
+ const byteArray = await response.Body.transformToByteArray();
740
+ return Buffer.from(byteArray);
741
+ }
742
+ return null;
743
+ }
744
+ catch (error) {
745
+ console.error(`Failed to download file as buffer ${params.key}:`, error);
746
+ return null;
747
+ }
748
+ }
749
+ async _downloadAzureFileAsBuffer(params) {
750
+ try {
751
+ const blobClient = this.containerClient.getBlobClient(params.key);
752
+ const downloadResponse = await blobClient.download();
753
+ if (downloadResponse.readableStreamBody) {
754
+ const chunks = [];
755
+ for await (const chunk of downloadResponse.readableStreamBody) {
756
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
757
+ }
758
+ return Buffer.concat(chunks);
759
+ }
760
+ return null;
761
+ }
762
+ catch (error) {
763
+ console.error(`Failed to download Azure file as buffer ${params.key}:`, error);
764
+ return null;
765
+ }
766
+ }
767
+ /**
768
+ * Upload a buffer with an exact key — NO extension appending.
769
+ * Unlike uploadFile (which adds .pdf, .zip, etc.), this method
770
+ * preserves the key exactly as provided.
771
+ */
772
+ async uploadBufferWithKey(params) {
773
+ await this._loadConfiguration();
774
+ if (!this._endpoint)
775
+ return;
776
+ if (this._storageType === "azure") {
777
+ const blobClient = this.containerClient.getBlockBlobClient(params.key);
778
+ await blobClient.upload(params.buffer, params.buffer.length, {
779
+ blobHTTPHeaders: { blobContentType: params.contentType },
780
+ });
781
+ return;
782
+ }
783
+ await this.s3Client.send(new client_s3_1.PutObjectCommand({
784
+ Bucket: this._bucket,
785
+ Key: params.key,
786
+ Body: params.buffer,
787
+ ContentType: params.contentType,
788
+ }));
789
+ }
523
790
  };
524
791
  exports.S3Service = S3Service;
525
792
  exports.S3Service = S3Service = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"s3.service.js","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.service.js","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nestjs-neo4jsonapi",
3
- "version": "1.98.0",
3
+ "version": "1.99.0",
4
4
  "description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",
@@ -65,8 +65,11 @@
65
65
  "dependencies": {
66
66
  "@ai-sdk/openai-compatible": "^2.0.0",
67
67
  "@aws-sdk/client-s3": "^3.1053.0",
68
+ "@aws-sdk/lib-storage": "^3.1075.0",
68
69
  "@aws-sdk/s3-request-presigner": "^3.1053.0",
69
70
  "@azure/storage-blob": "^12.31.0",
71
+ "@kenjiuno/msgreader": "^1.28.0",
72
+ "mailparser": "^3.9.11",
70
73
  "@getbrevo/brevo": "^5.0.4",
71
74
  "@langchain/community": "^1.1.28",
72
75
  "@langchain/core": "^1.1.48",
@@ -155,6 +158,7 @@
155
158
  "@types/bcrypt": "^6.0.0",
156
159
  "@types/bcryptjs": "^3.0.0",
157
160
  "@types/js-yaml": "^4.0.9",
161
+ "@types/mailparser": "^3.4.6",
158
162
  "@types/mdast": "^4.0.4",
159
163
  "@types/node": "^25.9.1",
160
164
  "@types/uuid": "^10.0.0",