@breadstone/archipel-mcp 0.0.40 → 0.0.42

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 (131) hide show
  1. package/data/guides/blob-storage.md +20 -16
  2. package/data/guides/implementing-ports.md +2 -0
  3. package/data/guides/payments-and-feature-gating.md +76 -45
  4. package/data/packages/platform-blob-storage/api/Class.AwsS3BlobStorageStrategy.md +197 -0
  5. package/data/packages/platform-blob-storage/api/Class.AzureBlobStorageStrategy.md +197 -0
  6. package/data/packages/platform-blob-storage/api/Class.BlobModule.md +20 -10
  7. package/data/packages/platform-blob-storage/api/Class.BlobService.md +8 -8
  8. package/data/packages/platform-blob-storage/api/Class.BlobStorageStrategyBase.md +158 -0
  9. package/data/packages/platform-blob-storage/api/Class.LocalBlobStorageStrategy.md +197 -0
  10. package/data/packages/platform-blob-storage/api/Class.VercelBlobStorageStrategy.md +198 -0
  11. package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +4 -4
  12. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +5 -5
  13. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +6 -6
  14. package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +20 -10
  15. package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +14 -14
  16. package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +5 -5
  17. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +10 -10
  18. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +3 -3
  19. package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +1 -1
  20. package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +1 -1
  21. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_ACCESS_KEY_ID.md +14 -0
  22. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_BUCKET.md +14 -0
  23. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_CONFIG_ENTRIES.md +14 -0
  24. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_ENDPOINT.md +14 -0
  25. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_REGION.md +14 -0
  26. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_SECRET_ACCESS_KEY.md +14 -0
  27. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_CONNECTION_STRING.md +14 -0
  28. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_CONTAINER_NAME.md +14 -0
  29. package/data/packages/platform-blob-storage/api/Variable.AZURE_CONFIG_ENTRIES.md +14 -0
  30. package/data/packages/platform-blob-storage/api/{Variable.BLOB_PROVIDER.md → Variable.BLOB_STORAGE_STRATEGY_TOKEN.md} +3 -3
  31. package/data/packages/platform-blob-storage/api/Variable.BlobDownloadResponseTypes.md +5 -5
  32. package/data/packages/platform-blob-storage/api/Variable.LOCAL_BLOB_BASE_PATH.md +14 -0
  33. package/data/packages/platform-blob-storage/api/Variable.LOCAL_BLOB_BUCKET.md +14 -0
  34. package/data/packages/platform-blob-storage/api/Variable.LOCAL_CONFIG_ENTRIES.md +14 -0
  35. package/data/packages/platform-blob-storage/api/Variable.PLATFORM_BLOB_STORAGE_CONFIG_ENTRIES.md +14 -0
  36. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_BUCKET.md +14 -0
  37. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PUBLIC_URL.md +14 -0
  38. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_READ_WRITE_TOKEN.md +14 -0
  39. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_REGION.md +14 -0
  40. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_URL.md +14 -0
  41. package/data/packages/platform-blob-storage/api/Variable.VERCEL_CONFIG_ENTRIES.md +14 -0
  42. package/data/packages/platform-blob-storage/api/index.md +26 -18
  43. package/data/packages/platform-blob-storage/index.md +104 -68
  44. package/data/packages/platform-bootstrap/api/index.md +0 -2
  45. package/data/packages/platform-core/api/Class.ProblemDetailResponse.md +8 -8
  46. package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +4 -4
  47. package/data/packages/platform-database/api/Class.DatabaseModule.md +3 -3
  48. package/data/packages/platform-database/api/Class.DatabaseService.md +12 -11
  49. package/data/packages/platform-database/api/Class.PrismaService.md +6 -5
  50. package/data/packages/platform-database/api/Class.RepositoryBase.md +23 -23
  51. package/data/packages/platform-database/api/Class.RepositoryBase2.md +7 -7
  52. package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +2 -2
  53. package/data/packages/platform-database/api/Function.aggregate.md +1 -1
  54. package/data/packages/platform-database/api/Function.aggregateRaw.md +1 -1
  55. package/data/packages/platform-database/api/Function.count.md +1 -1
  56. package/data/packages/platform-database/api/Function.create.md +1 -1
  57. package/data/packages/platform-database/api/Function.createMany.md +1 -1
  58. package/data/packages/platform-database/api/Function.createManyAndReturn.md +1 -1
  59. package/data/packages/platform-database/api/Function.cursorPaginator.md +1 -1
  60. package/data/packages/platform-database/api/Function.findFirst.md +1 -1
  61. package/data/packages/platform-database/api/Function.findFirstOrThrow.md +1 -1
  62. package/data/packages/platform-database/api/Function.findMany.md +1 -1
  63. package/data/packages/platform-database/api/Function.findManyPaged.md +1 -1
  64. package/data/packages/platform-database/api/Function.findRaw.md +1 -1
  65. package/data/packages/platform-database/api/Function.findUnique.md +1 -1
  66. package/data/packages/platform-database/api/Function.findUniqueOrThrow.md +1 -1
  67. package/data/packages/platform-database/api/Function.groupBy.md +1 -1
  68. package/data/packages/platform-database/api/Function.pageable.md +1 -1
  69. package/data/packages/platform-database/api/Function.paginator.md +1 -1
  70. package/data/packages/platform-database/api/Function.pipe.md +1 -1
  71. package/data/packages/platform-database/api/Function.pipeAll.md +1 -1
  72. package/data/packages/platform-database/api/Function.query.md +1 -1
  73. package/data/packages/platform-database/api/Function.query2.md +1 -1
  74. package/data/packages/platform-database/api/Function.remove.md +1 -1
  75. package/data/packages/platform-database/api/Function.removeMany.md +1 -1
  76. package/data/packages/platform-database/api/Function.skip.md +1 -1
  77. package/data/packages/platform-database/api/Function.transactionalQuery.md +1 -1
  78. package/data/packages/platform-database/api/Function.update.md +1 -1
  79. package/data/packages/platform-database/api/Function.updateMany.md +1 -1
  80. package/data/packages/platform-database/api/Function.updateManyAndReturn.md +1 -1
  81. package/data/packages/platform-database/api/Function.upsert.md +1 -1
  82. package/data/packages/platform-database/api/Interface.ICursorPaginateOptions.md +4 -4
  83. package/data/packages/platform-database/api/Interface.ICursorPaginatedResult.md +3 -3
  84. package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +3 -3
  85. package/data/packages/platform-database/api/Interface.IPaginateOptions.md +3 -3
  86. package/data/packages/platform-database/api/Interface.IPaginatedResult.md +3 -3
  87. package/data/packages/platform-database/api/Interface.IPrismaServiceOptions.md +2 -2
  88. package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +3 -3
  89. package/data/packages/platform-database/api/Interface.IRepositoryQuery2.md +3 -3
  90. package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +4 -4
  91. package/data/packages/platform-database/api/TypeAlias.CursorPaginateFunction.md +1 -1
  92. package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +1 -1
  93. package/data/packages/platform-database/api/TypeAlias.DelegateOperations.md +1 -1
  94. package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +1 -1
  95. package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +1 -1
  96. package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +1 -1
  97. package/data/packages/platform-database/api/TypeAlias.RepositoryOperationsAll.md +1 -1
  98. package/data/packages/platform-database/api/TypeAlias.RepositoryOperationsBase.md +1 -1
  99. package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +1 -1
  100. package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +1 -1
  101. package/data/packages/platform-database/api/Variable.DB_AUTO_CONNECTION.md +1 -1
  102. package/data/packages/platform-database/api/Variable.PLATFORM_DATABASE_CONFIG_ENTRIES.md +1 -1
  103. package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +13 -5
  104. package/data/packages/platform-payments/api/Class.FeatureGuard.md +3 -3
  105. package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +3 -3
  106. package/data/packages/platform-payments/api/Function.RequiresFeature.md +1 -1
  107. package/data/packages/platform-payments/api/Interface.IFeatureAccessContext.md +46 -0
  108. package/data/packages/platform-payments/api/Variable.FEATURE_KEY_METADATA.md +1 -1
  109. package/data/packages/platform-payments/api/index.md +1 -0
  110. package/data/packages/platform-payments/index.md +33 -12
  111. package/data/patterns/guard-pattern.md +27 -6
  112. package/data/patterns/module-pattern.md +6 -2
  113. package/package.json +1 -1
  114. package/data/packages/platform-blob-storage/api/Class.AwsS3BlobProvider.md +0 -196
  115. package/data/packages/platform-blob-storage/api/Class.AzureBlobProvider.md +0 -196
  116. package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +0 -197
  117. package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +0 -28
  118. package/data/packages/platform-blob-storage/api/Interface.IAwsS3ProviderOptions.md +0 -68
  119. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderOptions.md +0 -48
  120. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +0 -28
  121. package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +0 -114
  122. package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +0 -28
  123. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +0 -80
  124. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +0 -28
  125. package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +0 -16
  126. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +0 -12
  127. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +0 -12
  128. package/data/packages/platform-blob-storage/api/Variable.BlobProviderKinds.md +0 -26
  129. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +0 -12
  130. package/data/packages/platform-bootstrap/api/Function.useExpressServer.md +0 -32
  131. package/data/packages/platform-bootstrap/api/Interface.IExpressServerStepOptions.md +0 -46
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IBlobUploadResult
7
7
 
