@geekmidas/constructs 10.0.0-alpha.118 → 10.0.0-alpha.119

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 (117) hide show
  1. package/dist/{Construct-BQALFCh2.d.cts → Construct-B7AXn0xH.d.mts} +7 -7
  2. package/dist/{Construct-BQALFCh2.d.cts.map → Construct-B7AXn0xH.d.mts.map} +1 -1
  3. package/dist/{Construct-QXnl3VqT.d.mts → Construct-CFW0zjdD.d.cts} +7 -7
  4. package/dist/{Construct-QXnl3VqT.d.mts.map → Construct-CFW0zjdD.d.cts.map} +1 -1
  5. package/dist/{Cron-CQJqqkhY.d.mts → Cron-bdGRSROY.d.cts} +7 -7
  6. package/dist/{Cron-CQJqqkhY.d.mts.map → Cron-bdGRSROY.d.cts.map} +1 -1
  7. package/dist/{Cron-DI3nKoic.d.cts → Cron-i4Uetezh.d.mts} +7 -7
  8. package/dist/{Cron-DI3nKoic.d.cts.map → Cron-i4Uetezh.d.mts.map} +1 -1
  9. package/dist/{CronBuilder-Xx_zakuc.d.mts → CronBuilder-9H4BnD6W.d.mts} +6 -6
  10. package/dist/{CronBuilder-Xx_zakuc.d.mts.map → CronBuilder-9H4BnD6W.d.mts.map} +1 -1
  11. package/dist/{CronBuilder-g1lZLWyG.d.cts → CronBuilder-B_24LZpn.d.cts} +6 -6
  12. package/dist/{CronBuilder-g1lZLWyG.d.cts.map → CronBuilder-B_24LZpn.d.cts.map} +1 -1
  13. package/dist/{Endpoint-CrE9Ppdk.d.mts → Endpoint-CeFkSwh5.d.mts} +5 -5
  14. package/dist/{Endpoint-BWyKCa2x.d.cts.map → Endpoint-CeFkSwh5.d.mts.map} +1 -1
  15. package/dist/{Endpoint-BWyKCa2x.d.cts → Endpoint-DgrpG15P.d.cts} +5 -5
  16. package/dist/{Endpoint-CrE9Ppdk.d.mts.map → Endpoint-DgrpG15P.d.cts.map} +1 -1
  17. package/dist/{EndpointFactory-BVv6EIDu.cjs → EndpointFactory-CSrAyazj.cjs} +264 -1
  18. package/dist/EndpointFactory-CSrAyazj.cjs.map +1 -0
  19. package/dist/{EndpointFactory-C1-IBwm4.d.cts → EndpointFactory-Cc863XJS.d.cts} +111 -6
  20. package/dist/EndpointFactory-Cc863XJS.d.cts.map +1 -0
  21. package/dist/{EndpointFactory-BV-nfnaP.d.mts → EndpointFactory-Dbw9ugkX.d.mts} +111 -6
  22. package/dist/EndpointFactory-Dbw9ugkX.d.mts.map +1 -0
  23. package/dist/{EndpointFactory-Cs8IHvwF.mjs → EndpointFactory-c2ZugGig.mjs} +223 -2
  24. package/dist/EndpointFactory-c2ZugGig.mjs.map +1 -0
  25. package/dist/{Function-DuqGcbOI.d.mts → Function-B0uZhZnU.d.cts} +5 -5
  26. package/dist/{Function-DuqGcbOI.d.mts.map → Function-B0uZhZnU.d.cts.map} +1 -1
  27. package/dist/{Function-Pu-1kKZz.d.cts → Function-B_9R7Zy1.d.mts} +5 -5
  28. package/dist/{Function-Pu-1kKZz.d.cts.map → Function-B_9R7Zy1.d.mts.map} +1 -1
  29. package/dist/{Queue-DlsHRzUp.d.mts → Queue-B-dDXyjF.d.mts} +4 -4
  30. package/dist/{Queue-DlsHRzUp.d.mts.map → Queue-B-dDXyjF.d.mts.map} +1 -1
  31. package/dist/{Queue-HPyi0e1i.d.cts → Queue-JbIjVtTf.d.cts} +4 -4
  32. package/dist/{Queue-HPyi0e1i.d.cts.map → Queue-JbIjVtTf.d.cts.map} +1 -1
  33. package/dist/{QueueBuilder-Cx9lKC5d.d.mts → QueueBuilder-48W-q8In.d.mts} +3 -3
  34. package/dist/{QueueBuilder-Cx9lKC5d.d.mts.map → QueueBuilder-48W-q8In.d.mts.map} +1 -1
  35. package/dist/{QueueBuilder-OSi6LkV9.d.cts → QueueBuilder-MfpkJ3R9.d.cts} +3 -3
  36. package/dist/{QueueBuilder-OSi6LkV9.d.cts.map → QueueBuilder-MfpkJ3R9.d.cts.map} +1 -1
  37. package/dist/{Subscriber-Bpp02cGr.d.cts → Subscriber-CEt7kHkc.d.cts} +4 -4
  38. package/dist/{Subscriber-Bpp02cGr.d.cts.map → Subscriber-CEt7kHkc.d.cts.map} +1 -1
  39. package/dist/{Subscriber-CtN9R48-.d.mts → Subscriber-dsxc5LKa.d.mts} +4 -4
  40. package/dist/{Subscriber-CtN9R48-.d.mts.map → Subscriber-dsxc5LKa.d.mts.map} +1 -1
  41. package/dist/{SubscriberBuilder-g3fAVWgs.d.cts → SubscriberBuilder-BRa_nrmH.d.cts} +4 -4
  42. package/dist/{SubscriberBuilder-4DWe9feX.d.mts.map → SubscriberBuilder-BRa_nrmH.d.cts.map} +1 -1
  43. package/dist/{SubscriberBuilder-4DWe9feX.d.mts → SubscriberBuilder-D9bkrYzH.d.mts} +4 -4
  44. package/dist/{SubscriberBuilder-g3fAVWgs.d.cts.map → SubscriberBuilder-D9bkrYzH.d.mts.map} +1 -1
  45. package/dist/adaptors/aws.d.cts +6 -6
  46. package/dist/adaptors/aws.d.mts +6 -6
  47. package/dist/adaptors/hono.d.cts +2 -2
  48. package/dist/adaptors/hono.d.mts +2 -2
  49. package/dist/adaptors/testing.d.cts +6 -6
  50. package/dist/adaptors/testing.d.mts +6 -6
  51. package/dist/credential.d.cts +1 -1
  52. package/dist/credential.d.mts +1 -1
  53. package/dist/crons/index.d.cts +2 -2
  54. package/dist/crons/index.d.mts +2 -2
  55. package/dist/endpoints/index.cjs +8 -1
  56. package/dist/endpoints/index.d.cts +4 -4
  57. package/dist/endpoints/index.d.mts +4 -4
  58. package/dist/endpoints/index.mjs +2 -2
  59. package/dist/expire-C586zznE.d.cts +38 -0
  60. package/dist/expire-C586zznE.d.cts.map +1 -0
  61. package/dist/expire-C586zznE.d.mts +38 -0
  62. package/dist/expire-C586zznE.d.mts.map +1 -0
  63. package/dist/expire-CieftS01.cjs +67 -0
  64. package/dist/expire-CieftS01.cjs.map +1 -0
  65. package/dist/expire-CpzUAfr9.mjs +50 -0
  66. package/dist/expire-CpzUAfr9.mjs.map +1 -0
  67. package/dist/external-api.d.cts +1 -1
  68. package/dist/external-api.d.mts +1 -1
  69. package/dist/{fake-Dvion_Fh.d.cts → fake-B7rvi4Qp.d.cts} +2 -2
  70. package/dist/{fake-DqKo8INJ.d.mts.map → fake-B7rvi4Qp.d.cts.map} +1 -1
  71. package/dist/{fake-DqKo8INJ.d.mts → fake-JXbkdao8.d.mts} +2 -2
  72. package/dist/{fake-Dvion_Fh.d.cts.map → fake-JXbkdao8.d.mts.map} +1 -1
  73. package/dist/file-server.cjs +24 -1
  74. package/dist/file-server.cjs.map +1 -1
  75. package/dist/file-server.d.cts +19 -0
  76. package/dist/file-server.d.cts.map +1 -1
  77. package/dist/file-server.d.mts +19 -0
  78. package/dist/file-server.d.mts.map +1 -1
  79. package/dist/file-server.mjs +24 -2
  80. package/dist/file-server.mjs.map +1 -1
  81. package/dist/functions/index.d.cts +2 -2
  82. package/dist/functions/index.d.mts +2 -2
  83. package/dist/{index-BuzRvKOQ.d.cts → index-Cd2w-DRL.d.cts} +4 -4
  84. package/dist/{index-B13kQB_U.d.mts.map → index-Cd2w-DRL.d.cts.map} +1 -1
  85. package/dist/{index-CeEtxDmK.d.cts → index-DdRjYhiJ.d.cts} +42 -2
  86. package/dist/{index-CeEtxDmK.d.cts.map → index-DdRjYhiJ.d.cts.map} +1 -1
  87. package/dist/{index-CeEtxDmK.d.mts → index-DdRjYhiJ.d.mts} +42 -2
  88. package/dist/{index-CeEtxDmK.d.mts.map → index-DdRjYhiJ.d.mts.map} +1 -1
  89. package/dist/{index-B13kQB_U.d.mts → index-aBIcAiH5.d.mts} +4 -4
  90. package/dist/{index-BuzRvKOQ.d.cts.map → index-aBIcAiH5.d.mts.map} +1 -1
  91. package/dist/index.d.cts +1 -1
  92. package/dist/index.d.mts +1 -1
  93. package/dist/object-storage.cjs +8 -1
  94. package/dist/object-storage.cjs.map +1 -1
  95. package/dist/object-storage.d.cts +9 -0
  96. package/dist/object-storage.d.cts.map +1 -1
  97. package/dist/object-storage.d.mts +9 -0
  98. package/dist/object-storage.d.mts.map +1 -1
  99. package/dist/object-storage.mjs +7 -2
  100. package/dist/object-storage.mjs.map +1 -1
  101. package/dist/queue/index.d.cts +2 -2
  102. package/dist/queue/index.d.mts +2 -2
  103. package/dist/rest-api.cjs +1 -1
  104. package/dist/rest-api.d.cts +2 -2
  105. package/dist/rest-api.d.mts +2 -2
  106. package/dist/rest-api.mjs +1 -1
  107. package/dist/subscribers/index.d.cts +2 -2
  108. package/dist/subscribers/index.d.mts +2 -2
  109. package/dist/topic/index.d.cts +1 -1
  110. package/dist/topic/index.d.mts +1 -1
  111. package/dist/worker.d.cts +8 -8
  112. package/dist/worker.d.mts +8 -8
  113. package/package.json +31 -31
  114. package/dist/EndpointFactory-BV-nfnaP.d.mts.map +0 -1
  115. package/dist/EndpointFactory-BVv6EIDu.cjs.map +0 -1
  116. package/dist/EndpointFactory-C1-IBwm4.d.cts.map +0 -1
  117. package/dist/EndpointFactory-Cs8IHvwF.mjs.map +0 -1
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_expire = require("./expire-CieftS01.cjs");
2
3
  let _geekmidas_manifest = require("@geekmidas/manifest");
