@bgord/bun 0.24.2 → 0.25.0

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 (58) 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/command-envelope.d.ts +3 -2
  14. package/dist/command-envelope.d.ts.map +1 -1
  15. package/dist/command-envelope.js +2 -2
  16. package/dist/command-envelope.js.map +1 -1
  17. package/dist/event-envelope.d.ts +3 -2
  18. package/dist/event-envelope.d.ts.map +1 -1
  19. package/dist/event-envelope.js +2 -2
  20. package/dist/event-envelope.js.map +1 -1
  21. package/dist/id-provider-crypto.adapter.d.ts +5 -0
  22. package/dist/id-provider-crypto.adapter.d.ts.map +1 -0
  23. package/dist/id-provider-crypto.adapter.js +6 -0
  24. package/dist/id-provider-crypto.adapter.js.map +1 -0
  25. package/dist/id-provider-deterministic.adapter.d.ts +8 -0
  26. package/dist/id-provider-deterministic.adapter.d.ts.map +1 -0
  27. package/dist/id-provider-deterministic.adapter.js +13 -0
  28. package/dist/id-provider-deterministic.adapter.js.map +1 -0
  29. package/dist/id-provider.port.d.ts +5 -0
  30. package/dist/id-provider.port.d.ts.map +1 -0
  31. package/dist/id-provider.port.js +2 -0
  32. package/dist/id-provider.port.js.map +1 -0
  33. package/dist/index.d.ts +6 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +6 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/jobs.service.d.ts +3 -1
  38. package/dist/jobs.service.d.ts.map +1 -1
  39. package/dist/jobs.service.js +4 -3
  40. package/dist/jobs.service.js.map +1 -1
  41. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts +2 -1
  42. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts.map +1 -1
  43. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.js +2 -2
  44. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.js.map +1 -1
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +1 -1
  47. package/readme.md +6 -0
  48. package/src/antivirus-clamav.adapter.ts +39 -0
  49. package/src/antivirus-noop.adapter.ts +8 -0
  50. package/src/antivirus.port.ts +21 -0
  51. package/src/command-envelope.ts +3 -2
  52. package/src/event-envelope.ts +3 -2
  53. package/src/id-provider-crypto.adapter.ts +7 -0
  54. package/src/id-provider-deterministic.adapter.ts +14 -0
  55. package/src/id-provider.port.ts +5 -0
  56. package/src/index.ts +6 -0
  57. package/src/jobs.service.ts +6 -3
  58. package/src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts +3 -1
@@ -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,10 +1,11 @@
1
+ import type { IdProviderPort } from "./id-provider.port";
1
2
  export declare const CommandEnvelopeSchema: {
2
3
  id: import("zod/v4").ZodUUID;
3
4
  correlationId: import("zod/v4").ZodUUID;
4
5
  createdAt: import("better-auth/*").$ZodBranded<import("zod/v4").ZodNumber, "Timestamp">;
5
6
  };
6
- export declare const createCommandEnvelope: () => {
7
- readonly id: `${string}-${string}-${string}-${string}-${string}`;
7
+ export declare const createCommandEnvelope: (IdProvider: IdProviderPort) => {
8
+ readonly id: string;
8
9
  readonly correlationId: string;
9
10
  readonly createdAt: number & import("zod/v4").$brand<"Timestamp">;
10
11
  };
@@ -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":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,eAAO,MAAM,qBAAqB;;;;CAIjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,YAAY,cAAc;;;;CAKnD,CAAC"}
@@ -6,8 +6,8 @@ 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 = (IdProvider) => ({
10
+ id: IdProvider.generate(),
11
11
  correlationId: CorrelationStorage.get(),
12
12
  createdAt: tools.Time.Now().value,
13
13
  });
@@ -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;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,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,CAAC,UAA0B,EAAE,EAAE,CAClE,CAAC;IACC,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE;IACzB,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE;IACvC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK;CAClC,CAAU,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod/v4";
2
2
  import type { EventStreamType } from "./event-stream.vo";