8
- Defined in: [interfaces/IBlobProvider.ts:61](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L61)
8
+ Defined in: [interfaces/IBlobProvider.ts:52](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L52)
9
9
 
10
10
  ## Properties
11
11
 
@@ -15,7 +15,7 @@ Defined in: [interfaces/IBlobProvider.ts:61](https://github.com/RueDeRennes/arch
15
15
  metadata: IBlobObjectMetadata;
16
16
  ```
17
17
 
18
- Defined in: [interfaces/IBlobProvider.ts:62](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L62)
18
+ Defined in: [interfaces/IBlobProvider.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L53)
19
19
 
20
20
  ***
21
21
 
@@ -25,4 +25,4 @@ Defined in: [interfaces/IBlobProvider.ts:62](https://github.com/RueDeRennes/arch
25
25
  optional rawResponse?: unknown;
26
26
  ```
27
27
 
28
- Defined in: [interfaces/IBlobProvider.ts:63](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L63)
28
+ Defined in: [interfaces/IBlobProvider.ts:54](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L54)
@@ -9,4 +9,4 @@ editUrl: false
9
9
  type BlobDownloadResponseType = typeof BlobDownloadResponseTypes[keyof typeof BlobDownloadResponseTypes];
10
10
  ```
11
11
 
12
- Defined in: [interfaces/IBlobProvider.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L25)
12
+ Defined in: [interfaces/IBlobProvider.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L16)
@@ -9,4 +9,4 @@ editUrl: false
9
9
  type BlobUploadBody = Buffer | Readable;
10
10
  ```
11
11
 
12
- Defined in: [interfaces/IBlobProvider.ts:27](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L27)
12
+ Defined in: [interfaces/IBlobProvider.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L18)
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AWS\_S3\_ACCESS\_KEY\_ID'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AWS\_S3\_ACCESS\_KEY\_ID
7
+
8
+ ```ts
9
+ const AWS_S3_ACCESS_KEY_ID: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/aws-s3/env.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/aws-s3/env.ts#L16)
13
+
14
+ AWS S3 access key ID.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AWS\_S3\_BUCKET'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AWS\_S3\_BUCKET
7
+
8
+ ```ts
9
+ const AWS_S3_BUCKET: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/aws-s3/env.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/aws-s3/env.ts#L13)
13
+
14
+ AWS S3 bucket name.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AWS\_S3\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AWS\_S3\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const AWS_S3_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: [strategies/aws-s3/env.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/aws-s3/env.ts#L25)
13
+
14
+ Configuration entries required by the AWS S3 blob storage strategy.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AWS\_S3\_ENDPOINT'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AWS\_S3\_ENDPOINT
7
+
8
+ ```ts
9
+ const AWS_S3_ENDPOINT: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/aws-s3/env.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/aws-s3/env.ts#L22)
13
+
14
+ AWS S3 custom endpoint (for S3-compatible providers).
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AWS\_S3\_REGION'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AWS\_S3\_REGION
7
+
8
+ ```ts
9
+ const AWS_S3_REGION: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/aws-s3/env.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/aws-s3/env.ts#L10)
13
+
14
+ AWS S3 region.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AWS\_S3\_SECRET\_ACCESS\_KEY'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AWS\_S3\_SECRET\_ACCESS\_KEY
7
+
8
+ ```ts
9
+ const AWS_S3_SECRET_ACCESS_KEY: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/aws-s3/env.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/aws-s3/env.ts#L19)
13
+
14
+ AWS S3 secret access key.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AZURE\_BLOB\_CONNECTION\_STRING'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AZURE\_BLOB\_CONNECTION\_STRING
7
+
8
+ ```ts
9
+ const AZURE_BLOB_CONNECTION_STRING: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/azure/env.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/azure/env.ts#L10)
13
+
14
+ Azure Blob Storage connection string.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AZURE\_BLOB\_CONTAINER\_NAME'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AZURE\_BLOB\_CONTAINER\_NAME
7
+
8
+ ```ts
9
+ const AZURE_BLOB_CONTAINER_NAME: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/azure/env.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/azure/env.ts#L13)
13
+
14
+ Azure Blob Storage container name.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AZURE\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AZURE\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const AZURE_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: [strategies/azure/env.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/azure/env.ts#L16)
13
+
14
+ Configuration entries required by the Azure blob storage strategy.
@@ -1,12 +1,12 @@
1
1
  ---
2
- title: 'Variable: BLOB\_PROVIDER'
2
+ title: 'Variable: BLOB\_STORAGE\_STRATEGY\_TOKEN'
3
3
  generated: true
4
4
  editUrl: false
5
5
  ---
6
- # Variable: BLOB\_PROVIDER
6
+ # Variable: BLOB\_STORAGE\_STRATEGY\_TOKEN
7
7
 
8
8
  ```ts
9
- const BLOB_PROVIDER: typeof BLOB_PROVIDER;
9
+ const BLOB_STORAGE_STRATEGY_TOKEN: typeof BLOB_STORAGE_STRATEGY_TOKEN;
10
10
  ```
11
11
 
12
12
  Defined in: [tokens/BlobStorageTokens.ts:3](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/BlobStorageTokens.ts#L3)
@@ -14,13 +14,13 @@ const BlobDownloadResponseTypes: {
14
14
  };
15
15
  ```
16
16
 
17
- Defined in: [interfaces/IBlobProvider.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L18)
17
+ Defined in: [interfaces/IBlobProvider.ts:9](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L9)
18
18
 
19
19
  ## Type Declaration
20
20
 
21
21
  | Name | Type | Default value | Defined in |
22
22
  | ------ | ------ | ------ | ------ |
23
- | <a id="property-arraybuffer"></a> `ArrayBuffer` | `"arraybuffer"` | `'arraybuffer'` | [interfaces/IBlobProvider.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L19) |
24
- | <a id="property-json"></a> `Json` | `"json"` | `'json'` | [interfaces/IBlobProvider.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L20) |
25
- | <a id="property-stream"></a> `Stream` | `"stream"` | `'stream'` | [interfaces/IBlobProvider.ts:21](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L21) |
26
- | <a id="property-text"></a> `Text` | `"text"` | `'text'` | [interfaces/IBlobProvider.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L22) |
23
+ | <a id="property-arraybuffer"></a> `ArrayBuffer` | `"arraybuffer"` | `'arraybuffer'` | [interfaces/IBlobProvider.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L10) |
24
+ | <a id="property-json"></a> `Json` | `"json"` | `'json'` | [interfaces/IBlobProvider.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L11) |
25
+ | <a id="property-stream"></a> `Stream` | `"stream"` | `'stream'` | [interfaces/IBlobProvider.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L12) |
26
+ | <a id="property-text"></a> `Text` | `"text"` | `'text'` | [interfaces/IBlobProvider.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/interfaces/IBlobProvider.ts#L13) |
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: LOCAL\_BLOB\_BASE\_PATH'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: LOCAL\_BLOB\_BASE\_PATH
7
+
8
+ ```ts
9
+ const LOCAL_BLOB_BASE_PATH: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/local/env.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/local/env.ts#L10)
13
+
14
+ Local blob storage base path.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: LOCAL\_BLOB\_BUCKET'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: LOCAL\_BLOB\_BUCKET
7
+
8
+ ```ts
9
+ const LOCAL_BLOB_BUCKET: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/local/env.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/local/env.ts#L13)
13
+
14
+ Local blob storage bucket (subdirectory).
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: LOCAL\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: LOCAL\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const LOCAL_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: [strategies/local/env.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/local/env.ts#L16)
13
+
14
+ Configuration entries required by the local blob storage strategy.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: PLATFORM\_BLOB\_STORAGE\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: PLATFORM\_BLOB\_STORAGE\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const PLATFORM_BLOB_STORAGE_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: [env.ts:26](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/env.ts#L26)
13
+
14
+ All configuration entries for `platform-blob-storage`. All keys are optional at the aggregate level.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_BLOB\_BUCKET'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_BLOB\_BUCKET
7
+
8
+ ```ts
9
+ const VERCEL_BLOB_BUCKET: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/vercel/env.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/vercel/env.ts#L16)
13
+
14
+ Vercel Blob bucket name.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_BLOB\_PUBLIC\_URL'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_BLOB\_PUBLIC\_URL
7
+
8
+ ```ts
9
+ const VERCEL_BLOB_PUBLIC_URL: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/vercel/env.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/vercel/env.ts#L22)
13
+
14
+ Vercel Blob public URL.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_BLOB\_READ\_WRITE\_TOKEN'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_BLOB\_READ\_WRITE\_TOKEN
7
+
8
+ ```ts
9
+ const VERCEL_BLOB_READ_WRITE_TOKEN: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/vercel/env.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/vercel/env.ts#L13)
13
+
14
+ Vercel Blob read/write access token.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_BLOB\_REGION'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_BLOB\_REGION
7
+
8
+ ```ts
9
+ const VERCEL_BLOB_REGION: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/vercel/env.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/vercel/env.ts#L19)
13
+
14
+ Vercel Blob region.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_BLOB\_URL'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_BLOB\_URL
7
+
8
+ ```ts
9
+ const VERCEL_BLOB_URL: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [strategies/vercel/env.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/vercel/env.ts#L10)
13
+
14
+ Vercel Blob API URL.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const VERCEL_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: [strategies/vercel/env.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/strategies/vercel/env.ts#L25)
13
+
14
+ Configuration entries required by the Vercel blob storage strategy.
@@ -9,35 +9,29 @@ editUrl: false
9
9
 
10
10
  | Class | Description |
11
11
  | ------ | ------ |
12
- | [AwsS3BlobProvider](Class.AwsS3BlobProvider) | Provides an implementation of [IBlobProvider](Interface.IBlobProvider) for Amazon S3. |
13
- | [AzureBlobProvider](Class.AzureBlobProvider) | Provides an implementation of [IBlobProvider](Interface.IBlobProvider) for Microsoft Azure Blob Storage. |
12
+ | [AwsS3BlobStorageStrategy](Class.AwsS3BlobStorageStrategy) | Provides a blob storage strategy backed by Amazon S3. |
13
+ | [AzureBlobStorageStrategy](Class.AzureBlobStorageStrategy) | Provides a blob storage strategy backed by Microsoft Azure Blob Storage. |
14
14
  | [BlobHealthIndicator](Class.BlobHealthIndicator) | Health indicator for blob storage service. |
15
- | [BlobModule](Class.BlobModule) | NestJS module responsible for providing blob storage services. |
15
+ | [BlobModule](Class.BlobModule) | NestJS module responsible for providing blob storage services. Uses a strategy pattern to support pluggable storage backends. |
16
16
  | [BlobObjectPersistencePort](Class.BlobObjectPersistencePort) | Abstract port for persisting blob object metadata. Consuming projects must provide a concrete implementation (e.g. backed by Prisma, Mongo, etc.) and register it via `BlobModule.forRoot({ objectPersistence: MyAdapter })`. |
17
17
  | [BlobService](Class.BlobService) | Provides a generic abstraction for blob storage operations independent of the underlying provider. |
18
+ | [BlobStorageStrategyBase](Class.BlobStorageStrategyBase) | Abstract base class for blob storage strategies. Every concrete provider (AWS S3, Azure, Vercel, Local, etc.) must extend this class. Serves as both the type contract and the NestJS DI token type reference. |
18
19
  | [BlobVariantPersistencePort](Class.BlobVariantPersistencePort) | Abstract port for persisting blob variant metadata. Consuming projects must provide a concrete implementation and register it via `BlobModule.forRoot({ variantPersistence: MyAdapter })`. |
19
- | [VercelBlobProvider](Class.VercelBlobProvider) | Provides an implementation of [IBlobProvider](Interface.IBlobProvider) for Vercel Blob storage. |
20
+ | [LocalBlobStorageStrategy](Class.LocalBlobStorageStrategy) | Provides a blob storage strategy backed by the local filesystem. |
21
+ | [VercelBlobStorageStrategy](Class.VercelBlobStorageStrategy) | Provides a blob storage strategy backed by the Vercel Blob API. |
20
22
 
21
23
  ## Interfaces
22
24
 
23
25
  | Interface | Description |
24
26
  | ------ | ------ |
25
- | [IAwsS3BlobProviderRegistration](Interface.IAwsS3BlobProviderRegistration) | - |
26
- | [IAwsS3ProviderOptions](Interface.IAwsS3ProviderOptions) | - |
27
- | [IAzureBlobProviderOptions](Interface.IAzureBlobProviderOptions) | - |
28
- | [IAzureBlobProviderRegistration](Interface.IAzureBlobProviderRegistration) | - |
29
27
  | [IBlobDeleteRequest](Interface.IBlobDeleteRequest) | - |
30
28
  | [IBlobDownloadRequest](Interface.IBlobDownloadRequest) | - |
31
29
  | [IBlobDownloadResult](Interface.IBlobDownloadResult) | - |
32
30
  | [IBlobModuleOptions](Interface.IBlobModuleOptions) | - |
33
31
  | [IBlobObjectMetadata](Interface.IBlobObjectMetadata) | - |
34
- | [IBlobProvider](Interface.IBlobProvider) | - |
35
32
  | [IBlobSignedUrlRequest](Interface.IBlobSignedUrlRequest) | - |
36
33
  | [IBlobUploadRequest](Interface.IBlobUploadRequest) | - |
37
34
  | [IBlobUploadResult](Interface.IBlobUploadResult) | - |
38
- | [ICustomBlobProviderRegistration](Interface.ICustomBlobProviderRegistration) | - |
39
- | [IVercelBlobProviderOptions](Interface.IVercelBlobProviderOptions) | - |
40
- | [IVercelBlobProviderRegistration](Interface.IVercelBlobProviderRegistration) | - |
41
35
 
42
36
  ## Type Aliases
43
37
 
@@ -45,15 +39,29 @@ editUrl: false
45
39
  | ------ | ------ |
46
40
  | [BlobDownloadResponseType](TypeAlias.BlobDownloadResponseType) | - |
47
41
  | [BlobUploadBody](TypeAlias.BlobUploadBody) | - |
48
- | [IBlobProviderRegistration](TypeAlias.IBlobProviderRegistration) | - |
49
42
 
50
43
  ## Variables
51
44
 
52
45
  | Variable | Description |
53
46
  | ------ | ------ |
54
- | [AWS\_S3\_PROVIDER\_OPTIONS](Variable.AWS_S3_PROVIDER_OPTIONS) | - |
55
- | [AZURE\_BLOB\_PROVIDER\_OPTIONS](Variable.AZURE_BLOB_PROVIDER_OPTIONS) | - |
56
- | [BLOB\_PROVIDER](Variable.BLOB_PROVIDER) | - |
47
+ | [AWS\_S3\_ACCESS\_KEY\_ID](Variable.AWS_S3_ACCESS_KEY_ID) | AWS S3 access key ID. |
48
+ | [AWS\_S3\_BUCKET](Variable.AWS_S3_BUCKET) | AWS S3 bucket name. |
49
+ | [AWS\_S3\_CONFIG\_ENTRIES](Variable.AWS_S3_CONFIG_ENTRIES) | Configuration entries required by the AWS S3 blob storage strategy. |
50
+ | [AWS\_S3\_ENDPOINT](Variable.AWS_S3_ENDPOINT) | AWS S3 custom endpoint (for S3-compatible providers). |
51
+ | [AWS\_S3\_REGION](Variable.AWS_S3_REGION) | AWS S3 region. |
52
+ | [AWS\_S3\_SECRET\_ACCESS\_KEY](Variable.AWS_S3_SECRET_ACCESS_KEY) | AWS S3 secret access key. |
53
+ | [AZURE\_BLOB\_CONNECTION\_STRING](Variable.AZURE_BLOB_CONNECTION_STRING) | Azure Blob Storage connection string. |
54
+ | [AZURE\_BLOB\_CONTAINER\_NAME](Variable.AZURE_BLOB_CONTAINER_NAME) | Azure Blob Storage container name. |
55
+ | [AZURE\_CONFIG\_ENTRIES](Variable.AZURE_CONFIG_ENTRIES) | Configuration entries required by the Azure blob storage strategy. |
56
+ | [BLOB\_STORAGE\_STRATEGY\_TOKEN](Variable.BLOB_STORAGE_STRATEGY_TOKEN) | - |
57
57
  | [BlobDownloadResponseTypes](Variable.BlobDownloadResponseTypes) | - |
58
- | [BlobProviderKinds](Variable.BlobProviderKinds) | - |
59
- | [VERCEL\_BLOB\_PROVIDER\_OPTIONS](Variable.VERCEL_BLOB_PROVIDER_OPTIONS) | - |
58
+ | [LOCAL\_BLOB\_BASE\_PATH](Variable.LOCAL_BLOB_BASE_PATH) | Local blob storage base path. |
59
+ | [LOCAL\_BLOB\_BUCKET](Variable.LOCAL_BLOB_BUCKET) | Local blob storage bucket (subdirectory). |
60
+ | [LOCAL\_CONFIG\_ENTRIES](Variable.LOCAL_CONFIG_ENTRIES) | Configuration entries required by the local blob storage strategy. |
61
+ | [PLATFORM\_BLOB\_STORAGE\_CONFIG\_ENTRIES](Variable.PLATFORM_BLOB_STORAGE_CONFIG_ENTRIES) | All configuration entries for `platform-blob-storage`. All keys are optional at the aggregate level. |
62
+ | [VERCEL\_BLOB\_BUCKET](Variable.VERCEL_BLOB_BUCKET) | Vercel Blob bucket name. |
63
+ | [VERCEL\_BLOB\_PUBLIC\_URL](Variable.VERCEL_BLOB_PUBLIC_URL) | Vercel Blob public URL. |
64
+ | [VERCEL\_BLOB\_READ\_WRITE\_TOKEN](Variable.VERCEL_BLOB_READ_WRITE_TOKEN) | Vercel Blob read/write access token. |
65
+ | [VERCEL\_BLOB\_REGION](Variable.VERCEL_BLOB_REGION) | Vercel Blob region. |
66
+ | [VERCEL\_BLOB\_URL](Variable.VERCEL_BLOB_URL) | Vercel Blob API URL. |
67
+ | [VERCEL\_CONFIG\_ENTRIES](Variable.VERCEL_CONFIG_ENTRIES) | Configuration entries required by the Vercel blob storage strategy. |