@bgord/bun 0.24.2 → 0.25.1

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 (108) hide show
  1. package/dist/antivirus-clamav.adapter.d.ts +5 -0
  2. package/dist/antivirus-clamav.adapter.d.ts.map +1 -0
  3. package/dist/antivirus-clamav.adapter.js +27 -0
  4. package/dist/antivirus-clamav.adapter.js.map +1 -0
  5. package/dist/antivirus-noop.adapter.d.ts +6 -0
  6. package/dist/antivirus-noop.adapter.d.ts.map +1 -0
  7. package/dist/antivirus-noop.adapter.js +6 -0
  8. package/dist/antivirus-noop.adapter.js.map +1 -0
  9. package/dist/antivirus.port.d.ts +17 -0
  10. package/dist/antivirus.port.d.ts.map +1 -0
  11. package/dist/antivirus.port.js +13 -0
  12. package/dist/antivirus.port.js.map +1 -0
  13. package/dist/api-version.middleware.d.ts +6 -1
  14. package/dist/api-version.middleware.d.ts.map +1 -1
  15. package/dist/api-version.middleware.js +2 -2
  16. package/dist/api-version.middleware.js.map +1 -1
  17. package/dist/build-info-repository.service.d.ts +6 -1
  18. package/dist/build-info-repository.service.d.ts.map +1 -1
  19. package/dist/build-info-repository.service.js +2 -2
  20. package/dist/build-info-repository.service.js.map +1 -1
  21. package/dist/clock-fixed.adapter.d.ts +10 -0
  22. package/dist/clock-fixed.adapter.d.ts.map +1 -0
  23. package/dist/clock-fixed.adapter.js +17 -0
  24. package/dist/clock-fixed.adapter.js.map +1 -0
  25. package/dist/clock-system.adapter.d.ts +7 -0
  26. package/dist/clock-system.adapter.d.ts.map +1 -0
  27. package/dist/clock-system.adapter.js +10 -0
  28. package/dist/clock-system.adapter.js.map +1 -0
  29. package/dist/clock.port.d.ts +6 -0
  30. package/dist/clock.port.d.ts.map +1 -0
  31. package/dist/clock.port.js +2 -0
  32. package/dist/clock.port.js.map +1 -0
  33. package/dist/command-envelope.d.ts +9 -2
  34. package/dist/command-envelope.d.ts.map +1 -1
  35. package/dist/command-envelope.js +3 -3
  36. package/dist/command-envelope.js.map +1 -1
  37. package/dist/event-envelope.d.ts +9 -2
  38. package/dist/event-envelope.d.ts.map +1 -1
  39. package/dist/event-envelope.js +3 -3
  40. package/dist/event-envelope.js.map +1 -1
  41. package/dist/healthcheck.service.d.ts +6 -1
  42. package/dist/healthcheck.service.d.ts.map +1 -1
  43. package/dist/healthcheck.service.js +3 -3
  44. package/dist/healthcheck.service.js.map +1 -1
  45. package/dist/id-provider-crypto.adapter.d.ts +5 -0
  46. package/dist/id-provider-crypto.adapter.d.ts.map +1 -0
  47. package/dist/id-provider-crypto.adapter.js +6 -0
  48. package/dist/id-provider-crypto.adapter.js.map +1 -0
  49. package/dist/id-provider-deterministic.adapter.d.ts +8 -0
  50. package/dist/id-provider-deterministic.adapter.d.ts.map +1 -0
  51. package/dist/id-provider-deterministic.adapter.js +13 -0
  52. package/dist/id-provider-deterministic.adapter.js.map +1 -0
  53. package/dist/id-provider.port.d.ts +5 -0
  54. package/dist/id-provider.port.d.ts.map +1 -0
  55. package/dist/id-provider.port.js +2 -0
  56. package/dist/id-provider.port.js.map +1 -0
  57. package/dist/index.d.ts +9 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +9 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/jobs.service.d.ts +3 -1
  62. package/dist/jobs.service.d.ts.map +1 -1
  63. package/dist/jobs.service.js +4 -3
  64. package/dist/jobs.service.js.map +1 -1
  65. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts +3 -1
  66. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts.map +1 -1
  67. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.js +2 -2
  68. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.js.map +1 -1
  69. package/dist/remote-file-storage-noop.adapter.d.ts +3 -1
  70. package/dist/remote-file-storage-noop.adapter.d.ts.map +1 -1
  71. package/dist/remote-file-storage-noop.adapter.js +5 -5
  72. package/dist/remote-file-storage-noop.adapter.js.map +1 -1
  73. package/dist/setup.service.d.ts +9 -1
  74. package/dist/setup.service.d.ts.map +1 -1
  75. package/dist/setup.service.js +10 -6
  76. package/dist/setup.service.js.map +1 -1
  77. package/dist/shield-rate-limit.middleware.d.ts +5 -1
  78. package/dist/shield-rate-limit.middleware.d.ts.map +1 -1
  79. package/dist/shield-rate-limit.middleware.js +2 -3
  80. package/dist/shield-rate-limit.middleware.js.map +1 -1
  81. package/dist/tsconfig.tsbuildinfo +1 -1
  82. package/dist/uptime.service.d.ts +2 -1
  83. package/dist/uptime.service.d.ts.map +1 -1
  84. package/dist/uptime.service.js +2 -2
  85. package/dist/uptime.service.js.map +1 -1
  86. package/package.json +2 -2
  87. package/readme.md +9 -0
  88. package/src/antivirus-clamav.adapter.ts +39 -0
  89. package/src/antivirus-noop.adapter.ts +8 -0
  90. package/src/antivirus.port.ts +21 -0
  91. package/src/api-version.middleware.ts +9 -5
  92. package/src/build-info-repository.service.ts +5 -2
  93. package/src/clock-fixed.adapter.ts +18 -0
  94. package/src/clock-system.adapter.ts +12 -0
  95. package/src/clock.port.ts +6 -0
  96. package/src/command-envelope.ts +7 -3
  97. package/src/event-envelope.ts +7 -3
  98. package/src/healthcheck.service.ts +11 -11
  99. package/src/id-provider-crypto.adapter.ts +7 -0
  100. package/src/id-provider-deterministic.adapter.ts +14 -0
  101. package/src/id-provider.port.ts +5 -0
  102. package/src/index.ts +9 -0
  103. package/src/jobs.service.ts +6 -3
  104. package/src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts +5 -1
  105. package/src/remote-file-storage-noop.adapter.ts +7 -6
  106. package/src/setup.service.ts +19 -6
  107. package/src/shield-rate-limit.middleware.ts +5 -3
  108. package/src/uptime.service.ts +5 -2
