@blamejs/core 0.6.36 → 0.6.58
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.
- package/CHANGELOG.md +34 -0
- package/README.md +2 -2
- package/lib/audit.js +1 -0
- package/lib/bundler.js +166 -31
- package/lib/i18n-messageformat.js +398 -0
- package/lib/i18n.js +17 -0
- package/lib/log-stream-otlp-grpc.js +413 -0
- package/lib/log-stream.js +8 -0
- package/lib/mail.js +18 -3
- package/lib/mtls-ca.js +155 -0
- package/lib/mtls-engine-default.js +40 -0
- package/lib/object-store/azure-blob-bucket-ops.js +291 -0
- package/lib/object-store/gcs-bucket-ops.js +327 -0
- package/lib/object-store/index.js +65 -14
- package/lib/object-store/sigv4-bucket-ops.js +639 -39
- package/lib/object-store/sigv4.js +10 -3
- package/lib/protobuf-encoder.js +184 -0
- package/lib/queue-sqs.js +314 -0
- package/lib/queue.js +2 -2
- package/lib/safe-buffer.js +15 -2
- package/lib/totp.js +11 -3
- package/package.json +1 -1
- package/sbom.cyclonedx.json +6 -6
|
@@ -27,15 +27,17 @@
|
|
|
27
27
|
* delete(key) → boolean (true if deleted, false if missing)
|
|
28
28
|
* list(prefix, opts?) → { items: [{ key, size, lastModified }], truncated }
|
|
29
29
|
*/
|
|
30
|
-
var localProto
|
|
31
|
-
var httpPutProto
|
|
32
|
-
var sigv4Proto
|
|
33
|
-
var sigv4BucketOps
|
|
34
|
-
var gcsProto
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
30
|
+
var localProto = require("./local");
|
|
31
|
+
var httpPutProto = require("./http-put");
|
|
32
|
+
var sigv4Proto = require("./sigv4");
|
|
33
|
+
var sigv4BucketOps = require("./sigv4-bucket-ops");
|
|
34
|
+
var gcsProto = require("./gcs");
|
|
35
|
+
var gcsBucketOps = require("./gcs-bucket-ops");
|
|
36
|
+
var azureBlobProto = require("./azure-blob");
|
|
37
|
+
var azureBlobBucketOps = require("./azure-blob-bucket-ops");
|
|
38
|
+
var retryHelper = require("./retry");
|
|
39
|
+
var protocolDispatcher = require("../protocol-dispatcher");
|
|
40
|
+
var { ObjectStoreError } = require("../framework-error");
|
|
39
41
|
|
|
40
42
|
// All currently advertised protocols are bundled. The dispatcher's
|
|
41
43
|
// `deferred` slot is the hook for adding deferred ones later.
|
|
@@ -134,13 +136,62 @@ function buildBackend(config) {
|
|
|
134
136
|
};
|
|
135
137
|
}
|
|
136
138
|
|
|
139
|
+
// ---- Bucket-level ops dispatcher ----
|
|
140
|
+
//
|
|
141
|
+
// Bucket lifecycle (create / delete / list) + lifecycle / CORS rules
|
|
142
|
+
// are service-scoped, not bucket-scoped — `b.objectStore.bucketOps`
|
|
143
|
+
// resolves a per-cloud factory by protocol. Each cloud's ops shape
|
|
144
|
+
// differs (S3 sigv4 vs Azure Shared Key vs GCS OAuth) so the
|
|
145
|
+
// per-protocol modules each own their own validation, signing, and
|
|
146
|
+
// REST-API translation; this dispatcher just routes.
|
|
147
|
+
//
|
|
148
|
+
// Operator entry point — unchanged from v0.6.x:
|
|
149
|
+
//
|
|
150
|
+
// var ops = b.objectStore.bucketOps.create({
|
|
151
|
+
// protocol: 'sigv4' | 'azure-blob' | 'gcs',
|
|
152
|
+
// // ... protocol-specific creds ...
|
|
153
|
+
// });
|
|
154
|
+
//
|
|
155
|
+
// Each returned ops object exposes (where supported per-cloud):
|
|
156
|
+
// ops.create(name, opts?)
|
|
157
|
+
// ops.delete(name)
|
|
158
|
+
// ops.list(opts?)
|
|
159
|
+
// ops.setLifecycle(name, rules)
|
|
160
|
+
// ops.setCorsRules(name, rules) // sigv4 + gcs accept (name, rules);
|
|
161
|
+
// // azure-blob accepts (rules) — its
|
|
162
|
+
// // CORS is account-level.
|
|
163
|
+
var BUCKET_OPS_BY_PROTOCOL = {
|
|
164
|
+
"sigv4": sigv4BucketOps,
|
|
165
|
+
"gcs": gcsBucketOps,
|
|
166
|
+
"azure-blob": azureBlobBucketOps,
|
|
167
|
+
};
|
|
168
|
+
function _bucketOpsCreate(config) {
|
|
169
|
+
if (!config) {
|
|
170
|
+
throw _err("BAD_OPT",
|
|
171
|
+
"objectStore.bucketOps.create: config required (must include " +
|
|
172
|
+
"{ protocol })", true);
|
|
173
|
+
}
|
|
174
|
+
var protoMod = BUCKET_OPS_BY_PROTOCOL[config.protocol];
|
|
175
|
+
if (!protoMod) {
|
|
176
|
+
throw _err("UNKNOWN_PROTOCOL",
|
|
177
|
+
"objectStore.bucketOps.create: unknown protocol '" + config.protocol +
|
|
178
|
+
"' (supported: " + Object.keys(BUCKET_OPS_BY_PROTOCOL).join(", ") +
|
|
179
|
+
")", true);
|
|
180
|
+
}
|
|
181
|
+
return protoMod.create(config);
|
|
182
|
+
}
|
|
183
|
+
|
|
137
184
|
module.exports = {
|
|
138
185
|
buildBackend: buildBackend,
|
|
139
186
|
PROTOCOLS: dispatcher.protocols,
|
|
140
187
|
DEFERRED_PROTOCOLS: dispatcher.deferred,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
188
|
+
bucketOps: {
|
|
189
|
+
create: _bucketOpsCreate,
|
|
190
|
+
PROTOCOLS: Object.keys(BUCKET_OPS_BY_PROTOCOL),
|
|
191
|
+
// Per-protocol modules exposed for advanced operators wiring
|
|
192
|
+
// their own dispatch / testing harnesses against a specific cloud.
|
|
193
|
+
sigv4: sigv4BucketOps,
|
|
194
|
+
gcs: gcsBucketOps,
|
|
195
|
+
"azure-blob": azureBlobBucketOps,
|
|
196
|
+
},
|
|
146
197
|
};
|