@positronic/cloudflare 0.0.52 → 0.0.54

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 (40) hide show
  1. package/dist/src/api/brains.js +1003 -0
  2. package/dist/src/api/bundle.js +204 -0
  3. package/dist/src/api/index.js +149 -0
  4. package/dist/src/api/pages.js +681 -0
  5. package/dist/src/api/resources.js +778 -0
  6. package/dist/src/api/secrets.js +707 -0
  7. package/dist/src/api/types.js +1 -0
  8. package/dist/src/api/webhooks/coordination.js +267 -0
  9. package/dist/src/api/webhooks/index.js +277 -0
  10. package/dist/src/api/webhooks/system.js +248 -0
  11. package/dist/src/brain-runner-do.js +5 -5
  12. package/dist/src/dev-server.js +201 -9
  13. package/dist/src/index.js +2 -4
  14. package/dist/types/api/brains.d.ts +7 -0
  15. package/dist/types/api/brains.d.ts.map +1 -0
  16. package/dist/types/api/bundle.d.ts +7 -0
  17. package/dist/types/api/bundle.d.ts.map +1 -0
  18. package/dist/types/api/index.d.ts +8 -0
  19. package/dist/types/api/index.d.ts.map +1 -0
  20. package/dist/types/api/pages.d.ts +7 -0
  21. package/dist/types/api/pages.d.ts.map +1 -0
  22. package/dist/types/api/resources.d.ts +7 -0
  23. package/dist/types/api/resources.d.ts.map +1 -0
  24. package/dist/types/api/secrets.d.ts +7 -0
  25. package/dist/types/api/secrets.d.ts.map +1 -0
  26. package/dist/types/{api.d.ts → api/types.d.ts} +15 -9
  27. package/dist/types/api/types.d.ts.map +1 -0
  28. package/dist/types/api/webhooks/coordination.d.ts +32 -0
  29. package/dist/types/api/webhooks/coordination.d.ts.map +1 -0
  30. package/dist/types/api/webhooks/index.d.ts +7 -0
  31. package/dist/types/api/webhooks/index.d.ts.map +1 -0
  32. package/dist/types/api/webhooks/system.d.ts +7 -0
  33. package/dist/types/api/webhooks/system.d.ts.map +1 -0
  34. package/dist/types/dev-server.d.ts +5 -0
  35. package/dist/types/dev-server.d.ts.map +1 -1
  36. package/dist/types/index.d.ts +3 -5
  37. package/dist/types/index.d.ts.map +1 -1
  38. package/package.json +4 -4
  39. package/dist/src/api.js +0 -2839
  40. package/dist/types/api.d.ts.map +0 -1