@@ -0,0 +1,5 @@
1
+ import { type AntivirusPort, type AntivirusScanResult } from "./antivirus.port";
2
+ export declare class AntivirusClamavAdapter implements AntivirusPort {
3
+ scanBytes(bytes: Uint8Array): Promise<AntivirusScanResult>;
4
+ }
5
+ //# sourceMappingURL=antivirus-clamav.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antivirus-clamav.adapter.d.ts","sourceRoot":"","sources":["../src/antivirus-clamav.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,mBAAmB,EAEzB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,sBAAuB,YAAW,aAAa;IACpD,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA8BjE"}
@@ -0,0 +1,27 @@
1
+ import { AntivirusScanFailedError, VirusDetectedError, } from "./antivirus.port";
2
+ export class AntivirusClamavAdapter {
3
+ async scanBytes(bytes) {
4
+ const antivirus = Bun.spawn({
5
+ cmd: ["clamscan", "--infected", "--no-summary", "--stdout", "-"],
6
+ stdin: "pipe",
7
+ stdout: "pipe",
8
+ stderr: "pipe",
9
+ });
10
+ if (!antivirus.stdin)
11
+ throw new AntivirusScanFailedError();
12
+ antivirus.stdin.write(bytes);
13
+ await antivirus.stdin.end();
14
+ await antivirus.exited;
15
+ const stdoutText = await new Response(antivirus.stdout).text();
16
+ const stderrText = await new Response(antivirus.stderr).text();
17
+ if (antivirus.exitCode === 0)
18
+ return { clean: true };
19
+ if (antivirus.exitCode === 1) {
20
+ const match = stdoutText.match(/:\s+(?<signature>.+)\s+FOUND\s*$/m) ??
21
+ stderrText.match(/:\s+(?<signature>.+)\s+FOUND\s*$/m);
22
+ return { clean: false, signature: match?.groups?.signature?.trim() ?? "Unknown" };
23
+ }
24
+ throw new VirusDetectedError();
25
+ }
26
+ }
27
+ //# sourceMappingURL=antivirus-clamav.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antivirus-clamav.adapter.js","sourceRoot":"","sources":["../src/antivirus-clamav.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAExB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,OAAO,sBAAsB;IACjC,KAAK,CAAC,SAAS,CAAC,KAAiB;QAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;YAC1B,GAAG,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC;YAChE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,KAAK;YAAE,MAAM,IAAI,wBAAwB,EAAE,CAAC;QAE3D,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAE5B,MAAM,SAAS,CAAC,MAAM,CAAC;QAEvB,MAAM,UAAU,GAAG,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/D,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAErD,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GACT,UAAU,CAAC,KAAK,CAAC,mCAAmC,CAAC;gBACrD,UAAU,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAExD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;QACpF,CAAC;QAED,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import type { AntivirusPort, AntivirusScanResult } from "./antivirus.port";
3
+ export declare class AntivirusNoopAdapter implements AntivirusPort {
4
+ scanBytes(_bytes: Uint8Array, _filename?: tools.Filename): Promise<AntivirusScanResult>;
5
+ }
6
+ //# sourceMappingURL=antivirus-noop.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antivirus-noop.adapter.d.ts","sourceRoot":"","sources":["../src/antivirus-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,qBAAa,oBAAqB,YAAW,aAAa;IAClD,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAG9F"}
@@ -0,0 +1,6 @@
1
+ export class AntivirusNoopAdapter {
2
+ async scanBytes(_bytes, _filename) {
3
+ return { clean: true };
4
+ }
5
+ }
6
+ //# sourceMappingURL=antivirus-noop.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antivirus-noop.adapter.js","sourceRoot":"","sources":["../src/antivirus-noop.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oBAAoB;IAC/B,KAAK,CAAC,SAAS,CAAC,MAAkB,EAAE,SAA0B;QAC5D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type * as tools from "@bgord/tools";
2
+ export type AntivirusScanResult = {
3
+ clean: true;
4
+ } | {
5
+ clean: false;
6
+ signature: string;
7
+ };
8
+ export declare class AntivirusScanFailedError extends Error {
9
+ constructor();
10
+ }
11
+ export declare class VirusDetectedError extends Error {
12
+ constructor();
13
+ }
14
+ export interface AntivirusPort {
15
+ scanBytes(bytes: Uint8Array, filename?: tools.Filename): Promise<AntivirusScanResult>;
16
+ }
17
+ //# sourceMappingURL=antivirus.port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antivirus.port.d.ts","sourceRoot":"","sources":["../src/antivirus.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,qBAAa,wBAAyB,SAAQ,KAAK;;CAKlD;AAED,qBAAa,kBAAmB,SAAQ,KAAK;;CAK5C;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvF"}
@@ -0,0 +1,13 @@
1
+ export class AntivirusScanFailedError extends Error {
2
+ constructor() {
3
+ super();
4
+ Object.setPrototypeOf(this, AntivirusScanFailedError.prototype);
5
+ }
6
+ }
7
+ export class VirusDetectedError extends Error {
8
+ constructor() {
9
+ super();
10
+ Object.setPrototypeOf(this, VirusDetectedError.prototype);
11
+ }
12
+ }
13
+ //# sourceMappingURL=antivirus.port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antivirus.port.js","sourceRoot":"","sources":["../src/antivirus.port.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C;QACE,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -1,6 +1,11 @@
1
+ import type { ClockPort } from "./clock.port";
2
+ type Dependencies = {
3
+ Clock: ClockPort;
4
+ };
1
5
  export declare class ApiVersion {
2
6
  static HEADER_NAME: string;
3
7
  static DEFAULT_API_VERSION: string;
4
- static attach: import("hono").MiddlewareHandler<any, string, {}>;
8
+ static build: (deps: Dependencies) => import("hono").MiddlewareHandler<any, string, {}>;
5
9
  }