3
4
  let _geekmidas_storage = require("@geekmidas/storage");
4
5
  //#region src/object-storage.ts
@@ -20,11 +21,14 @@ var ObjectStorage = class {
20
21
  * of the construct owning both faces.
21
22
  */
22
23
  keys;
24
+ /** Checked once, at declaration: prefix → days. */
25
+ expire;
23
26
  constructor(id, options = {}) {
24
27
  this.options = options;
25
28
  const canonical = (0, _geekmidas_manifest.canonicalId)(id);
26
29
  this.id = canonical;
27
30
  this.keys = { url: (0, _geekmidas_manifest.provideKey)(canonical, "url") };
31
+ this.expire = require_expire.expiryDays(canonical, options.expire);
28
32
  this.service = {
29
33
  serviceName: (0, _geekmidas_manifest.serviceKey)(canonical),
30
34
  register: (options) => this.connect(options)
@@ -35,7 +39,8 @@ var ObjectStorage = class {
35
39
  kind: "objects",
36
40
  id: this.id,
37
41
  provides: [this.keys.url],
38
- ...this.options.versioned ? { versioned: true } : {}
42
+ ...this.options.versioned ? { versioned: true } : {},
43
+ ...this.expire ? { expire: this.expire } : {}
39
44
  }];
40
45
  }
41
46
  /**
@@ -51,6 +56,8 @@ var ObjectStorage = class {
51
56
  }
52
57
  };
53
58
  //#endregion
59
+ exports.ExpiryDaysInvalid = require_expire.ExpiryDaysInvalid;
60
+ exports.ExpiryPrefixInvalid = require_expire.ExpiryPrefixInvalid;
54
61
  exports.ObjectStorage = ObjectStorage;
55
62
 
56
63
  //# sourceMappingURL=object-storage.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-storage.cjs","names":["canonicalId","provideKey","serviceKey","createStorageClient"],"sources":["../src/object-storage.ts"],"sourcesContent":["/**\n * `ObjectStorage` — a declared bucket.\n *\n * Where the three packages meet: it implements the construct contract, derives\n * its env key through `@geekmidas/manifest`, and hands back a\n * `@geekmidas/storage` client. It names no cloud — `--target=aws` fills the\n * injected URL with S3's values, local dev with MinIO's.\n */\n\nimport {\n\ttype ConstructName,\n\tcanonicalId,\n\ttype Declaration,\n\tprovideKey,\n\tserviceKey,\n} from '@geekmidas/manifest';\nimport type { Service, ServiceRegisterOptions } from '@geekmidas/services';\nimport { createStorageClient, type StorageClient } from '@geekmidas/storage';\nimport type { Construct } from './construct-interface';\n\nexport interface ObjectStorageOptions {\n\t/** Keep previous versions of an object. */\n\tversioned?: boolean;\n}\n\nexport class ObjectStorage<TName extends string = string>\n\timplements Construct<TName, StorageClient>\n{\n\treadonly id: TName;\n\treadonly service: Service<Uncapitalize<TName>, StorageClient>;\n\n\t/**\n\t * Declared once and read by both `declare()` and `connect()`, so the key the\n\t * build publishes and the key the client reads cannot drift — the whole point\n\t * of the construct owning both faces.\n\t */\n\tprivate readonly keys: { url: string };\n\n\tconstructor(\n\t\tid: ConstructName<TName>,\n\t\tprivate readonly options: ObjectStorageOptions = {},\n\t) {\n\t\t// Canonicalises, so `uploads` and `Uploads` are one construct rather than\n\t\t// two that collide. Throws on anything that cannot become a valid id.\n\t\tconst canonical = canonicalId(id as string);\n\n\t\tthis.id = canonical as TName;\n\t\tthis.keys = { url: provideKey(canonical, 'url') };\n\n\t\t// A field, not a getter: consumers cache services by object identity.\n\t\tthis.service = {\n\t\t\tserviceName: serviceKey(canonical) as Uncapitalize<TName>,\n\t\t\tregister: (options) => this.connect(options),\n\t\t};\n\t}\n\n\tdeclare(): Declaration[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tkind: 'objects',\n\t\t\t\tid: this.id,\n\t\t\t\tprovides: [this.keys.url],\n\t\t\t\t...(this.options.versioned ? { versioned: true } : {}),\n\t\t\t},\n\t\t];\n\t}\n\n\t/**\n\t * Builds the client from the single URL the adapter supplied.\n\t *\n\t * The URL's scheme selects the driver, so this construct imports no provider\n\t * and an app that never touches S3 never resolves the AWS SDK. Whoever\n\t * assembles the application registers the drivers its target needs.\n\t */\n\tprivate async connect({\n\t\tenvParser,\n\t}: ServiceRegisterOptions): Promise<StorageClient> {\n\t\tconst { url } = envParser\n\t\t\t.create((get) => ({ url: get(this.keys.url).string() }))\n\t\t\t.parse();\n\n\t\treturn createStorageClient(url);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAyBA,IAAa,gBAAb,MAEA;CAamB;CAZlB;CACA;;;;;;CAOA;CAEA,YACC,IACA,UAAiD,CAAC,GACjD;EADgB,KAAA,UAAA;EAIjB,MAAM,aAAA,GAAYA,oBAAAA,YAAAA,CAAY,EAAY;EAE1C,KAAK,KAAK;EACV,KAAK,OAAO,EAAE,MAAA,GAAKC,oBAAAA,WAAAA,CAAW,WAAW,KAAK,EAAE;EAGhD,KAAK,UAAU;GACd,cAAA,GAAaC,oBAAAA,WAAAA,CAAW,SAAS;GACjC,WAAW,YAAY,KAAK,QAAQ,OAAO;EAC5C;CACD;CAEA,UAAyB;EACxB,OAAO,CACN;GACC,MAAM;GACN,IAAI,KAAK;GACT,UAAU,CAAC,KAAK,KAAK,GAAG;GACxB,GAAI,KAAK,QAAQ,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC;EACrD,CACD;CACD;;;;;;;;CASA,MAAc,QAAQ,EACrB,aACkD;EAClD,MAAM,EAAE,QAAQ,UACd,QAAQ,SAAS,EAAE,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACvD,MAAM;EAER,QAAA,GAAOC,mBAAAA,oBAAAA,CAAoB,GAAG;CAC/B;AACD"}
1
+ {"version":3,"file":"object-storage.cjs","names":["canonicalId","provideKey","expiryDays","serviceKey","createStorageClient"],"sources":["../src/object-storage.ts"],"sourcesContent":["/**\n * `ObjectStorage` — a declared bucket.\n *\n * Where the three packages meet: it implements the construct contract, derives\n * its env key through `@geekmidas/manifest`, and hands back a\n * `@geekmidas/storage` client. It names no cloud — `--target=aws` fills the\n * injected URL with S3's values, local dev with MinIO's.\n */\n\nimport {\n\ttype ConstructName,\n\tcanonicalId,\n\ttype Declaration,\n\tprovideKey,\n\tserviceKey,\n} from '@geekmidas/manifest';\nimport type { Service, ServiceRegisterOptions } from '@geekmidas/services';\nimport { createStorageClient, type StorageClient } from '@geekmidas/storage';\nimport type { Construct } from './construct-interface';\nimport { expiryDays, type ObjectExpiry } from './expire';\n\nexport {\n\tExpiryDaysInvalid,\n\tExpiryPrefixInvalid,\n\ttype ObjectExpiry,\n} from './expire';\n\nexport interface ObjectStorageOptions {\n\t/** Keep previous versions of an object. */\n\tversioned?: boolean;\n\t/**\n\t * Delete the objects under each prefix this many days after they were\n\t * written — `{ 'quotes/': { days: 30 } }`.\n\t */\n\texpire?: ObjectExpiry;\n}\n\nexport class ObjectStorage<TName extends string = string>\n\timplements Construct<TName, StorageClient>\n{\n\treadonly id: TName;\n\treadonly service: Service<Uncapitalize<TName>, StorageClient>;\n\n\t/**\n\t * Declared once and read by both `declare()` and `connect()`, so the key the\n\t * build publishes and the key the client reads cannot drift — the whole point\n\t * of the construct owning both faces.\n\t */\n\tprivate readonly keys: { url: string };\n\n\t/** Checked once, at declaration: prefix → days. */\n\tprivate readonly expire: Record<string, number> | undefined;\n\n\tconstructor(\n\t\tid: ConstructName<TName>,\n\t\tprivate readonly options: ObjectStorageOptions = {},\n\t) {\n\t\t// Canonicalises, so `uploads` and `Uploads` are one construct rather than\n\t\t// two that collide. Throws on anything that cannot become a valid id.\n\t\tconst canonical = canonicalId(id as string);\n\n\t\tthis.id = canonical as TName;\n\t\tthis.keys = { url: provideKey(canonical, 'url') };\n\t\tthis.expire = expiryDays(canonical, options.expire);\n\n\t\t// A field, not a getter: consumers cache services by object identity.\n\t\tthis.service = {\n\t\t\tserviceName: serviceKey(canonical) as Uncapitalize<TName>,\n\t\t\tregister: (options) => this.connect(options),\n\t\t};\n\t}\n\n\tdeclare(): Declaration[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tkind: 'objects',\n\t\t\t\tid: this.id,\n\t\t\t\tprovides: [this.keys.url],\n\t\t\t\t...(this.options.versioned ? { versioned: true } : {}),\n\t\t\t\t...(this.expire ? { expire: this.expire } : {}),\n\t\t\t},\n\t\t];\n\t}\n\n\t/**\n\t * Builds the client from the single URL the adapter supplied.\n\t *\n\t * The URL's scheme selects the driver, so this construct imports no provider\n\t * and an app that never touches S3 never resolves the AWS SDK. Whoever\n\t * assembles the application registers the drivers its target needs.\n\t */\n\tprivate async connect({\n\t\tenvParser,\n\t}: ServiceRegisterOptions): Promise<StorageClient> {\n\t\tconst { url } = envParser\n\t\t\t.create((get) => ({ url: get(this.keys.url).string() }))\n\t\t\t.parse();\n\n\t\treturn createStorageClient(url);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAqCA,IAAa,gBAAb,MAEA;CAgBmB;CAflB;CACA;;;;;;CAOA;;CAGA;CAEA,YACC,IACA,UAAiD,CAAC,GACjD;EADgB,KAAA,UAAA;EAIjB,MAAM,aAAA,GAAYA,oBAAAA,YAAAA,CAAY,EAAY;EAE1C,KAAK,KAAK;EACV,KAAK,OAAO,EAAE,MAAA,GAAKC,oBAAAA,WAAAA,CAAW,WAAW,KAAK,EAAE;EAChD,KAAK,SAASC,eAAAA,WAAW,WAAW,QAAQ,MAAM;EAGlD,KAAK,UAAU;GACd,cAAA,GAAaC,oBAAAA,WAAAA,CAAW,SAAS;GACjC,WAAW,YAAY,KAAK,QAAQ,OAAO;EAC5C;CACD;CAEA,UAAyB;EACxB,OAAO,CACN;GACC,MAAM;GACN,IAAI,KAAK;GACT,UAAU,CAAC,KAAK,KAAK,GAAG;GACxB,GAAI,KAAK,QAAQ,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC;GACpD,GAAI,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;EAC9C,CACD;CACD;;;;;;;;CASA,MAAc,QAAQ,EACrB,aACkD;EAClD,MAAM,EAAE,QAAQ,UACd,QAAQ,SAAS,EAAE,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACvD,MAAM;EAER,QAAA,GAAOC,mBAAAA,oBAAAA,CAAoB,GAAG;CAC/B;AACD"}
@@ -1,4 +1,5 @@
1
1
  import { n as Construct } from "./construct-interface-B1AfqRl4.cjs";
2
+ import { n as ExpiryPrefixInvalid, r as ObjectExpiry, t as ExpiryDaysInvalid } from "./expire-C586zznE.cjs";
2
3
  import { Service } from "@geekmidas/services";
3
4
  import { ConstructName, Declaration } from "@geekmidas/manifest";
4
5
  import { StorageClient } from "@geekmidas/storage";
@@ -6,6 +7,11 @@ import { StorageClient } from "@geekmidas/storage";
6
7
  export interface ObjectStorageOptions {
7
8
  /** Keep previous versions of an object. */
8
9
  versioned?: boolean;
10
+ /**
11
+ * Delete the objects under each prefix this many days after they were
12
+ * written — `{ 'quotes/': { days: 30 } }`.
13
+ */
14
+ expire?: ObjectExpiry;
9
15
  }
10
16
  export declare class ObjectStorage<TName extends string = string> implements Construct<TName, StorageClient> {
11
17
  private readonly options;
@@ -17,6 +23,8 @@ export declare class ObjectStorage<TName extends string = string> implements Con
17
23
  * of the construct owning both faces.
18
24
  */
19
25
  private readonly keys;
26
+ /** Checked once, at declaration: prefix → days. */
27
+ private readonly expire;
20
28
  constructor(id: ConstructName<TName>, options?: ObjectStorageOptions);
21
29
  declare(): Declaration[];
22
30
  /**
@@ -29,4 +37,5 @@ export declare class ObjectStorage<TName extends string = string> implements Con
29
37
  private connect;
30
38
  }
31
39
  //#endregion
40
+ export { ExpiryDaysInvalid, ExpiryPrefixInvalid, type ObjectExpiry };
32
41
  //# sourceMappingURL=object-storage.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-storage.d.cts","names":[],"sources":["../src/object-storage.ts"],"mappings":";;;;;iBAoBiB;;EAEhB;;qBAGY,cAAc,0CACf,UAAU,OAAO;mBAcV;WAZT,IAAI;WACJ,SAAS,QAAQ,aAAa,QAAQ;;;;;;mBAO9B;EAEjB,YACC,IAAI,cAAc,QACD,UAAS;EAgB3B,WAAW;;;;;;;;UAkBG"}
1
+ {"version":3,"file":"object-storage.d.cts","names":[],"sources":["../src/object-storage.ts"],"mappings":";;;;;;iBA2BiB;;EAEhB;;;;;EAKA,SAAS;;qBAGG,cAAc,0CACf,UAAU,OAAO;mBAiBV;WAfT,IAAI;WACJ,SAAS,QAAQ,aAAa,QAAQ;;;;;;mBAO9B;;mBAGA;EAEjB,YACC,IAAI,cAAc,QACD,UAAS;EAiB3B,WAAW;;;;;;;;UAmBG"}
@@ -1,4 +1,5 @@
1
1
  import { n as Construct } from "./construct-interface-ZvYQbivO.mjs";
2
+ import { n as ExpiryPrefixInvalid, r as ObjectExpiry, t as ExpiryDaysInvalid } from "./expire-C586zznE.mjs";
2
3
  import { ConstructName, Declaration } from "@geekmidas/manifest";
3
4
  import { StorageClient } from "@geekmidas/storage";
4
5
  import { Service } from "@geekmidas/services";
@@ -6,6 +7,11 @@ import { Service } from "@geekmidas/services";
6
7
  export interface ObjectStorageOptions {
7
8
  /** Keep previous versions of an object. */
8
9
  versioned?: boolean;
10
+ /**
11
+ * Delete the objects under each prefix this many days after they were
12
+ * written — `{ 'quotes/': { days: 30 } }`.
13
+ */
14
+ expire?: ObjectExpiry;
9
15
  }
10
16
  export declare class ObjectStorage<TName extends string = string> implements Construct<TName, StorageClient> {
11
17
  private readonly options;
@@ -17,6 +23,8 @@ export declare class ObjectStorage<TName extends string = string> implements Con
17
23
  * of the construct owning both faces.
18
24
  */
19
25
  private readonly keys;
26
+ /** Checked once, at declaration: prefix → days. */
27
+ private readonly expire;
20
28
  constructor(id: ConstructName<TName>, options?: ObjectStorageOptions);
21
29
  declare(): Declaration[];
22
30
  /**
@@ -29,4 +37,5 @@ export declare class ObjectStorage<TName extends string = string> implements Con
29
37
  private connect;
30
38
  }
31
39
  //#endregion
40
+ export { ExpiryDaysInvalid, ExpiryPrefixInvalid, type ObjectExpiry };
32
41
  //# sourceMappingURL=object-storage.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-storage.d.mts","names":[],"sources":["../src/object-storage.ts"],"mappings":";;;;;iBAoBiB;;EAEhB;;qBAGY,cAAc,0CACf,UAAU,OAAO;mBAcV;WAZT,IAAI;WACJ,SAAS,QAAQ,aAAa,QAAQ;;;;;;mBAO9B;EAEjB,YACC,IAAI,cAAc,QACD,UAAS;EAgB3B,WAAW;;;;;;;;UAkBG"}
1
+ {"version":3,"file":"object-storage.d.mts","names":[],"sources":["../src/object-storage.ts"],"mappings":";;;;;;iBA2BiB;;EAEhB;;;;;EAKA,SAAS;;qBAGG,cAAc,0CACf,UAAU,OAAO;mBAiBV;WAfT,IAAI;WACJ,SAAS,QAAQ,aAAa,QAAQ;;;;;;mBAO9B;;mBAGA;EAEjB,YACC,IAAI,cAAc,QACD,UAAS;EAiB3B,WAAW;;;;;;;;UAmBG"}
@@ -1,3 +1,4 @@
1
+ import { n as ExpiryPrefixInvalid, r as expiryDays, t as ExpiryDaysInvalid } from "./expire-CpzUAfr9.mjs";
1
2
  import { canonicalId, provideKey, serviceKey } from "@geekmidas/manifest";
2
3
  import { createStorageClient } from "@geekmidas/storage";
3
4
  //#region src/object-storage.ts
@@ -19,11 +20,14 @@ var ObjectStorage = class {
19
20
  * of the construct owning both faces.
20
21
  */
21
22
  keys;
23
+ /** Checked once, at declaration: prefix → days. */
24
+ expire;
22
25
  constructor(id, options = {}) {
23
26
  this.options = options;
24
27
  const canonical = canonicalId(id);
25
28
  this.id = canonical;
26
29
  this.keys = { url: provideKey(canonical, "url") };
30
+ this.expire = expiryDays(canonical, options.expire);
27
31
  this.service = {
28
32
  serviceName: serviceKey(canonical),
29
33
  register: (options) => this.connect(options)
@@ -34,7 +38,8 @@ var ObjectStorage = class {
34
38
  kind: "objects",
35
39
  id: this.id,
36
40
  provides: [this.keys.url],
37
- ...this.options.versioned ? { versioned: true } : {}
41
+ ...this.options.versioned ? { versioned: true } : {},
42
+ ...this.expire ? { expire: this.expire } : {}
38
43
  }];
39
44
  }
40
45
  /**
@@ -50,6 +55,6 @@ var ObjectStorage = class {
50
55
  }
51
56
  };
52
57
  //#endregion
53
- export { ObjectStorage };
58
+ export { ExpiryDaysInvalid, ExpiryPrefixInvalid, ObjectStorage };
54
59
 
55
60
  //# sourceMappingURL=object-storage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-storage.mjs","names":[],"sources":["../src/object-storage.ts"],"sourcesContent":["/**\n * `ObjectStorage` — a declared bucket.\n *\n * Where the three packages meet: it implements the construct contract, derives\n * its env key through `@geekmidas/manifest`, and hands back a\n * `@geekmidas/storage` client. It names no cloud — `--target=aws` fills the\n * injected URL with S3's values, local dev with MinIO's.\n */\n\nimport {\n\ttype ConstructName,\n\tcanonicalId,\n\ttype Declaration,\n\tprovideKey,\n\tserviceKey,\n} from '@geekmidas/manifest';\nimport type { Service, ServiceRegisterOptions } from '@geekmidas/services';\nimport { createStorageClient, type StorageClient } from '@geekmidas/storage';\nimport type { Construct } from './construct-interface';\n\nexport interface ObjectStorageOptions {\n\t/** Keep previous versions of an object. */\n\tversioned?: boolean;\n}\n\nexport class ObjectStorage<TName extends string = string>\n\timplements Construct<TName, StorageClient>\n{\n\treadonly id: TName;\n\treadonly service: Service<Uncapitalize<TName>, StorageClient>;\n\n\t/**\n\t * Declared once and read by both `declare()` and `connect()`, so the key the\n\t * build publishes and the key the client reads cannot drift — the whole point\n\t * of the construct owning both faces.\n\t */\n\tprivate readonly keys: { url: string };\n\n\tconstructor(\n\t\tid: ConstructName<TName>,\n\t\tprivate readonly options: ObjectStorageOptions = {},\n\t) {\n\t\t// Canonicalises, so `uploads` and `Uploads` are one construct rather than\n\t\t// two that collide. Throws on anything that cannot become a valid id.\n\t\tconst canonical = canonicalId(id as string);\n\n\t\tthis.id = canonical as TName;\n\t\tthis.keys = { url: provideKey(canonical, 'url') };\n\n\t\t// A field, not a getter: consumers cache services by object identity.\n\t\tthis.service = {\n\t\t\tserviceName: serviceKey(canonical) as Uncapitalize<TName>,\n\t\t\tregister: (options) => this.connect(options),\n\t\t};\n\t}\n\n\tdeclare(): Declaration[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tkind: 'objects',\n\t\t\t\tid: this.id,\n\t\t\t\tprovides: [this.keys.url],\n\t\t\t\t...(this.options.versioned ? { versioned: true } : {}),\n\t\t\t},\n\t\t];\n\t}\n\n\t/**\n\t * Builds the client from the single URL the adapter supplied.\n\t *\n\t * The URL's scheme selects the driver, so this construct imports no provider\n\t * and an app that never touches S3 never resolves the AWS SDK. Whoever\n\t * assembles the application registers the drivers its target needs.\n\t */\n\tprivate async connect({\n\t\tenvParser,\n\t}: ServiceRegisterOptions): Promise<StorageClient> {\n\t\tconst { url } = envParser\n\t\t\t.create((get) => ({ url: get(this.keys.url).string() }))\n\t\t\t.parse();\n\n\t\treturn createStorageClient(url);\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAyBA,IAAa,gBAAb,MAEA;CAamB;CAZlB;CACA;;;;;;CAOA;CAEA,YACC,IACA,UAAiD,CAAC,GACjD;EADgB,KAAA,UAAA;EAIjB,MAAM,YAAY,YAAY,EAAY;EAE1C,KAAK,KAAK;EACV,KAAK,OAAO,EAAE,KAAK,WAAW,WAAW,KAAK,EAAE;EAGhD,KAAK,UAAU;GACd,aAAa,WAAW,SAAS;GACjC,WAAW,YAAY,KAAK,QAAQ,OAAO;EAC5C;CACD;CAEA,UAAyB;EACxB,OAAO,CACN;GACC,MAAM;GACN,IAAI,KAAK;GACT,UAAU,CAAC,KAAK,KAAK,GAAG;GACxB,GAAI,KAAK,QAAQ,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC;EACrD,CACD;CACD;;;;;;;;CASA,MAAc,QAAQ,EACrB,aACkD;EAClD,MAAM,EAAE,QAAQ,UACd,QAAQ,SAAS,EAAE,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACvD,MAAM;EAER,OAAO,oBAAoB,GAAG;CAC/B;AACD"}
1
+ {"version":3,"file":"object-storage.mjs","names":[],"sources":["../src/object-storage.ts"],"sourcesContent":["/**\n * `ObjectStorage` — a declared bucket.\n *\n * Where the three packages meet: it implements the construct contract, derives\n * its env key through `@geekmidas/manifest`, and hands back a\n * `@geekmidas/storage` client. It names no cloud — `--target=aws` fills the\n * injected URL with S3's values, local dev with MinIO's.\n */\n\nimport {\n\ttype ConstructName,\n\tcanonicalId,\n\ttype Declaration,\n\tprovideKey,\n\tserviceKey,\n} from '@geekmidas/manifest';\nimport type { Service, ServiceRegisterOptions } from '@geekmidas/services';\nimport { createStorageClient, type StorageClient } from '@geekmidas/storage';\nimport type { Construct } from './construct-interface';\nimport { expiryDays, type ObjectExpiry } from './expire';\n\nexport {\n\tExpiryDaysInvalid,\n\tExpiryPrefixInvalid,\n\ttype ObjectExpiry,\n} from './expire';\n\nexport interface ObjectStorageOptions {\n\t/** Keep previous versions of an object. */\n\tversioned?: boolean;\n\t/**\n\t * Delete the objects under each prefix this many days after they were\n\t * written — `{ 'quotes/': { days: 30 } }`.\n\t */\n\texpire?: ObjectExpiry;\n}\n\nexport class ObjectStorage<TName extends string = string>\n\timplements Construct<TName, StorageClient>\n{\n\treadonly id: TName;\n\treadonly service: Service<Uncapitalize<TName>, StorageClient>;\n\n\t/**\n\t * Declared once and read by both `declare()` and `connect()`, so the key the\n\t * build publishes and the key the client reads cannot drift — the whole point\n\t * of the construct owning both faces.\n\t */\n\tprivate readonly keys: { url: string };\n\n\t/** Checked once, at declaration: prefix → days. */\n\tprivate readonly expire: Record<string, number> | undefined;\n\n\tconstructor(\n\t\tid: ConstructName<TName>,\n\t\tprivate readonly options: ObjectStorageOptions = {},\n\t) {\n\t\t// Canonicalises, so `uploads` and `Uploads` are one construct rather than\n\t\t// two that collide. Throws on anything that cannot become a valid id.\n\t\tconst canonical = canonicalId(id as string);\n\n\t\tthis.id = canonical as TName;\n\t\tthis.keys = { url: provideKey(canonical, 'url') };\n\t\tthis.expire = expiryDays(canonical, options.expire);\n\n\t\t// A field, not a getter: consumers cache services by object identity.\n\t\tthis.service = {\n\t\t\tserviceName: serviceKey(canonical) as Uncapitalize<TName>,\n\t\t\tregister: (options) => this.connect(options),\n\t\t};\n\t}\n\n\tdeclare(): Declaration[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tkind: 'objects',\n\t\t\t\tid: this.id,\n\t\t\t\tprovides: [this.keys.url],\n\t\t\t\t...(this.options.versioned ? { versioned: true } : {}),\n\t\t\t\t...(this.expire ? { expire: this.expire } : {}),\n\t\t\t},\n\t\t];\n\t}\n\n\t/**\n\t * Builds the client from the single URL the adapter supplied.\n\t *\n\t * The URL's scheme selects the driver, so this construct imports no provider\n\t * and an app that never touches S3 never resolves the AWS SDK. Whoever\n\t * assembles the application registers the drivers its target needs.\n\t */\n\tprivate async connect({\n\t\tenvParser,\n\t}: ServiceRegisterOptions): Promise<StorageClient> {\n\t\tconst { url } = envParser\n\t\t\t.create((get) => ({ url: get(this.keys.url).string() }))\n\t\t\t.parse();\n\n\t\treturn createStorageClient(url);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAqCA,IAAa,gBAAb,MAEA;CAgBmB;CAflB;CACA;;;;;;CAOA;;CAGA;CAEA,YACC,IACA,UAAiD,CAAC,GACjD;EADgB,KAAA,UAAA;EAIjB,MAAM,YAAY,YAAY,EAAY;EAE1C,KAAK,KAAK;EACV,KAAK,OAAO,EAAE,KAAK,WAAW,WAAW,KAAK,EAAE;EAChD,KAAK,SAAS,WAAW,WAAW,QAAQ,MAAM;EAGlD,KAAK,UAAU;GACd,aAAa,WAAW,SAAS;GACjC,WAAW,YAAY,KAAK,QAAQ,OAAO;EAC5C;CACD;CAEA,UAAyB;EACxB,OAAO,CACN;GACC,MAAM;GACN,IAAI,KAAK;GACT,UAAU,CAAC,KAAK,KAAK,GAAG;GACxB,GAAI,KAAK,QAAQ,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC;GACpD,GAAI,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;EAC9C,CACD;CACD;;;;;;;;CASA,MAAc,QAAQ,EACrB,aACkD;EAClD,MAAM,EAAE,QAAQ,UACd,QAAQ,SAAS,EAAE,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACvD,MAAM;EAER,OAAO,oBAAoB,GAAG;CAC/B;AACD"}
@@ -1,3 +1,3 @@
1
- import { i as QueueMessage, n as QueueContext, r as QueueHandler, t as Queue } from "../Queue-HPyi0e1i.cjs";
2
- import { n as QueueNeedsMessage, r as QueueNeedsName } from "../QueueBuilder-OSi6LkV9.cjs";
1
+ import { i as QueueMessage, n as QueueContext, r as QueueHandler, t as Queue } from "../Queue-JbIjVtTf.cjs";
2
+ import { n as QueueNeedsMessage, r as QueueNeedsName } from "../QueueBuilder-MfpkJ3R9.cjs";
3
3
  export { Queue, type QueueContext, type QueueHandler, type QueueMessage, QueueNeedsMessage, QueueNeedsName };
@@ -1,3 +1,3 @@
1
- import { i as QueueMessage, n as QueueContext, r as QueueHandler, t as Queue } from "../Queue-DlsHRzUp.mjs";
2
- import { n as QueueNeedsMessage, r as QueueNeedsName } from "../QueueBuilder-Cx9lKC5d.mjs";
1
+ import { i as QueueMessage, n as QueueContext, r as QueueHandler, t as Queue } from "../Queue-B-dDXyjF.mjs";
2
+ import { n as QueueNeedsMessage, r as QueueNeedsName } from "../QueueBuilder-48W-q8In.mjs";
3
3
  export { Queue, type QueueContext, type QueueHandler, type QueueMessage, QueueNeedsMessage, QueueNeedsName };
package/dist/rest-api.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_construct_interface = require("./construct-interface.cjs");
3
- const require_EndpointFactory = require("./EndpointFactory-BVv6EIDu.cjs");
3
+ const require_EndpointFactory = require("./EndpointFactory-CSrAyazj.cjs");
4
4
  const require_surfaceEnv = require("./surfaceEnv-CNimK76p.cjs");
5
5
  let _geekmidas_manifest = require("@geekmidas/manifest");
6
6
  let _geekmidas_logger_console = require("@geekmidas/logger/console");
@@ -1,7 +1,7 @@
1
1
  import { i as Declarable, t as Authenticator } from "./construct-interface-B1AfqRl4.cjs";
2
2
  import { n as Telemetry } from "./telemetry-B48RLjyk.cjs";
3
- import { D as BuiltInSecuritySchemeId } from "./Endpoint-BWyKCa2x.cjs";
4
- import { t as EndpointFactory } from "./EndpointFactory-C1-IBwm4.cjs";
3
+ import { D as BuiltInSecuritySchemeId } from "./Endpoint-DgrpG15P.cjs";
4
+ import { t as EndpointFactory } from "./EndpointFactory-Cc863XJS.cjs";
5
5
  import { EnvironmentParser } from "@geekmidas/envkit";
6
6
  import { Logger } from "@geekmidas/logger";
7
7
  import { ConstructName, Declaration, Dependency } from "@geekmidas/manifest";
@@ -1,7 +1,7 @@
1
1
  import { i as Declarable, t as Authenticator } from "./construct-interface-ZvYQbivO.mjs";
2
2
  import { n as Telemetry } from "./telemetry-BEoBn6GO.mjs";
3
- import { D as BuiltInSecuritySchemeId } from "./Endpoint-CrE9Ppdk.mjs";
4
- import { t as EndpointFactory } from "./EndpointFactory-BV-nfnaP.mjs";
3
+ import { D as BuiltInSecuritySchemeId } from "./Endpoint-CeFkSwh5.mjs";
4
+ import { t as EndpointFactory } from "./EndpointFactory-Dbw9ugkX.mjs";
5
5
  import { ConstructName, Declaration, Dependency } from "@geekmidas/manifest";
6
6
  import { EnvironmentParser } from "@geekmidas/envkit";
7
7
  import { Logger } from "@geekmidas/logger";
package/dist/rest-api.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { edgeTo } from "./construct-interface.mjs";
2
- import { o as getSecurityScheme, t as EndpointFactory } from "./EndpointFactory-Cs8IHvwF.mjs";
2
+ import { p as getSecurityScheme, t as EndpointFactory } from "./EndpointFactory-c2ZugGig.mjs";
3
3
  import { n as envParserFor } from "./surfaceEnv-wMT5QzgZ.mjs";
4
4
  import { canonicalId, provideKey } from "@geekmidas/manifest";
5
5
  import { DEFAULT_LOGGER } from "@geekmidas/logger/console";
@@ -1,5 +1,5 @@
1
- import { t as Subscriber } from "../Subscriber-Bpp02cGr.cjs";
2
- import { t as SubscriberBuilder } from "../SubscriberBuilder-g3fAVWgs.cjs";
1
+ import { t as Subscriber } from "../Subscriber-CEt7kHkc.cjs";
2
+ import { t as SubscriberBuilder } from "../SubscriberBuilder-BRa_nrmH.cjs";
3
3
  import { EnvironmentParser } from "@geekmidas/envkit";
4
4
  //#region src/subscribers/SnsPushSubscriberAdaptor.d.ts
5
5
  interface SnsPushOptions {
@@ -1,5 +1,5 @@
1
- import { t as Subscriber } from "../Subscriber-CtN9R48-.mjs";
2
- import { t as SubscriberBuilder } from "../SubscriberBuilder-4DWe9feX.mjs";
1
+ import { t as Subscriber } from "../Subscriber-dsxc5LKa.mjs";
2
+ import { t as SubscriberBuilder } from "../SubscriberBuilder-D9bkrYzH.mjs";
3
3
  import { EnvironmentParser } from "@geekmidas/envkit";
4
4
  //#region src/subscribers/SnsPushSubscriberAdaptor.d.ts
5
5
  interface SnsPushOptions {
@@ -1,2 +1,2 @@
1
- import { c as Topic, d as TopicOptions, l as TopicEvents, u as TopicMessage } from "../Construct-BQALFCh2.cjs";
1
+ import { c as Topic, d as TopicOptions, l as TopicEvents, u as TopicMessage } from "../Construct-CFW0zjdD.cjs";
2
2
  export { Topic, type TopicEvents, type TopicMessage, type TopicOptions };
@@ -1,2 +1,2 @@
1
- import { c as Topic, d as TopicOptions, l as TopicEvents, u as TopicMessage } from "../Construct-QXnl3VqT.mjs";
1
+ import { c as Topic, d as TopicOptions, l as TopicEvents, u as TopicMessage } from "../Construct-B7AXn0xH.mjs";
2
2
  export { Topic, type TopicEvents, type TopicMessage, type TopicOptions };
package/dist/worker.d.cts CHANGED
@@ -1,13 +1,13 @@
1
- import { t as StandardSchemaV1 } from "./index-CeEtxDmK.cjs";
2
- import { c as Topic, l as TopicEvents, u as TopicMessage } from "./Construct-BQALFCh2.cjs";
3
- import { i as FunctionHandler, n as Function } from "./Function-Pu-1kKZz.cjs";
1
+ import { n as StandardSchemaV1 } from "./index-DdRjYhiJ.cjs";
2
+ import { c as Topic, l as TopicEvents, u as TopicMessage } from "./Construct-CFW0zjdD.cjs";
3
+ import { i as FunctionHandler, n as Function } from "./Function-B0uZhZnU.cjs";
4
4
  import { c as ServicesOf, i as Declarable, r as Consumable } from "./construct-interface-B1AfqRl4.cjs";
5
- import { t as FunctionBuilder } from "./index-BuzRvKOQ.cjs";
6
- import { i as ScheduleExpression } from "./Cron-DI3nKoic.cjs";
5
+ import { t as FunctionBuilder } from "./index-Cd2w-DRL.cjs";
6
+ import { i as ScheduleExpression } from "./Cron-bdGRSROY.cjs";
7
7
  import { n as Telemetry } from "./telemetry-B48RLjyk.cjs";
8
- import { t as CronBuilder } from "./CronBuilder-g1lZLWyG.cjs";
9
- import { t as QueueBuilder } from "./QueueBuilder-OSi6LkV9.cjs";
10
- import { t as SubscriberBuilder } from "./SubscriberBuilder-g3fAVWgs.cjs";
8
+ import { t as CronBuilder } from "./CronBuilder-B_24LZpn.cjs";
9
+ import { t as QueueBuilder } from "./QueueBuilder-MfpkJ3R9.cjs";
10
+ import { t as SubscriberBuilder } from "./SubscriberBuilder-BRa_nrmH.cjs";
11
11
  import "./topic/index.cjs";
12
12
  import { EnvironmentParser } from "@geekmidas/envkit";
13
13
  import { Logger } from "@geekmidas/logger";
package/dist/worker.d.mts CHANGED
@@ -1,13 +1,13 @@
1
- import { t as StandardSchemaV1 } from "./index-CeEtxDmK.mjs";
2
- import { c as Topic, l as TopicEvents, u as TopicMessage } from "./Construct-QXnl3VqT.mjs";
3
- import { i as FunctionHandler, n as Function } from "./Function-DuqGcbOI.mjs";
1
+ import { n as StandardSchemaV1 } from "./index-DdRjYhiJ.mjs";
2
+ import { c as Topic, l as TopicEvents, u as TopicMessage } from "./Construct-B7AXn0xH.mjs";
3
+ import { i as FunctionHandler, n as Function } from "./Function-B_9R7Zy1.mjs";
4
4
  import { c as ServicesOf, i as Declarable, r as Consumable } from "./construct-interface-ZvYQbivO.mjs";
5
- import { t as FunctionBuilder } from "./index-B13kQB_U.mjs";
6
- import { i as ScheduleExpression } from "./Cron-CQJqqkhY.mjs";
5
+ import { t as FunctionBuilder } from "./index-aBIcAiH5.mjs";
6
+ import { i as ScheduleExpression } from "./Cron-i4Uetezh.mjs";
7
7
  import { n as Telemetry } from "./telemetry-BEoBn6GO.mjs";
8
- import { t as CronBuilder } from "./CronBuilder-Xx_zakuc.mjs";
9
- import { t as QueueBuilder } from "./QueueBuilder-Cx9lKC5d.mjs";
10
- import { t as SubscriberBuilder } from "./SubscriberBuilder-4DWe9feX.mjs";
8
+ import { t as CronBuilder } from "./CronBuilder-9H4BnD6W.mjs";
9
+ import { t as QueueBuilder } from "./QueueBuilder-48W-q8In.mjs";
10
+ import { t as SubscriberBuilder } from "./SubscriberBuilder-D9bkrYzH.mjs";
11
11
  import "./topic/index.mjs";
12
12
  import { ConstructName, Declaration, Dependency } from "@geekmidas/manifest";
13
13
  import { Service } from "@geekmidas/services";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geekmidas/constructs",
3
- "version": "10.0.0-alpha.118",
3
+ "version": "10.0.0-alpha.119",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -307,13 +307,13 @@
307
307
  "lodash.uniqby": "~4.7.0",
308
308
  "openapi-types": "~12.1.3",
309
309
  "qs": "~6.16.0",
310
- "@geekmidas/envkit": "^10.0.0-alpha.118",
311
- "@geekmidas/errors": "^10.0.0-alpha.118",
312
- "@geekmidas/events": "^10.0.0-alpha.118",
313
- "@geekmidas/logger": "^10.0.0-alpha.118",
314
- "@geekmidas/manifest": "^10.0.0-alpha.118",
315
- "@geekmidas/schema": "^10.0.0-alpha.118",
316
- "@geekmidas/services": "^10.0.0-alpha.118"
310
+ "@geekmidas/envkit": "^10.0.0-alpha.119",
311
+ "@geekmidas/errors": "^10.0.0-alpha.119",
312
+ "@geekmidas/events": "^10.0.0-alpha.119",
313
+ "@geekmidas/logger": "^10.0.0-alpha.119",
314
+ "@geekmidas/manifest": "^10.0.0-alpha.119",
315
+ "@geekmidas/schema": "^10.0.0-alpha.119",
316
+ "@geekmidas/services": "^10.0.0-alpha.119"
317
317
  },
318
318
  "devDependencies": {
319
319
  "@aws-sdk/client-kms": "~3.1136.0",
@@ -331,20 +331,20 @@
331
331
  "msw": "~2.15.0",
332
332
  "pg": "~8.23.0",
333
333
  "zod": "~4.6.5",
334
- "@geekmidas/audit": "^10.0.0-alpha.118",
335
- "@geekmidas/auth": "10.0.0-alpha.118",
336
- "@geekmidas/cache": "^10.0.0-alpha.118",
337
- "@geekmidas/db": "^10.0.0-alpha.118",
338
- "@geekmidas/emailkit": "^10.0.0-alpha.118",
339
- "@geekmidas/envkit": "^10.0.0-alpha.118",
340
- "@geekmidas/errors": "^10.0.0-alpha.118",
341
- "@geekmidas/events": "^10.0.0-alpha.118",
342
- "@geekmidas/logger": "^10.0.0-alpha.118",
343
- "@geekmidas/rate-limit": "^10.0.0-alpha.118",
344
- "@geekmidas/schema": "^10.0.0-alpha.118",
345
- "@geekmidas/services": "^10.0.0-alpha.118",
346
- "@geekmidas/telescope": "10.0.0-alpha.118",
347
- "@geekmidas/testkit": "^10.0.0-alpha.118"
334
+ "@geekmidas/audit": "^10.0.0-alpha.119",
335
+ "@geekmidas/auth": "10.0.0-alpha.119",
336
+ "@geekmidas/cache": "^10.0.0-alpha.119",
337
+ "@geekmidas/db": "^10.0.0-alpha.119",
338
+ "@geekmidas/emailkit": "^10.0.0-alpha.119",
339
+ "@geekmidas/envkit": "^10.0.0-alpha.119",
340
+ "@geekmidas/errors": "^10.0.0-alpha.119",
341
+ "@geekmidas/events": "^10.0.0-alpha.119",
342
+ "@geekmidas/logger": "^10.0.0-alpha.119",
343
+ "@geekmidas/rate-limit": "^10.0.0-alpha.119",
344
+ "@geekmidas/schema": "^10.0.0-alpha.119",
345
+ "@geekmidas/services": "^10.0.0-alpha.119",
346
+ "@geekmidas/telescope": "10.0.0-alpha.119",
347
+ "@geekmidas/testkit": "^10.0.0-alpha.119"
348
348
  },
349
349
  "peerDependencies": {
350
350
  "@aws-sdk/client-kms": ">=3.1136.0",
@@ -355,15 +355,15 @@
355
355
  "kysely": "~0.29.6",
356
356
  "msw": ">=2.15.0",
357
357
  "pg": ">=8.23.0",
358
- "@geekmidas/audit": "^10.0.0-alpha.118",
359
- "@geekmidas/auth": "10.0.0-alpha.118",
360
- "@geekmidas/cache": "^10.0.0-alpha.118",
361
- "@geekmidas/db": "^10.0.0-alpha.118",
362
- "@geekmidas/emailkit": "^10.0.0-alpha.118",
363
- "@geekmidas/rate-limit": "^10.0.0-alpha.118",
364
- "@geekmidas/storage": "^10.0.0-alpha.118",
365
- "@geekmidas/telescope": "10.0.0-alpha.118",
366
- "@geekmidas/testkit": "^10.0.0-alpha.118"
358
+ "@geekmidas/audit": "^10.0.0-alpha.119",
359
+ "@geekmidas/auth": "10.0.0-alpha.119",
360
+ "@geekmidas/cache": "^10.0.0-alpha.119",
361
+ "@geekmidas/db": "^10.0.0-alpha.119",
362
+ "@geekmidas/emailkit": "^10.0.0-alpha.119",
363
+ "@geekmidas/rate-limit": "^10.0.0-alpha.119",
364
+ "@geekmidas/storage": "^10.0.0-alpha.119",
365
+ "@geekmidas/telescope": "10.0.0-alpha.119",
366
+ "@geekmidas/testkit": "^10.0.0-alpha.119"
367
367
  },
368
368
  "peerDependenciesMeta": {
369
369
  "@aws-sdk/client-kms": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"EndpointFactory-BV-nfnaP.d.mts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts","../src/endpoints/EndpointFactory.ts"],"mappings":";;;;;;;;;;;;;cA0Ca,gBACZ,uBACA,gBAAgB,YAChB,eAAe,sBACf,kBAAkB,gBAClB,gBAAgB,SAAS,QACzB,kBAAkB,0CAClB,oBACA,4DACA,sBAAsB,sCACtB,kDACA,qBAAqB,mCAAmC,kCAIxD,uBACA,sDACS,oBACT,QACA,WACA,WACA,SACA,eACA,0BACA,WACA;WA8BU,OAAO;WACP,QAAQ;YA7BR,SAAS;YACT;YACA,UAAU;YACV;YACA;YACA;;EAEV,cAAc,UAAU,WAAW,SAAS,UAAU;EACtD,YAAY,YAAY,WAAW,SAAS,UAAU,QAAQ;EAE9D,aAAa;EACb,uBAAuB;EACvB,kBAAkB;EAClB,kBAAkB,eAAe,WAAW,UAAU;EACtD,SAAS,YAAY,cAAc;;;;;;;EAOnC,UAAW;EACX,wBAAwB,eAAe;EACvC,aAAa,UAAU,WAAW,UAAU;EAC5C;EACA,aAAa;EAEb,YACU,OAAO,QACP,QAAQ;EAMlB,mBACC,SAAS,QAAQ,0BAA0B;EAM5C,oBAAoB,SAAS,QAAQ,sBAAsB;EAI3D,YAAY;;;;;;EASZ,OAAO,QAAQ;;;;;;;;;;;;;;;;EAmBf,MAAM,eAAe,iBACpB,OAAO,QACP,OAAO,SAAS,QAAQ,oBAAoB,cAC1C,gBACF,QACA,SACA,YACI,WAAW,oBACf,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAmBD,KAAK;EAIL,WAAW;;;;;;;;;;;EAcX,UAAU,SAAS;;;;;;;;;;;;;;;;;;;EAsBnB,aAAa;EAIb,KAAK,UAAU,kBACd,QAAQ,IACN,gBACF,QACA,SACA,KAAK;IAAoB,MAAM;KAC/B,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAOD,OAAO,UAAU,kBAChB,QAAQ,IACN,gBACF,QACA,SACA,KAAK;IAAqB,OAAO;KACjC,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAOD,MAAM,UAAU,kBACf,QAAQ,IACN,gBACF,QACA,SACA,KAAK;IAAqB,OAAO;KACjC,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAKD,OAAO,UAAU,kBAChB,QAAQ,IACN,gBACF,QACA,SACA,KAAK;IAAsB,QAAQ;KACnC,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAOD,UACC,IAAI,YAAY,WAAW,SAAS,UAAU,QAAQ;EAKvD,UAAU,QAAQ;EAIlB,WACC,MAAM,gCACJ,gBACF,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;;;;;;;;;;;;EAkCD,gBAAgB,mBAAmB,cAClC,YAAY,IACV,gBACF,QACA,SACA,YACI,cAAc,WAAW,KAC7B,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAkCD,SAAS,UAAU,WAClB,UAAU,IACR,gBACF,QACA,SACA,YACI,cAAc,IAClB,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAwBD,OAAO,UAAU,QAChB,QAAQ,IACN,gBACF,QACA,SACA,QACA,WACA,GACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAqBD,OAAO,UAAU,kBAChB,QAAQ,IACN,gBACF,QACA,SACA,QACA,WACA,SACA,GACA,UACA,cACA,eACA,0BACA,cACA,WACA;;;;;;EA0BQ,QAAQ,UAAU,mBAAmB,sBAC7C,SAAS,QAAQ,OAAO,KACtB,gBACF,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,GACA,OACA,0BAA0B,IAC1B,WACA;;;;;EA4BD,MACC,WAAW,eAAe,WAAW,UAAU,WAC7C,gBACF,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;;;;;;;;;;;;;;;;;;EAsBD,MAAM,QAAQ,YAAY,cAAc;;;;;;;;;;;;;;;;EAmB/B,SAAS,GAAG,sBACpB,QAAQ,WAAW,OAAO,KAAK,QAAQ,OAAO,KAC5C,gBACF,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,GACA;;;;;;;;;;;;;;;;;;;;EA6CD,IACC,QAAQ,UAAU,WAAW,UAAU,mBAAmB;;;;;;;;;;;;;;EAyB3D;EAKA,MAAM;EAMN,OACC,IAAI,gBACH,QACA,WACA,SACA,WACA,UACA,WACA,eACA,gBAEC,SACF,QACA,SACA,QACA,WACA,WACA,SACA,UACA,eACA,0BACA,cACA,WACA;;;;cC/sBW,gBACZ,kBAAkB,gBAClB,+BACA,gBAAgB,SAAS,QACzB,oBACA,4DACA,sBAAsB,2CACtB,kDACA,qBAAqB,mCAGjB,0BAA0B,YAAY,iBAC1C,uBACA,8CACA,yBAAyB,eAAe,kBAAkB,eAEzD,iBAED,mBACG,UAAU,WAAW,UAAU;UAG1B;;;;;;;;;;;UAWA;UACA;UACA;UAOA;UAMA;;;;;;;;UAQA;UACA;UACA;UACA;UAGA;UAGA;UACA;UACA;EAER,cACC,UACA,oBACA,eACA,yBAEA,iBACA,mBACA,sBACA,uBACA,uBACA,wBACA,uBACA,uBACA,kBACA,WACE,uBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,WACA,sBACA,kBACA;SAuBM,UAAU,0BAA0B,kBAC1C,MAAM,GACN,WAAU,YACR,UAAU,WAAW;EAmCxB,kBAAkB,6BACjB,aAAa,IACX,gBACF,WACA,WACA,SACA,UACA,GACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;;;;;;;;;;;;;;;;;EAqDD,gBAAgB,UAAU,eAAe,iBACxC,SAAS,IACP,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,mBAAmB,GACnB;;;;;;;;;;;EA8CD,WACC,MACG,gCACM,mBACN,gCAED,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;EAkDD,MAAM,sBACL,MAAM,QACJ,gBACF,WACA,UAAU,WAAW,QACrB,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;EAmCD,UACC,IAAI,YAAY,WAAW,SAAS,qBAAqB,aACvD,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;;;;;;;;;;;;EA6CD,gBAAgB,mBAAmB,cAClC,YAAY,IACV,oBACE,WAAW,OAAO,YACtB,WACA,SAC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"}