@@ -0,0 +1,707 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _async_to_generator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ function _define_property(obj, key, value) {
31
+ if (key in obj) {
32
+ Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ } else {
39
+ obj[key] = value;
40
+ }
41
+ return obj;
42
+ }
43
+ function _instanceof(left, right) {
44
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
45
+ return !!right[Symbol.hasInstance](left);
46
+ } else {
47
+ return left instanceof right;
48
+ }
49
+ }
50
+ function _object_spread(target) {
51
+ for(var i = 1; i < arguments.length; i++){
52
+ var source = arguments[i] != null ? arguments[i] : {};
53
+ var ownKeys = Object.keys(source);
54
+ if (typeof Object.getOwnPropertySymbols === "function") {
55
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
56
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
57
+ }));
58
+ }
59
+ ownKeys.forEach(function(key) {
60
+ _define_property(target, key, source[key]);
61
+ });
62
+ }
63
+ return target;
64
+ }
65
+ function ownKeys(object, enumerableOnly) {
66
+ var keys = Object.keys(object);
67
+ if (Object.getOwnPropertySymbols) {
68
+ var symbols = Object.getOwnPropertySymbols(object);
69
+ if (enumerableOnly) {
70
+ symbols = symbols.filter(function(sym) {
71
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
72
+ });
73
+ }
74
+ keys.push.apply(keys, symbols);
75
+ }
76
+ return keys;
77
+ }
78
+ function _object_spread_props(target, source) {
79
+ source = source != null ? source : {};
80
+ if (Object.getOwnPropertyDescriptors) {
81
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
82
+ } else {
83
+ ownKeys(Object(source)).forEach(function(key) {
84
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
85
+ });
86
+ }
87
+ return target;
88
+ }
89
+ function _ts_generator(thisArg, body) {
90
+ var f, y, t, _ = {
91
+ label: 0,
92
+ sent: function() {
93
+ if (t[0] & 1) throw t[1];
94
+ return t[1];
95
+ },
96
+ trys: [],
97
+ ops: []
98
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
99
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
100
+ return this;
101
+ }), g;
102
+ function verb(n) {
103
+ return function(v) {
104
+ return step([
105
+ n,
106
+ v
107
+ ]);
108
+ };
109
+ }
110
+ function step(op) {
111
+ if (f) throw new TypeError("Generator is already executing.");
112
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
113
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
114
+ if (y = 0, t) op = [
115
+ op[0] & 2,
116
+ t.value
117
+ ];
118
+ switch(op[0]){
119
+ case 0:
120
+ case 1:
121
+ t = op;
122
+ break;
123
+ case 4:
124
+ _.label++;
125
+ return {
126
+ value: op[1],
127
+ done: false
128
+ };
129
+ case 5:
130
+ _.label++;
131
+ y = op[1];
132
+ op = [
133
+ 0
134
+ ];
135
+ continue;
136
+ case 7:
137
+ op = _.ops.pop();
138
+ _.trys.pop();
139
+ continue;
140
+ default:
141
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
142
+ _ = 0;
143
+ continue;
144
+ }
145
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
146
+ _.label = op[1];
147
+ break;
148
+ }
149
+ if (op[0] === 6 && _.label < t[1]) {
150
+ _.label = t[1];
151
+ t = op;
152
+ break;
153
+ }
154
+ if (t && _.label < t[2]) {
155
+ _.label = t[2];
156
+ _.ops.push(op);
157
+ break;
158
+ }
159
+ if (t[2]) _.ops.pop();
160
+ _.trys.pop();
161
+ continue;
162
+ }
163
+ op = body.call(thisArg, _);
164
+ } catch (e) {
165
+ op = [
166
+ 6,
167
+ e
168
+ ];
169
+ y = 0;
170
+ } finally{
171
+ f = t = 0;
172
+ }
173
+ if (op[0] & 5) throw op[1];
174
+ return {
175
+ value: op[0] ? op[1] : void 0,
176
+ done: true
177
+ };
178
+ }
179
+ }
180
+ import { Hono } from 'hono';
181
+ /**
182
+ * Helper to check if Cloudflare API credentials are configured
183
+ */ function getSecretsApiConfig(env) {
184
+ var CLOUDFLARE_API_TOKEN = env.CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID = env.CLOUDFLARE_ACCOUNT_ID, CF_SCRIPT_NAME = env.CF_SCRIPT_NAME;
185
+ if (!CLOUDFLARE_API_TOKEN || !CLOUDFLARE_ACCOUNT_ID || !CF_SCRIPT_NAME) {
186
+ return null;
187
+ }
188
+ return {
189
+ accountId: CLOUDFLARE_ACCOUNT_ID,
190
+ scriptName: CF_SCRIPT_NAME,
191
+ apiToken: CLOUDFLARE_API_TOKEN
192
+ };
193
+ }
194
+ /**
195
+ * Helper to make Cloudflare API requests for secrets
196
+ */ function cloudflareSecretsApi(_0, _1) {
197
+ return _async_to_generator(function(config, path) {
198
+ var options, baseUrl, url;
199
+ var _arguments = arguments;
200
+ return _ts_generator(this, function(_state) {
201
+ options = _arguments.length > 2 && _arguments[2] !== void 0 ? _arguments[2] : {};
202
+ baseUrl = "https://api.cloudflare.com/client/v4/accounts/".concat(config.accountId, "/workers/scripts/").concat(config.scriptName, "/secrets");
203
+ url = path ? "".concat(baseUrl, "/").concat(path) : baseUrl;
204
+ return [
205
+ 2,
206
+ fetch(url, _object_spread_props(_object_spread({}, options), {
207
+ headers: _object_spread({
208
+ 'Authorization': "Bearer ".concat(config.apiToken),
209
+ 'Content-Type': 'application/json'
210
+ }, options.headers)
211
+ }))
212
+ ];
213
+ });
214
+ }).apply(this, arguments);
215
+ }
216
+ var secrets = new Hono();
217
+ // List all secrets (names only, not values)
218
+ secrets.get('/', function(context) {
219
+ return _async_to_generator(function() {
220
+ var config, response, data, _data_errors_, _data_errors, errorMessage, now, secretList, error;
221
+ return _ts_generator(this, function(_state) {
222
+ switch(_state.label){
223
+ case 0:
224
+ config = getSecretsApiConfig(context.env);
225
+ if (!config) {
226
+ return [
227
+ 2,
228
+ context.json({
229
+ error: 'Secrets management not configured. Please set CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, and CF_SCRIPT_NAME.'
230
+ }, 400)
231
+ ];
232
+ }
233
+ _state.label = 1;
234
+ case 1:
235
+ _state.trys.push([
236
+ 1,
237
+ 4,
238
+ ,
239
+ 5
240
+ ]);
241
+ return [
242
+ 4,
243
+ cloudflareSecretsApi(config, '')
244
+ ];
245
+ case 2:
246
+ response = _state.sent();
247
+ return [
248
+ 4,
249
+ response.json()
250
+ ];
251
+ case 3:
252
+ data = _state.sent();
253
+ if (!data.success) {
254
+ ;
255
+ errorMessage = ((_data_errors = data.errors) === null || _data_errors === void 0 ? void 0 : (_data_errors_ = _data_errors[0]) === null || _data_errors_ === void 0 ? void 0 : _data_errors_.message) || 'Failed to list secrets';
256
+ return [
257
+ 2,
258
+ context.json({
259
+ error: errorMessage
260
+ }, 500)
261
+ ];
262
+ }
263
+ // Transform to match spec format - Cloudflare API doesn't return timestamps
264
+ // so we use placeholder values
265
+ now = new Date().toISOString();
266
+ secretList = data.result.map(function(secret) {
267
+ return {
268
+ name: secret.name,
269
+ createdAt: now,
270
+ updatedAt: now
271
+ };
272
+ });
273
+ return [
274
+ 2,
275
+ context.json({
276
+ secrets: secretList,
277
+ count: secretList.length
278
+ })
279
+ ];
280
+ case 4:
281
+ error = _state.sent();
282
+ console.error('Error listing secrets:', error);
283
+ return [
284
+ 2,
285
+ context.json({
286
+ error: "Failed to list secrets: ".concat(_instanceof(error, Error) ? error.message : 'Unknown error')
287
+ }, 500)
288
+ ];
289
+ case 5:
290
+ return [
291
+ 2
292
+ ];
293
+ }
294
+ });
295
+ })();
296
+ });
297
+ // Create or update a secret
298
+ secrets.post('/', function(context) {
299
+ return _async_to_generator(function() {
300
+ var config, body, name, value, response, data, _data_errors_, _data_errors, errorMessage, now, error;
301
+ return _ts_generator(this, function(_state) {
302
+ switch(_state.label){
303
+ case 0:
304
+ config = getSecretsApiConfig(context.env);
305
+ if (!config) {
306
+ return [
307
+ 2,
308
+ context.json({
309
+ error: 'Secrets management not configured. Please set CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, and CF_SCRIPT_NAME.'
310
+ }, 400)
311
+ ];
312
+ }
313
+ _state.label = 1;
314
+ case 1:
315
+ _state.trys.push([
316
+ 1,
317
+ 5,
318
+ ,
319
+ 6
320
+ ]);
321
+ return [
322
+ 4,
323
+ context.req.json()
324
+ ];
325
+ case 2:
326
+ body = _state.sent();
327
+ name = body.name, value = body.value;
328
+ if (!name) {
329
+ return [
330
+ 2,
331
+ context.json({
332
+ error: 'Missing required field "name"'
333
+ }, 400)
334
+ ];
335
+ }
336
+ if (value === undefined) {
337
+ return [
338
+ 2,
339
+ context.json({
340
+ error: 'Missing required field "value"'
341
+ }, 400)
342
+ ];
343
+ }
344
+ return [
345
+ 4,
346
+ cloudflareSecretsApi(config, '', {
347
+ method: 'PUT',
348
+ body: JSON.stringify({
349
+ name: name,
350
+ text: value,
351
+ type: 'secret_text'
352
+ })
353
+ })
354
+ ];
355
+ case 3:
356
+ response = _state.sent();
357
+ return [
358
+ 4,
359
+ response.json()
360
+ ];
361
+ case 4:
362
+ data = _state.sent();
363
+ if (!data.success) {
364
+ ;
365
+ errorMessage = ((_data_errors = data.errors) === null || _data_errors === void 0 ? void 0 : (_data_errors_ = _data_errors[0]) === null || _data_errors_ === void 0 ? void 0 : _data_errors_.message) || 'Failed to create secret';
366
+ return [
367
+ 2,
368
+ context.json({
369
+ error: errorMessage
370
+ }, 500)
371
+ ];
372
+ }
373
+ now = new Date().toISOString();
374
+ return [
375
+ 2,
376
+ context.json({
377
+ name: name,
378
+ createdAt: now,
379
+ updatedAt: now
380
+ }, 201)
381
+ ];
382
+ case 5:
383
+ error = _state.sent();
384
+ console.error('Error creating secret:', error);
385
+ return [
386
+ 2,
387
+ context.json({
388
+ error: "Failed to create secret: ".concat(_instanceof(error, Error) ? error.message : 'Unknown error')
389
+ }, 500)
390
+ ];
391
+ case 6:
392
+ return [
393
+ 2
394
+ ];
395
+ }
396
+ });
397
+ })();
398
+ });
399
+ // Delete a secret
400
+ secrets.delete('/:name', function(context) {
401
+ return _async_to_generator(function() {
402
+ var config, name, response, data, _data_errors_, _data_errors, errorMessage, error;
403
+ return _ts_generator(this, function(_state) {
404
+ switch(_state.label){
405
+ case 0:
406
+ config = getSecretsApiConfig(context.env);
407
+ if (!config) {
408
+ return [
409
+ 2,
410
+ context.json({
411
+ error: 'Secrets management not configured. Please set CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, and CF_SCRIPT_NAME.'
412
+ }, 400)
413
+ ];
414
+ }
415
+ name = decodeURIComponent(context.req.param('name'));
416
+ _state.label = 1;
417
+ case 1:
418
+ _state.trys.push([
419
+ 1,
420
+ 4,
421
+ ,
422
+ 5
423
+ ]);
424
+ return [
425
+ 4,
426
+ cloudflareSecretsApi(config, encodeURIComponent(name), {
427
+ method: 'DELETE'
428
+ })
429
+ ];
430
+ case 2:
431
+ response = _state.sent();
432
+ return [
433
+ 4,
434
+ response.json()
435
+ ];
436
+ case 3:
437
+ data = _state.sent();
438
+ if (!data.success) {
439
+ ;
440
+ errorMessage = ((_data_errors = data.errors) === null || _data_errors === void 0 ? void 0 : (_data_errors_ = _data_errors[0]) === null || _data_errors_ === void 0 ? void 0 : _data_errors_.message) || 'Failed to delete secret';
441
+ return [
442
+ 2,
443
+ context.json({
444
+ error: errorMessage
445
+ }, 500)
446
+ ];
447
+ }
448
+ return [
449
+ 2,
450
+ new Response(null, {
451
+ status: 204
452
+ })
453
+ ];
454
+ case 4:
455
+ error = _state.sent();
456
+ console.error("Error deleting secret ".concat(name, ":"), error);
457
+ return [
458
+ 2,
459
+ context.json({
460
+ error: "Failed to delete secret: ".concat(_instanceof(error, Error) ? error.message : 'Unknown error')
461
+ }, 500)
462
+ ];
463
+ case 5:
464
+ return [
465
+ 2
466
+ ];
467
+ }
468
+ });
469
+ })();
470
+ });
471
+ // Check if a secret exists
472
+ secrets.get('/:name/exists', function(context) {
473
+ return _async_to_generator(function() {
474
+ var config, name, response, data, _data_errors_, _data_errors, errorMessage, exists, error;
475
+ return _ts_generator(this, function(_state) {
476
+ switch(_state.label){
477
+ case 0:
478
+ config = getSecretsApiConfig(context.env);
479
+ if (!config) {
480
+ return [
481
+ 2,
482
+ context.json({
483
+ error: 'Secrets management not configured. Please set CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, and CF_SCRIPT_NAME.'
484
+ }, 400)
485
+ ];
486
+ }
487
+ name = decodeURIComponent(context.req.param('name'));
488
+ _state.label = 1;
489
+ case 1:
490
+ _state.trys.push([
491
+ 1,
492
+ 4,
493
+ ,
494
+ 5
495
+ ]);
496
+ return [
497
+ 4,
498
+ cloudflareSecretsApi(config, '')
499
+ ];
500
+ case 2:
501
+ response = _state.sent();
502
+ return [
503
+ 4,
504
+ response.json()
505
+ ];
506
+ case 3:
507
+ data = _state.sent();
508
+ if (!data.success) {
509
+ ;
510
+ errorMessage = ((_data_errors = data.errors) === null || _data_errors === void 0 ? void 0 : (_data_errors_ = _data_errors[0]) === null || _data_errors_ === void 0 ? void 0 : _data_errors_.message) || 'Failed to check secret';
511
+ return [
512
+ 2,
513
+ context.json({
514
+ error: errorMessage
515
+ }, 500)
516
+ ];
517
+ }
518
+ exists = data.result.some(function(secret) {
519
+ return secret.name === name;
520
+ });
521
+ return [
522
+ 2,
523
+ context.json({
524
+ exists: exists
525
+ })
526
+ ];
527
+ case 4:
528
+ error = _state.sent();
529
+ console.error("Error checking secret ".concat(name, ":"), error);
530
+ return [
531
+ 2,
532
+ context.json({
533
+ error: "Failed to check secret: ".concat(_instanceof(error, Error) ? error.message : 'Unknown error')
534
+ }, 500)
535
+ ];
536
+ case 5:
537
+ return [
538
+ 2
539
+ ];
540
+ }
541
+ });
542
+ })();
543
+ });
544
+ // Bulk create secrets
545
+ secrets.post('/bulk', function(context) {
546
+ return _async_to_generator(function() {
547
+ var config, body, secretsArray, listResponse, listData, existingNames, created, updated, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, secret, response, data, err, error;
548
+ return _ts_generator(this, function(_state) {
549
+ switch(_state.label){
550
+ case 0:
551
+ config = getSecretsApiConfig(context.env);
552
+ if (!config) {
553
+ return [
554
+ 2,
555
+ context.json({
556
+ error: 'Secrets management not configured. Please set CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, and CF_SCRIPT_NAME.'
557
+ }, 400)
558
+ ];
559
+ }
560
+ _state.label = 1;
561
+ case 1:
562
+ _state.trys.push([
563
+ 1,
564
+ 14,
565
+ ,
566
+ 15
567
+ ]);
568
+ return [
569
+ 4,
570
+ context.req.json()
571
+ ];
572
+ case 2:
573
+ body = _state.sent();
574
+ secretsArray = body.secrets;
575
+ if (!secretsArray || !Array.isArray(secretsArray)) {
576
+ return [
577
+ 2,
578
+ context.json({
579
+ error: 'Missing required field "secrets" (array)'
580
+ }, 400)
581
+ ];
582
+ }
583
+ return [
584
+ 4,
585
+ cloudflareSecretsApi(config, '')
586
+ ];
587
+ case 3:
588
+ listResponse = _state.sent();
589
+ return [
590
+ 4,
591
+ listResponse.json()
592
+ ];
593
+ case 4:
594
+ listData = _state.sent();
595
+ existingNames = new Set(listData.success ? listData.result.map(function(s) {
596
+ return s.name;
597
+ }) : []);
598
+ created = 0;
599
+ updated = 0;
600
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
601
+ _state.label = 5;
602
+ case 5:
603
+ _state.trys.push([
604
+ 5,
605
+ 11,
606
+ 12,
607
+ 13
608
+ ]);
609
+ _iterator = secretsArray[Symbol.iterator]();
610
+ _state.label = 6;
611
+ case 6:
612
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
613
+ 3,
614
+ 10
615
+ ];
616
+ secret = _step.value;
617
+ if (!secret.name || secret.value === undefined) {
618
+ return [
619
+ 3,
620
+ 9
621
+ ]; // Skip invalid entries
622
+ }
623
+ return [
624
+ 4,
625
+ cloudflareSecretsApi(config, '', {
626
+ method: 'PUT',
627
+ body: JSON.stringify({
628
+ name: secret.name,
629
+ text: secret.value,
630
+ type: 'secret_text'
631
+ })
632
+ })
633
+ ];
634
+ case 7:
635
+ response = _state.sent();
636
+ return [
637
+ 4,
638
+ response.json()
639
+ ];
640
+ case 8:
641
+ data = _state.sent();
642
+ if (data.success) {
643
+ if (existingNames.has(secret.name)) {
644
+ updated++;
645
+ } else {
646
+ created++;
647
+ }
648
+ }
649
+ _state.label = 9;
650
+ case 9:
651
+ _iteratorNormalCompletion = true;
652
+ return [
653
+ 3,
654
+ 6
655
+ ];
656
+ case 10:
657
+ return [
658
+ 3,
659
+ 13
660
+ ];
661
+ case 11:
662
+ err = _state.sent();
663
+ _didIteratorError = true;
664
+ _iteratorError = err;
665
+ return [
666
+ 3,
667
+ 13
668
+ ];
669
+ case 12:
670
+ try {
671
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
672
+ _iterator.return();
673
+ }
674
+ } finally{
675
+ if (_didIteratorError) {
676
+ throw _iteratorError;
677
+ }
678
+ }
679
+ return [
680
+ 7
681
+ ];
682
+ case 13:
683
+ return [
684
+ 2,
685
+ context.json({
686
+ created: created,
687
+ updated: updated
688
+ }, 201)
689
+ ];
690
+ case 14:
691
+ error = _state.sent();
692
+ console.error('Error bulk creating secrets:', error);
693
+ return [
694
+ 2,
695
+ context.json({
696
+ error: "Failed to bulk create secrets: ".concat(_instanceof(error, Error) ? error.message : 'Unknown error')
697
+ }, 500)
698
+ ];
699
+ case 15:
700
+ return [
701
+ 2
702
+ ];
703
+ }
704
+ });
705
+ })();
706
+ });
707
+ export default secrets;
@@ -0,0 +1 @@
1
+ export { };