10
+ export {};
6
11
  //# sourceMappingURL=api-version.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-version.middleware.d.ts","sourceRoot":"","sources":["../src/api-version.middleware.ts"],"names":[],"mappings":"AAGA,qBAAa,UAAU;IACrB,MAAM,CAAC,WAAW,SAAiB;IAEnC,MAAM,CAAC,mBAAmB,SAAa;IAEvC,MAAM,CAAC,MAAM,oDAMV;CACJ"}
1
+ {"version":3,"file":"api-version.middleware.d.ts","sourceRoot":"","sources":["../src/api-version.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzC,qBAAa,UAAU;IACrB,MAAM,CAAC,WAAW,SAAiB;IAEnC,MAAM,CAAC,mBAAmB,SAAa;IAEvC,MAAM,CAAC,KAAK,GAAI,MAAM,YAAY,uDAO7B;CACN"}
@@ -3,8 +3,8 @@ import { BuildInfoRepository } from "./build-info-repository.service";
3
3
  export class ApiVersion {
4
4
  static HEADER_NAME = "api-version";
5
5
  static DEFAULT_API_VERSION = "unknown";
6
- static attach = createMiddleware(async (c, next) => {
7
- const build = await BuildInfoRepository.extract();
6
+ static build = (deps) => createMiddleware(async (c, next) => {
7
+ const build = await BuildInfoRepository.extract(deps);
8
8
  c.res.headers.set(ApiVersion.HEADER_NAME, build.BUILD_VERSION ?? ApiVersion.DEFAULT_API_VERSION);
9
9
  await next();
10
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"api-version.middleware.js","sourceRoot":"","sources":["../src/api-version.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,MAAM,OAAO,UAAU;IACrB,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC;IAEnC,MAAM,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAEvC,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAElD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAEjG,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"api-version.middleware.js","sourceRoot":"","sources":["../src/api-version.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAKtE,MAAM,OAAO,UAAU;IACrB,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC;IAEnC,MAAM,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAEvC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAkB,EAAE,EAAE,CACpC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAEjG,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC"}
@@ -1,10 +1,15 @@
1
1
  import * as tools from "@bgord/tools";
2
+ import type { ClockPort } from "./clock.port";
2
3
  export type BuildInfoType = {
3
4
  BUILD_DATE: tools.TimestampType;
4
5
  BUILD_VERSION?: tools.BuildVersionType;
5
6
  };
7
+ type Dependencies = {
8
+ Clock: ClockPort;
9
+ };
6
10
  export declare class BuildInfoRepository {
7
- static extract(): Promise<BuildInfoType>;
11
+ static extract(deps: Dependencies): Promise<BuildInfoType>;
8
12
  static getPackageJson(): Promise<any>;
9
13
  }
14
+ export {};
10
15
  //# sourceMappingURL=build-info-repository.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-info-repository.service.d.ts","sourceRoot":"","sources":["../src/build-info-repository.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;CACxC,CAAC;AAEF,qBAAa,mBAAmB;WACjB,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;WAcjC,cAAc;CAG5B"}
1
+ {"version":3,"file":"build-info-repository.service.d.ts","sourceRoot":"","sources":["../src/build-info-repository.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;CACxC,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzC,qBAAa,mBAAmB;WACjB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;WAcnD,cAAc;CAG5B"}
@@ -1,7 +1,7 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  export class BuildInfoRepository {
3
- static async extract() {
4
- const BUILD_DATE = tools.Timestamp.parse(Date.now());
3
+ static async extract(deps) {
4
+ const BUILD_DATE = deps.Clock.nowMs();
5
5
  try {
6
6
  const packageJson = await BuildInfoRepository.getPackageJson();
7
7
  const BUILD_VERSION = tools.BuildVersion.parse(packageJson.version);
@@ -1 +1 @@
1
- {"version":3,"file":"build-info-repository.service.js","sourceRoot":"","sources":["../src/build-info-repository.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAOtC,MAAM,OAAO,mBAAmB;IAC9B,MAAM,CAAC,KAAK,CAAC,OAAO;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,CAAC;YAE/D,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEpE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc;QACzB,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"build-info-repository.service.js","sourceRoot":"","sources":["../src/build-info-repository.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAUtC,MAAM,OAAO,mBAAmB;IAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAkB;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEtC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,CAAC;YAE/D,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEpE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc;QACzB,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import * as tools from "@bgord/tools";
2
+ import type { ClockPort } from "./clock.port";
3
+ export declare class ClockFixedAdapter implements ClockPort {
4
+ private value;
5
+ constructor(value: number);
6
+ nowMs(): number & import("zod/v4").$brand<"Timestamp">;
7
+ now(): ReturnType<typeof tools.Time.Now>;
8
+ advanceBy(time: tools.TimeResult): void;
9
+ }
10
+ //# sourceMappingURL=clock-fixed.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock-fixed.adapter.d.ts","sourceRoot":"","sources":["../src/clock-fixed.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,iBAAkB,YAAW,SAAS;IACrC,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAEjC,KAAK;IAIL,GAAG,IAAI,UAAU,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IAIxC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;CAGxC"}
@@ -0,0 +1,17 @@
1
+ import * as tools from "@bgord/tools";
2
+ export class ClockFixedAdapter {
3
+ value;
4
+ constructor(value) {
5
+ this.value = value;
6
+ }
7
+ nowMs() {
8
+ return tools.Timestamp.parse(this.value);
9
+ }
10
+ now() {
11
+ return tools.Time.Now(this.value);
12
+ }
13
+ advanceBy(time) {
14
+ this.value += time.ms;
15
+ }
16
+ }
17
+ //# sourceMappingURL=clock-fixed.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock-fixed.adapter.js","sourceRoot":"","sources":["../src/clock-fixed.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,OAAO,iBAAiB;IACR;IAApB,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAErC,KAAK;QACH,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,IAAsB;QAC9B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import * as tools from "@bgord/tools";
2
+ import type { ClockPort } from "./clock.port";
3
+ export declare class ClockSystemAdapter implements ClockPort {
4
+ nowMs(): number & import("zod/v4").$brand<"Timestamp">;
5
+ now(): ReturnType<typeof tools.Time.Now>;
6
+ }
7
+ //# sourceMappingURL=clock-system.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock-system.adapter.d.ts","sourceRoot":"","sources":["../src/clock-system.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,kBAAmB,YAAW,SAAS;IAClD,KAAK;IAIL,GAAG,IAAI,UAAU,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;CAGzC"}
@@ -0,0 +1,10 @@
1
+ import * as tools from "@bgord/tools";
2
+ export class ClockSystemAdapter {
3
+ nowMs() {
4
+ return tools.Timestamp.parse(Date.now());
5
+ }
6
+ now() {
7
+ return tools.Time.Now();
8
+ }
9
+ }
10
+ //# sourceMappingURL=clock-system.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock-system.adapter.js","sourceRoot":"","sources":["../src/clock-system.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,OAAO,kBAAkB;IAC7B,KAAK;QACH,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import type * as tools from "@bgord/tools";
2
+ export interface ClockPort {
3
+ nowMs(): tools.TimestampType;
4
+ now(): ReturnType<typeof tools.Time.Now>;
5
+ }
6
+ //# sourceMappingURL=clock.port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.port.d.ts","sourceRoot":"","sources":["../src/clock.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC;IAC7B,GAAG,IAAI,UAAU,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=clock.port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.port.js","sourceRoot":"","sources":["../src/clock.port.ts"],"names":[],"mappings":""}
@@ -1,11 +1,18 @@
1
+ import type { ClockPort } from "./clock.port";
2
+ import type { IdProviderPort } from "./id-provider.port";
3
+ type Dependencies = {
4
+ IdProvider: IdProviderPort;
5
+ Clock: ClockPort;
6
+ };
1
7
  export declare const CommandEnvelopeSchema: {
2
8
  id: import("zod/v4").ZodUUID;
3
9
  correlationId: import("zod/v4").ZodUUID;
4
10
  createdAt: import("better-auth/*").$ZodBranded<import("zod/v4").ZodNumber, "Timestamp">;
5
11
  };
6
- export declare const createCommandEnvelope: () => {
7
- readonly id: `${string}-${string}-${string}-${string}-${string}`;
12
+ export declare const createCommandEnvelope: (deps: Dependencies) => {
13
+ readonly id: string;
8
14
  readonly correlationId: string;
9
15
  readonly createdAt: number & import("zod/v4").$brand<"Timestamp">;
10
16
  };
17
+ export {};
11
18
  //# sourceMappingURL=command-envelope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-envelope.d.ts","sourceRoot":"","sources":["../src/command-envelope.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB;;;;CAIjC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;CAKrB,CAAC"}
1
+ {"version":3,"file":"command-envelope.d.ts","sourceRoot":"","sources":["../src/command-envelope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,KAAK,YAAY,GAAG;IAAE,UAAU,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAErE,eAAO,MAAM,qBAAqB;;;;CAIjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,YAAY;;;;CAK3C,CAAC"}
@@ -6,9 +6,9 @@ export const CommandEnvelopeSchema = {
6
6
  correlationId: UUID,
7
7
  createdAt: tools.Timestamp,
8
8
  };
9
- export const createCommandEnvelope = () => ({
10
- id: crypto.randomUUID(),
9
+ export const createCommandEnvelope = (deps) => ({
10
+ id: deps.IdProvider.generate(),
11
11
  correlationId: CorrelationStorage.get(),
12
- createdAt: tools.Time.Now().value,
12
+ createdAt: deps.Clock.nowMs(),
13
13
  });
14
14
  //# sourceMappingURL=command-envelope.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-envelope.js","sourceRoot":"","sources":["../src/command-envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,IAAI;IACR,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK,CAAC,SAAS;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CACxC,CAAC;IACC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;IACvB,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE;IACvC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK;CAClC,CAAU,CAAC"}
1
+ {"version":3,"file":"command-envelope.js","sourceRoot":"","sources":["../src/command-envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,IAAI;IACR,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK,CAAC,SAAS;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAkB,EAAE,EAAE,CAC1D,CAAC;IACC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;IAC9B,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE;IACvC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;CAC9B,CAAU,CAAC"}
@@ -1,5 +1,11 @@
1
1
  import { z } from "zod/v4";
2
+ import type { ClockPort } from "./clock.port";
2
3
  import type { EventStreamType } from "./event-stream.vo";
4
+ import type { IdProviderPort } from "./id-provider.port";
5
+ type Dependencies = {
6
+ IdProvider: IdProviderPort;
7
+ Clock: ClockPort;
8
+ };
3
9
  export declare const EventEnvelopeSchema: {
4
10
  id: z.ZodUUID;
5
11
  correlationId: z.ZodUUID;
@@ -8,11 +14,12 @@ export declare const EventEnvelopeSchema: {
8
14
  version: z.ZodLiteral<1>;
9
15
  revision: z.ZodOptional<z.ZodNumber>;
10
16
  };
11
- export declare const createEventEnvelope: (stream: EventStreamType) => {
12
- readonly id: `${string}-${string}-${string}-${string}-${string}`;
17
+ export declare const createEventEnvelope: (stream: EventStreamType, deps: Dependencies) => {
18
+ readonly id: string;
13
19
  readonly correlationId: string;
14
20
  readonly createdAt: number & z.core.$brand<"Timestamp">;
15
21
  readonly stream: string;
16
22
  readonly version: 1;
17
23
  };
24
+ export {};
18
25
  //# sourceMappingURL=event-envelope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-envelope.d.ts","sourceRoot":"","sources":["../src/event-envelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,eAAO,MAAM,mBAAmB;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,eAAe;;;;;;CAO9C,CAAC"}
1
+ {"version":3,"file":"event-envelope.d.ts","sourceRoot":"","sources":["../src/event-envelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,KAAK,YAAY,GAAG;IAAE,UAAU,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAErE,eAAO,MAAM,mBAAmB;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,eAAe,EAAE,MAAM,YAAY;;;;;;CAOlE,CAAC"}
@@ -10,10 +10,10 @@ export const EventEnvelopeSchema = {
10
10
  version: z.literal(1),
11
11
  revision: tools.RevisionValue.optional(),
12
12
  };
13
- export const createEventEnvelope = (stream) => ({
14
- id: crypto.randomUUID(),
13
+ export const createEventEnvelope = (stream, deps) => ({
14
+ id: deps.IdProvider.generate(),
15
15
  correlationId: CorrelationStorage.get(),
16
- createdAt: tools.Time.Now().value,
16
+ createdAt: deps.Clock.nowMs(),
17
17
  stream,
18
18
  version: 1,
19
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"event-envelope.js","sourceRoot":"","sources":["../src/event-envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,IAAI;IACR,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK,CAAC,SAAS;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAE,EAAE,CAC7D,CAAC;IACC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;IACvB,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE;IACvC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK;IACjC,MAAM;IACN,OAAO,EAAE,CAAC;CACX,CAAU,CAAC"}
1
+ {"version":3,"file":"event-envelope.js","sourceRoot":"","sources":["../src/event-envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,IAAI;IACR,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK,CAAC,SAAS;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAE,IAAkB,EAAE,EAAE,CACjF,CAAC;IACC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;IAC9B,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE;IACvC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;IAC7B,MAAM;IACN,OAAO,EAAE,CAAC;CACX,CAAU,CAAC"}
@@ -1,7 +1,11 @@
1
1
  import * as tools from "@bgord/tools";
2
+ import type { ClockPort } from "./clock.port";
2
3
  import * as prereqs from "./prerequisites.service";
4
+ type Dependencies = {
5
+ Clock: ClockPort;
6
+ };
3
7
  export declare class Healthcheck {
4
- static build: (prerequisites: prereqs.AbstractPrerequisite<prereqs.BasePrerequisiteConfig>[]) => [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
8
+ static build: (prerequisites: prereqs.AbstractPrerequisite<prereqs.BasePrerequisiteConfig>[], deps: Dependencies) => [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
5
9
  ok: prereqs.PrerequisiteStatusEnum;
6
10
  version: tools.BuildVersionType;
7
11
  details: {
@@ -19,4 +23,5 @@ export declare class Healthcheck {
19
23
  durationMs: tools.TimestampType;
20
24
  }, 200 | 424, "json">>>];
21
25
  }
26
+ export {};
22
27
  //# sourceMappingURL=healthcheck.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.service.d.ts","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AAmBnD,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GAAI,eAAe,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;YAdzF,OAAO,CAAC,sBAAsB;iBACzB,KAAK,CAAC,gBAAgB;;mBAEtB,OAAO,CAAC,qBAAqB;oBAC5B,OAAO,CAAC,sBAAsB;;;;mCAZG,2BAC5C;;;mBAeU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;uBACf,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;;6BAqCxC;CACN"}
1
+ {"version":3,"file":"healthcheck.service.d.ts","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AAanD,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzC,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GACV,eAAe,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAC7E,MAAM,YAAY;YAZhB,OAAO,CAAC,sBAAsB;iBACzB,KAAK,CAAC,gBAAgB;;mBACb,OAAO,CAAC,qBAAqB;oBAAU,OAAO,CAAC,sBAAsB;;;;mCAVpE,2BACpB;;;mBAWkB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;uBAAa,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;;6BAyC5E;CACN"}
@@ -6,9 +6,9 @@ import * as prereqs from "./prerequisites.service";
6
6
  import { Uptime } from "./uptime.service";
7
7
  const handler = createFactory();
8
8
  export class Healthcheck {
9
- static build = (prerequisites) => handler.createHandlers(async (c) => {
9
+ static build = (prerequisites, deps) => handler.createHandlers(async (c) => {
10
10
  const stopwatch = new tools.Stopwatch();
11
- const build = await BuildInfoRepository.extract();
11
+ const build = await BuildInfoRepository.extract(deps);
12
12
  const details = [];
13
13
  for (const prerequisite of prerequisites) {
14
14
  const status = await prerequisite.verify();
@@ -22,7 +22,7 @@ export class Healthcheck {
22
22
  ok,
23
23
  details,
24
24
  version: build.BUILD_VERSION ?? tools.BuildVersion.parse("unknown"),
25
- uptime: Uptime.get(),
25
+ uptime: Uptime.get(deps.Clock),
26
26
  memory: {
27
27
  bytes: MemoryConsumption.get().toBytes(),
28
28
  formatted: MemoryConsumption.get().format(tools.SizeUnit.MB),
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.service.js","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAyB,MAAM,kBAAkB,CAAC;AAEjE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAgBhC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CAAC,aAA6E,EAAE,EAAE,CAC/F,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAElD,MAAM,OAAO,GAA+C,EAAE,CAAC;QAE/D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAC5F,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO;YACxC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAE3C,MAAM,IAAI,GAAG,EAAE,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvE,MAAM,MAAM,GAA0B;YACpC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;YACnE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE;gBACN,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxC,SAAS,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC7D;YACD,GAAG,SAAS,CAAC,IAAI,EAAE;SACpB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"healthcheck.service.js","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAyB,MAAM,kBAAkB,CAAC;AAEjE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAYhC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CACb,aAA6E,EAC7E,IAAkB,EAClB,EAAE,CACF,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,OAAO,GAA+C,EAAE,CAAC;QAE/D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAC5F,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO;YACxC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAE3C,MAAM,IAAI,GAAG,EAAE,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvE,MAAM,MAAM,GAA0B;YACpC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;YACnE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B,MAAM,EAAE;gBACN,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxC,SAAS,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC7D;YACD,GAAG,SAAS,CAAC,IAAI,EAAE;SACpB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { IdProviderPort } from "./id-provider.port";
2
+ export declare class IdProviderCryptoAdapter implements IdProviderPort {
3
+ generate(): `${string}-${string}-${string}-${string}-${string}`;
4
+ }
5
+ //# sourceMappingURL=id-provider-crypto.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider-crypto.adapter.d.ts","sourceRoot":"","sources":["../src/id-provider-crypto.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,qBAAa,uBAAwB,YAAW,cAAc;IAC5D,QAAQ;CAGT"}
@@ -0,0 +1,6 @@
1
+ export class IdProviderCryptoAdapter {
2
+ generate() {
3
+ return crypto.randomUUID();
4
+ }
5
+ }
6
+ //# sourceMappingURL=id-provider-crypto.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider-crypto.adapter.js","sourceRoot":"","sources":["../src/id-provider-crypto.adapter.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,uBAAuB;IAClC,QAAQ;QACN,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { IdProviderPort } from "./id-provider.port";
2
+ import type { UUIDType } from "./uuid.vo";
3
+ export declare class IdProviderDeterministicAdapter implements IdProviderPort {
4
+ private readonly queue;
5
+ constructor(sequence?: UUIDType[]);
6
+ generate(): string;
7
+ }
8
+ //# sourceMappingURL=id-provider-deterministic.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider-deterministic.adapter.d.ts","sourceRoot":"","sources":["../src/id-provider-deterministic.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,8BAA+B,YAAW,cAAc;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;gBACvB,QAAQ,GAAE,QAAQ,EAAO;IAGrC,QAAQ,IAAI,MAAM;CAKnB"}
@@ -0,0 +1,13 @@
1
+ export class IdProviderDeterministicAdapter {
2
+ queue;
3
+ constructor(sequence = []) {
4
+ this.queue = [...sequence];
5
+ }
6
+ generate() {
7
+ const next = this.queue.shift();
8
+ if (!next)
9
+ throw new Error("IdProviderDeterministicAdapter: sequence exhausted");
10
+ return next;
11
+ }
12
+ }
13
+ //# sourceMappingURL=id-provider-deterministic.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider-deterministic.adapter.js","sourceRoot":"","sources":["../src/id-provider-deterministic.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,8BAA8B;IACxB,KAAK,CAAa;IACnC,YAAY,WAAuB,EAAE;QACnC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC7B,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import type { UUIDType } from "./uuid.vo";
2
+ export interface IdProviderPort {
3
+ generate(): UUIDType;
4
+ }
5
+ //# sourceMappingURL=id-provider.port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider.port.d.ts","sourceRoot":"","sources":["../src/id-provider.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,QAAQ,IAAI,QAAQ,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=id-provider.port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider.port.js","sourceRoot":"","sources":["../src/id-provider.port.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  export { default as sharp } from "sharp";
2
+ export * from "./antivirus.port";
3
+ export * from "./antivirus-clamav.adapter";
4
+ export * from "./antivirus-noop.adapter";
2
5
  export * from "./api-version.middleware";
3
6
  export * from "./basic-auth.service";
4
7
  export * from "./better-auth-logger.service";
@@ -8,6 +11,9 @@ export * from "./cache-resolver.service";
8
11
  export * from "./cache-response.middleware";
9
12
  export * from "./client.vo";
10
13
  export * from "./client-from-hono.adapter";
14
+ export * from "./clock.port";
15
+ export * from "./clock-fixed.adapter";
16
+ export * from "./clock-system.adapter";
11
17
  export * from "./command.types";
12
18
  export * from "./command-envelope";
13
19
  export * from "./command-logger.service";
@@ -40,6 +46,9 @@ export * from "./gzip.service";
40
46
  export * from "./healthcheck.service";
41
47
  export * from "./http-logger.middleware";
42
48
  export * from "./i18n.service";
49
+ export * from "./id-provider.port";
50
+ export * from "./id-provider-crypto.adapter";
51
+ export * from "./id-provider-deterministic.adapter";
43
52
  export * from "./image-alpha.port";
44
53
  export * from "./image-alpha-noop.adapter";
45
54
  export * from "./image-alpha-sharp.adapter";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  export { default as sharp } from "sharp";
2
+ export * from "./antivirus.port";
3
+ export * from "./antivirus-clamav.adapter";
4
+ export * from "./antivirus-noop.adapter";
2
5
  export * from "./api-version.middleware";
3
6
  export * from "./basic-auth.service";
4
7
  export * from "./better-auth-logger.service";
@@ -8,6 +11,9 @@ export * from "./cache-resolver.service";
8
11
  export * from "./cache-response.middleware";
9
12
  export * from "./client.vo";
10
13
  export * from "./client-from-hono.adapter";
14
+ export * from "./clock.port";
15
+ export * from "./clock-fixed.adapter";
16
+ export * from "./clock-system.adapter";
11
17
  export * from "./command.types";
12
18
  export * from "./command-envelope";
13
19
  export * from "./command-logger.service";
@@ -40,6 +46,9 @@ export * from "./gzip.service";
40
46
  export * from "./healthcheck.service";
41
47
  export * from "./http-logger.middleware";
42
48
  export * from "./i18n.service";
49
+ export * from "./id-provider.port";
50
+ export * from "./id-provider-crypto.adapter";
51
+ export * from "./id-provider-deterministic.adapter";
43
52
  export * from "./image-alpha.port";
44
53
  export * from "./image-alpha-noop.adapter";
45
54
  export * from "./image-alpha-sharp.adapter";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}