3
+ import type { IdProviderPort } from "./id-provider.port";
3
4
  export declare const EventEnvelopeSchema: {
4
5
  id: z.ZodUUID;
5
6
  correlationId: z.ZodUUID;
@@ -8,8 +9,8 @@ export declare const EventEnvelopeSchema: {
8
9
  version: z.ZodLiteral<1>;
9
10
  revision: z.ZodOptional<z.ZodNumber>;
10
11
  };
11
- export declare const createEventEnvelope: (stream: EventStreamType) => {
12
- readonly id: `${string}-${string}-${string}-${string}-${string}`;
12
+ export declare const createEventEnvelope: (IdProvider: IdProviderPort, stream: EventStreamType) => {
13
+ readonly id: string;
13
14
  readonly correlationId: string;
14
15
  readonly createdAt: number & z.core.$brand<"Timestamp">;
15
16
  readonly stream: string;
@@ -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;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,eAAO,MAAM,mBAAmB;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,YAAY,cAAc,EAAE,QAAQ,eAAe;;;;;;CAO1E,CAAC"}
@@ -10,8 +10,8 @@ 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 = (IdProvider, stream) => ({
14
+ id: IdProvider.generate(),
15
15
  correlationId: CorrelationStorage.get(),
16
16
  createdAt: tools.Time.Now().value,
17
17
  stream,
@@ -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;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,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,UAA0B,EAAE,MAAuB,EAAE,EAAE,CACzF,CAAC;IACC,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE;IACzB,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"}
@@ -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";
@@ -40,6 +43,9 @@ export * from "./gzip.service";
40
43
  export * from "./healthcheck.service";
41
44
  export * from "./http-logger.middleware";
42
45
  export * from "./i18n.service";
46
+ export * from "./id-provider.port";
47
+ export * from "./id-provider-crypto.adapter";
48
+ export * from "./id-provider-deterministic.adapter";
43
49
  export * from "./image-alpha.port";
44
50
  export * from "./image-alpha-noop.adapter";
45
51
  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";
@@ -40,6 +43,9 @@ export * from "./gzip.service";
40
43
  export * from "./healthcheck.service";
41
44
  export * from "./http-logger.middleware";
42
45
  export * from "./i18n.service";
46
+ export * from "./id-provider.port";
47
+ export * from "./id-provider-crypto.adapter";
48
+ export * from "./id-provider-deterministic.adapter";
43
49
  export * from "./image-alpha.port";
44
50
  export * from "./image-alpha-noop.adapter";
45
51
  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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"}
@@ -1,5 +1,6 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  import type { Cron } from "croner";
3
+ import type { IdProviderPort } from "./id-provider.port";
3
4
  import type { LoggerPort } from "./logger.port";
4
5
  export type JobNameType = string;
5
6
  export type MultipleJobsType = Record<JobNameType, Cron>;
@@ -28,7 +29,8 @@ export type JobProcessorType = {
28
29
  };
29
30
  export declare class JobHandler {
30
31
  private readonly logger;
31
- constructor(logger: LoggerPort);
32
+ private readonly IdProvider;
33
+ constructor(logger: LoggerPort, IdProvider: IdProviderPort);
32
34
  handle(jobProcessor: JobProcessorType): () => Promise<void>;
33
35
  protect(cron: Cron): () => Promise<void>;
34
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.service.d.ts","sourceRoot":"","sources":["../src/jobs.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAEzD,oBAAY,mBAAmB;IAC7B,MAAM,IAAI;IACV,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,MAAM,IAAI;CACX;AAED,qBAAa,IAAI;IACf,MAAM,CAAC,SAAS;;;wBAGE,mBAAmB,WAAW,KAAK,CAAC,IAAI;MACxD;IAEF,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB;IAIrC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO;CAGtD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,MAAM,CAAC,YAAY,EAAE,gBAAgB;IAuCrC,OAAO,CAAC,IAAI,EAAE,IAAI;CAOnB"}
1
+ {"version":3,"file":"jobs.service.d.ts","sourceRoot":"","sources":["../src/jobs.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAEzD,oBAAY,mBAAmB;IAC7B,MAAM,IAAI;IACV,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,MAAM,IAAI;CACX;AAED,qBAAa,IAAI;IACf,MAAM,CAAC,SAAS;;;wBAGE,mBAAmB,WAAW,KAAK,CAAC,IAAI;MACxD;IAEF,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB;IAIrC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO;CAGtD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,cAAc;IAG7C,MAAM,CAAC,YAAY,EAAE,gBAAgB;IAuCrC,OAAO,CAAC,IAAI,EAAE,IAAI;CAOnB"}
@@ -1,5 +1,4 @@
1
1
  import * as tools from "@bgord/tools";
2
- import { CorrelationId } from "./correlation-id.vo";
3
2
  import { CorrelationStorage } from "./correlation-storage.service";
4
3
  import { formatError } from "./logger-format-error.service";
5
4
  export var UTC_DAY_OF_THE_WEEK;
@@ -27,11 +26,13 @@ export class Jobs {
27
26
  }
28
27
  export class JobHandler {
29
28
  logger;
30
- constructor(logger) {
29
+ IdProvider;
30
+ constructor(logger, IdProvider) {
31
31
  this.logger = logger;
32
+ this.IdProvider = IdProvider;
32
33
  }
33
34
  handle(jobProcessor) {
34
- const correlationId = CorrelationId.parse(crypto.randomUUID());
35
+ const correlationId = this.IdProvider.generate();
35
36
  // biome-ignore lint: lint/complexity/noUselessThisAlias
36
37
  const that = this;
37
38
  return async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.service.js","sourceRoot":"","sources":["../src/jobs.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.service.js","sourceRoot":"","sources":["../src/jobs.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type * as tools from "@bgord/tools";
2
2
  import type { EventStoreLike } from "../../../event-store-like.types";
3
+ import type { IdProviderPort } from "../../../id-provider.port";
3
4
  import type * as Commands from "../commands";
4
5
  import * as Events from "../events";
5
6
  import type * as Ports from "../ports";
6
7
  import type * as VO from "../value-objects";
7
8
  type AcceptedEvent = Events.UserLanguageSetEventType;
8
- export declare const handleSetUserLanguageCommand: <L extends readonly tools.LanguageType[]>(EventStore: EventStoreLike<AcceptedEvent>, query: Ports.UserLanguageQueryPort, supported: VO.SupportedLanguagesSet<L>) => (command: Commands.SetUserLanguageCommandType) => Promise<void>;
9
+ export declare const handleSetUserLanguageCommand: <L extends readonly tools.LanguageType[]>(EventStore: EventStoreLike<AcceptedEvent>, IdProvider: IdProviderPort, query: Ports.UserLanguageQueryPort, supported: VO.SupportedLanguagesSet<L>) => (command: Commands.SetUserLanguageCommandType) => Promise<void>;
9
10
  export {};
10
11
  //# sourceMappingURL=handleSetUserLanguageCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleSetUserLanguageCommand.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,KAAK,QAAQ,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,KAAK,KAAK,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAErD,eAAO,MAAM,4BAA4B,GACtC,CAAC,SAAS,SAAS,KAAK,CAAC,YAAY,EAAE,EACtC,YAAY,cAAc,CAAC,aAAa,CAAC,EACzC,OAAO,KAAK,CAAC,qBAAqB,EAClC,WAAW,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAEjC,SAAS,QAAQ,CAAC,0BAA0B,kBAalD,CAAC"}
1
+ {"version":3,"file":"handleSetUserLanguageCommand.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,KAAK,QAAQ,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,KAAK,KAAK,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAErD,eAAO,MAAM,4BAA4B,GACtC,CAAC,SAAS,SAAS,KAAK,CAAC,YAAY,EAAE,EACtC,YAAY,cAAc,CAAC,aAAa,CAAC,EACzC,YAAY,cAAc,EAC1B,OAAO,KAAK,CAAC,qBAAqB,EAClC,WAAW,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAEjC,SAAS,QAAQ,CAAC,0BAA0B,kBAalD,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { createEventEnvelope } from "../../../event-envelope";
2
2
  import * as Events from "../events";
3
3
  import * as Invariants from "../invariants";
4
- export const handleSetUserLanguageCommand = (EventStore, query, supported) => async (command) => {
4
+ export const handleSetUserLanguageCommand = (EventStore, IdProvider, query, supported) => async (command) => {
5
5
  const candidate = supported.ensure(command.payload.language);
6
6
  const current = await query.get(command.payload.userId);
7
7
  if (Invariants.UserLanguageHasChanged.fails({ current, candidate: command.payload.language }))
8
8
  return;
9
9
  const event = Events.UserLanguageSetEvent.parse({
10
- ...createEventEnvelope(`preferences_${command.payload.userId}`),
10
+ ...createEventEnvelope(IdProvider, `preferences_${command.payload.userId}`),
11
11
  name: Events.USER_LANGUAGE_SET_EVENT,
12
12
  payload: { userId: command.payload.userId, language: candidate },
13
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"handleSetUserLanguageCommand.js","sourceRoot":"","sources":["../../../../src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAM5C,MAAM,CAAC,MAAM,4BAA4B,GACvC,CACE,UAAyC,EACzC,KAAkC,EAClC,SAAsC,EACtC,EAAE,CACJ,KAAK,EAAE,OAA4C,EAAE,EAAE;IACrD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,IAAI,UAAU,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAE,OAAO;IAEtG,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAC9C,GAAG,mBAAmB,CAAC,eAAe,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,IAAI,EAAE,MAAM,CAAC,uBAAuB;QACpC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;KACvB,CAAC,CAAC;IAE7C,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"handleSetUserLanguageCommand.js","sourceRoot":"","sources":["../../../../src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAM5C,MAAM,CAAC,MAAM,4BAA4B,GACvC,CACE,UAAyC,EACzC,UAA0B,EAC1B,KAAkC,EAClC,SAAsC,EACtC,EAAE,CACJ,KAAK,EAAE,OAA4C,EAAE,EAAE;IACrD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,IAAI,UAAU,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAE,OAAO;IAEtG,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAC9C,GAAG,mBAAmB,CAAC,UAAU,EAAE,eAAe,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3E,IAAI,EAAE,MAAM,CAAC,uBAAuB;QACpC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;KACvB,CAAC,CAAC;IAE7C,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC"}