@zudojs/adapters 0.0.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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/adapter/adapter.registry.d.ts +52 -0
  5. package/dist/adapter/adapter.registry.d.ts.map +1 -0
  6. package/dist/adapter/adapter.registry.js +74 -0
  7. package/dist/adapter/adapter.registry.js.map +1 -0
  8. package/dist/adapter/adapter.type.d.ts +48 -0
  9. package/dist/adapter/adapter.type.d.ts.map +1 -0
  10. package/dist/adapter/adapter.type.js +7 -0
  11. package/dist/adapter/adapter.type.js.map +1 -0
  12. package/dist/adapter/index.d.ts +8 -0
  13. package/dist/adapter/index.d.ts.map +1 -0
  14. package/dist/adapter/index.js +7 -0
  15. package/dist/adapter/index.js.map +1 -0
  16. package/dist/capabilities/capabilities.type.d.ts +38 -0
  17. package/dist/capabilities/capabilities.type.d.ts.map +1 -0
  18. package/dist/capabilities/capabilities.type.js +7 -0
  19. package/dist/capabilities/capabilities.type.js.map +1 -0
  20. package/dist/capabilities/index.d.ts +7 -0
  21. package/dist/capabilities/index.d.ts.map +1 -0
  22. package/dist/capabilities/index.js +7 -0
  23. package/dist/capabilities/index.js.map +1 -0
  24. package/dist/cli/cliAdapter.type.d.ts +31 -0
  25. package/dist/cli/cliAdapter.type.d.ts.map +1 -0
  26. package/dist/cli/cliAdapter.type.js +7 -0
  27. package/dist/cli/cliAdapter.type.js.map +1 -0
  28. package/dist/cli/index.d.ts +7 -0
  29. package/dist/cli/index.d.ts.map +1 -0
  30. package/dist/cli/index.js +7 -0
  31. package/dist/cli/index.js.map +1 -0
  32. package/dist/errors/index.d.ts +8 -0
  33. package/dist/errors/index.d.ts.map +1 -0
  34. package/dist/errors/index.js +7 -0
  35. package/dist/errors/index.js.map +1 -0
  36. package/dist/http/httpAdapter.type.d.ts +85 -0
  37. package/dist/http/httpAdapter.type.d.ts.map +1 -0
  38. package/dist/http/httpAdapter.type.js +7 -0
  39. package/dist/http/httpAdapter.type.js.map +1 -0
  40. package/dist/http/index.d.ts +7 -0
  41. package/dist/http/index.d.ts.map +1 -0
  42. package/dist/http/index.js +7 -0
  43. package/dist/http/index.js.map +1 -0
  44. package/dist/index.d.ts +38 -0
  45. package/dist/index.d.ts.map +1 -0
  46. package/dist/index.js +23 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/lifecycle/index.d.ts +8 -0
  49. package/dist/lifecycle/index.d.ts.map +1 -0
  50. package/dist/lifecycle/index.js +7 -0
  51. package/dist/lifecycle/index.js.map +1 -0
  52. package/dist/lifecycle/lifecycle.type.d.ts +55 -0
  53. package/dist/lifecycle/lifecycle.type.d.ts.map +1 -0
  54. package/dist/lifecycle/lifecycle.type.js +35 -0
  55. package/dist/lifecycle/lifecycle.type.js.map +1 -0
  56. package/dist/messaging/index.d.ts +7 -0
  57. package/dist/messaging/index.d.ts.map +1 -0
  58. package/dist/messaging/index.js +7 -0
  59. package/dist/messaging/index.js.map +1 -0
  60. package/dist/messaging/messageAdapter.type.d.ts +32 -0
  61. package/dist/messaging/messageAdapter.type.d.ts.map +1 -0
  62. package/dist/messaging/messageAdapter.type.js +7 -0
  63. package/dist/messaging/messageAdapter.type.js.map +1 -0
  64. package/dist/metadata/index.d.ts +7 -0
  65. package/dist/metadata/index.d.ts.map +1 -0
  66. package/dist/metadata/index.js +7 -0
  67. package/dist/metadata/index.js.map +1 -0
  68. package/dist/metadata/metadata.type.d.ts +34 -0
  69. package/dist/metadata/metadata.type.d.ts.map +1 -0
  70. package/dist/metadata/metadata.type.js +7 -0
  71. package/dist/metadata/metadata.type.js.map +1 -0
  72. package/dist/queue/index.d.ts +7 -0
  73. package/dist/queue/index.d.ts.map +1 -0
  74. package/dist/queue/index.js +7 -0
  75. package/dist/queue/index.js.map +1 -0
  76. package/dist/queue/queueAdapter.type.d.ts +34 -0
  77. package/dist/queue/queueAdapter.type.d.ts.map +1 -0
  78. package/dist/queue/queueAdapter.type.js +9 -0
  79. package/dist/queue/queueAdapter.type.js.map +1 -0
  80. package/dist/runtime/index.d.ts +7 -0
  81. package/dist/runtime/index.d.ts.map +1 -0
  82. package/dist/runtime/index.js +7 -0
  83. package/dist/runtime/index.js.map +1 -0
  84. package/dist/runtime/runtimeAdapter.type.d.ts +28 -0
  85. package/dist/runtime/runtimeAdapter.type.d.ts.map +1 -0
  86. package/dist/runtime/runtimeAdapter.type.js +9 -0
  87. package/dist/runtime/runtimeAdapter.type.js.map +1 -0
  88. package/dist/scheduler/index.d.ts +7 -0
  89. package/dist/scheduler/index.d.ts.map +1 -0
  90. package/dist/scheduler/index.js +7 -0
  91. package/dist/scheduler/index.js.map +1 -0
  92. package/dist/scheduler/schedulerAdapter.type.d.ts +36 -0
  93. package/dist/scheduler/schedulerAdapter.type.d.ts.map +1 -0
  94. package/dist/scheduler/schedulerAdapter.type.js +7 -0
  95. package/dist/scheduler/schedulerAdapter.type.js.map +1 -0
  96. package/dist/storage/index.d.ts +7 -0
  97. package/dist/storage/index.d.ts.map +1 -0
  98. package/dist/storage/index.js +7 -0
  99. package/dist/storage/index.js.map +1 -0
  100. package/dist/storage/storageAdapter.type.d.ts +24 -0
  101. package/dist/storage/storageAdapter.type.d.ts.map +1 -0
  102. package/dist/storage/storageAdapter.type.js +9 -0
  103. package/dist/storage/storageAdapter.type.js.map +1 -0
  104. package/dist/testing/adapterTesting.helper.d.ts +26 -0
  105. package/dist/testing/adapterTesting.helper.d.ts.map +1 -0
  106. package/dist/testing/adapterTesting.helper.js +55 -0
  107. package/dist/testing/adapterTesting.helper.js.map +1 -0
  108. package/dist/testing/index.d.ts +11 -0
  109. package/dist/testing/index.d.ts.map +1 -0
  110. package/dist/testing/index.js +7 -0
  111. package/dist/testing/index.js.map +1 -0
  112. package/dist/websocket/index.d.ts +7 -0
  113. package/dist/websocket/index.d.ts.map +1 -0
  114. package/dist/websocket/index.js +7 -0
  115. package/dist/websocket/index.js.map +1 -0
  116. package/dist/websocket/websocketAdapter.type.d.ts +38 -0
  117. package/dist/websocket/websocketAdapter.type.d.ts.map +1 -0
  118. package/dist/websocket/websocketAdapter.type.js +16 -0
  119. package/dist/websocket/websocketAdapter.type.js.map +1 -0
  120. package/package.json +54 -0
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @zudojs/adapters/messaging
3
+ *
4
+ * Messaging adapter contracts — bridges Zudojs messaging to external providers.
5
+ */
6
+ import type { Adapter, AdapterOperationOptions } from "../index.js";
7
+ /**
8
+ * Messaging adapter — connects Zudojs message bus to external providers.
9
+ *
10
+ * Examples: RabbitMQ, Kafka, Redis Streams, NATS, AWS SQS, Google Pub/Sub.
11
+ */
12
+ export interface MessageAdapter extends Adapter {
13
+ /** Publishes a message to the external provider. */
14
+ publish(topic: string, message: unknown, options?: AdapterOperationOptions): Promise<void>;
15
+ /** Subscribes to a topic with a handler. */
16
+ subscribe(topic: string, handler: MessageHandler): Promise<Subscription>;
17
+ /** Unsubscribes from a topic. */
18
+ unsubscribe(subscription: Subscription): Promise<void>;
19
+ }
20
+ /**
21
+ * Message handler function.
22
+ */
23
+ export type MessageHandler = (message: unknown) => Promise<void> | void;
24
+ /**
25
+ * Subscription handle.
26
+ */
27
+ export interface Subscription {
28
+ readonly id: string;
29
+ readonly topic: string;
30
+ unsubscribe(): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=messageAdapter.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageAdapter.type.d.ts","sourceRoot":"","sources":["../../src/messaging/messageAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EAEP,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,oDAAoD;IACpD,OAAO,CACL,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,4CAA4C;IAC5C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzE,iCAAiC;IACjC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/messaging
3
+ *
4
+ * Messaging adapter contracts — bridges Zudojs messaging to external providers.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=messageAdapter.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageAdapter.type.js","sourceRoot":"","sources":["../../src/messaging/messageAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/metadata
3
+ *
4
+ * Adapter metadata types.
5
+ */
6
+ export type { AdapterMetadata } from "./metadata.type.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/metadata
3
+ *
4
+ * Adapter metadata types.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @zudojs/adapters/metadata
3
+ *
4
+ * Adapter metadata — identification and compatibility information.
5
+ */
6
+ /**
7
+ * Adapter metadata.
8
+ *
9
+ * Provides identification, versioning, and compatibility information
10
+ * for diagnostics and tooling.
11
+ */
12
+ export interface AdapterMetadata {
13
+ /** Adapter name. */
14
+ readonly name: string;
15
+ /** Adapter version. */
16
+ readonly version: string;
17
+ /** Human-readable description. */
18
+ readonly description?: string;
19
+ /** Adapter author. */
20
+ readonly author?: string;
21
+ /** Adapter homepage URL. */
22
+ readonly homepage?: string;
23
+ /** Repository URL. */
24
+ readonly repository?: string;
25
+ /** License identifier. */
26
+ readonly license?: string;
27
+ /** Zudojs version compatibility range. */
28
+ readonly zudojs?: string;
29
+ /** Runtime version compatibility (e.g., "node >=18", "bun", "deno"). */
30
+ readonly runtime?: string;
31
+ /** Peer dependencies. */
32
+ readonly peerDependencies?: Readonly<Record<string, string>>;
33
+ }
34
+ //# sourceMappingURL=metadata.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.type.d.ts","sourceRoot":"","sources":["../../src/metadata/metadata.type.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,uBAAuB;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,kCAAkC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,sBAAsB;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,sBAAsB;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,yBAAyB;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9D"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/metadata
3
+ *
4
+ * Adapter metadata — identification and compatibility information.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=metadata.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.type.js","sourceRoot":"","sources":["../../src/metadata/metadata.type.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/queue
3
+ *
4
+ * Queue adapter contracts.
5
+ */
6
+ export type { QueueAdapter, QueueStats } from "./queueAdapter.type.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/queue
3
+ *
4
+ * Queue adapter contracts.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @zudojs/adapters/queue
3
+ *
4
+ * Queue adapter contracts — bridges Zudojs queue to external providers.
5
+ *
6
+ * Examples: BullMQ, RabbitMQ, AWS SQS, Redis, Kafka.
7
+ */
8
+ import type { Adapter, AdapterOperationOptions } from "../index.js";
9
+ /**
10
+ * Queue adapter — connects Zudojs queue abstractions to external providers.
11
+ */
12
+ export interface QueueAdapter extends Adapter {
13
+ /** Enqueues a job. */
14
+ enqueue(job: unknown, options?: AdapterOperationOptions): Promise<string>;
15
+ /** Dequeues a job. */
16
+ dequeue(options?: AdapterOperationOptions): Promise<unknown | null>;
17
+ /** Acknowledges a job as processed. */
18
+ acknowledge(jobId: string, options?: AdapterOperationOptions): Promise<void>;
19
+ /** Rejects a job, optionally requeuing it. */
20
+ reject(jobId: string, requeue?: boolean, options?: AdapterOperationOptions): Promise<void>;
21
+ /** Returns queue statistics. */
22
+ stats(options?: AdapterOperationOptions): Promise<QueueStats>;
23
+ }
24
+ /**
25
+ * Queue statistics.
26
+ */
27
+ export interface QueueStats {
28
+ readonly waiting: number;
29
+ readonly active: number;
30
+ readonly completed: number;
31
+ readonly failed: number;
32
+ readonly delayed: number;
33
+ }
34
+ //# sourceMappingURL=queueAdapter.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queueAdapter.type.d.ts","sourceRoot":"","sources":["../../src/queue/queueAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EAEP,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,sBAAsB;IACtB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1E,sBAAsB;IACtB,OAAO,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAEpE,uCAAuC;IACvC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E,8CAA8C;IAC9C,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,gCAAgC;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @zudojs/adapters/queue
3
+ *
4
+ * Queue adapter contracts — bridges Zudojs queue to external providers.
5
+ *
6
+ * Examples: BullMQ, RabbitMQ, AWS SQS, Redis, Kafka.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=queueAdapter.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queueAdapter.type.js","sourceRoot":"","sources":["../../src/queue/queueAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/runtime
3
+ *
4
+ * Runtime adapter contracts.
5
+ */
6
+ export type { RuntimeAdapter } from "./runtimeAdapter.type.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/runtime
3
+ *
4
+ * Runtime adapter contracts.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @zudojs/adapters/runtime
3
+ *
4
+ * Runtime adapter contracts — bridges Zudojs to execution environments.
5
+ *
6
+ * Examples: Node.js, Bun, Deno, AWS Lambda, Cloudflare Workers.
7
+ */
8
+ import type { Adapter } from "../index.js";
9
+ /**
10
+ * Runtime adapter — provides platform-specific runtime services.
11
+ */
12
+ export interface RuntimeAdapter extends Adapter {
13
+ /** Platform name. */
14
+ readonly platform: string;
15
+ /** Platform version. */
16
+ readonly version?: string;
17
+ /** Creates an AbortSignal tied to the platform's cancellation mechanism. */
18
+ createSignal?(): AbortSignal;
19
+ /** Schedules a task for later execution. */
20
+ schedule?(delay: number, task: () => void): {
21
+ cancel: () => void;
22
+ };
23
+ /** Spawns a background task. */
24
+ spawn?(task: () => void): {
25
+ cancel: () => void;
26
+ };
27
+ }
28
+ //# sourceMappingURL=runtimeAdapter.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeAdapter.type.d.ts","sourceRoot":"","sources":["../../src/runtime/runtimeAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAuB,MAAM,aAAa,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,wBAAwB;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,4EAA4E;IAC5E,YAAY,CAAC,IAAI,WAAW,CAAC;IAE7B,4CAA4C;IAC5C,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAEnE,gCAAgC;IAChC,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAClD"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @zudojs/adapters/runtime
3
+ *
4
+ * Runtime adapter contracts — bridges Zudojs to execution environments.
5
+ *
6
+ * Examples: Node.js, Bun, Deno, AWS Lambda, Cloudflare Workers.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=runtimeAdapter.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeAdapter.type.js","sourceRoot":"","sources":["../../src/runtime/runtimeAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/scheduler
3
+ *
4
+ * Scheduler adapter contracts.
5
+ */
6
+ export type { SchedulerAdapter, ScheduledTask, ScheduledJob, } from "./schedulerAdapter.type.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,YAAY,GACb,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/scheduler
3
+ *
4
+ * Scheduler adapter contracts.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @zudojs/adapters/scheduler
3
+ *
4
+ * Scheduler adapter contracts — bridges Zudojs to scheduling providers.
5
+ */
6
+ import type { Adapter, AdapterOperationOptions } from "../index.js";
7
+ /**
8
+ * Scheduler adapter — manages scheduled tasks.
9
+ */
10
+ export interface SchedulerAdapter extends Adapter {
11
+ /** Schedules a task. */
12
+ schedule(name: string, task: ScheduledTask, options?: AdapterOperationOptions): Promise<ScheduledJob>;
13
+ /** Cancels a scheduled job. */
14
+ cancel(job: ScheduledJob, options?: AdapterOperationOptions): Promise<void>;
15
+ /** Lists all scheduled jobs. */
16
+ list(options?: AdapterOperationOptions): Promise<readonly ScheduledJob[]>;
17
+ }
18
+ /**
19
+ * A scheduled task definition.
20
+ */
21
+ export interface ScheduledTask {
22
+ readonly name: string;
23
+ readonly cron?: string;
24
+ readonly interval?: number;
25
+ readonly handler: () => Promise<void> | void;
26
+ }
27
+ /**
28
+ * A scheduled job handle.
29
+ */
30
+ export interface ScheduledJob {
31
+ readonly id: string;
32
+ readonly name: string;
33
+ readonly nextRun: number;
34
+ cancel(): Promise<void>;
35
+ }
36
+ //# sourceMappingURL=schedulerAdapter.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedulerAdapter.type.d.ts","sourceRoot":"","sources":["../../src/scheduler/schedulerAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EAEP,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,wBAAwB;IACxB,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB,+BAA+B;IAC/B,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E,gCAAgC;IAChC,IAAI,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/scheduler
3
+ *
4
+ * Scheduler adapter contracts — bridges Zudojs to scheduling providers.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=schedulerAdapter.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedulerAdapter.type.js","sourceRoot":"","sources":["../../src/scheduler/schedulerAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/storage
3
+ *
4
+ * Storage adapter contracts.
5
+ */
6
+ export type { StorageAdapter } from "./storageAdapter.type.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/storage
3
+ *
4
+ * Storage adapter contracts.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @zudojs/adapters/storage
3
+ *
4
+ * Storage adapter contracts — bridges Zudojs storage to external providers.
5
+ *
6
+ * Examples: Local filesystem, AWS S3, Cloudflare R2, Google Cloud Storage, Azure Blob.
7
+ */
8
+ import type { Adapter, AdapterOperationOptions } from "../index.js";
9
+ /**
10
+ * Storage adapter — connects Zudojs storage abstractions to external providers.
11
+ */
12
+ export interface StorageAdapter extends Adapter {
13
+ /** Retrieves an object by key. */
14
+ get(key: string, options?: AdapterOperationOptions): Promise<unknown>;
15
+ /** Stores an object. */
16
+ put(key: string, value: unknown, options?: AdapterOperationOptions): Promise<void>;
17
+ /** Deletes an object. */
18
+ delete(key: string, options?: AdapterOperationOptions): Promise<void>;
19
+ /** Checks if an object exists. */
20
+ exists(key: string, options?: AdapterOperationOptions): Promise<boolean>;
21
+ /** Lists objects with optional prefix. */
22
+ list(prefix?: string, options?: AdapterOperationOptions): Promise<readonly string[]>;
23
+ }
24
+ //# sourceMappingURL=storageAdapter.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageAdapter.type.d.ts","sourceRoot":"","sources":["../../src/storage/storageAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EAEP,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,kCAAkC;IAClC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtE,wBAAwB;IACxB,GAAG,CACD,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,yBAAyB;IACzB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,kCAAkC;IAClC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,0CAA0C;IAC1C,IAAI,CACF,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAC/B"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @zudojs/adapters/storage
3
+ *
4
+ * Storage adapter contracts — bridges Zudojs storage to external providers.
5
+ *
6
+ * Examples: Local filesystem, AWS S3, Cloudflare R2, Google Cloud Storage, Azure Blob.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=storageAdapter.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageAdapter.type.js","sourceRoot":"","sources":["../../src/storage/storageAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @zudojs/adapters/testing
3
+ *
4
+ * Testing utilities for adapter implementations.
5
+ */
6
+ import type { Adapter } from "../adapter/adapter.type.js";
7
+ import { AdapterRegistry } from "../adapter/adapter.registry.js";
8
+ import type { AdapterHealth } from "../lifecycle/lifecycle.type.js";
9
+ /**
10
+ * Creates a minimal mock adapter for testing.
11
+ */
12
+ export declare function createMockAdapter(overrides?: Partial<Adapter> & {
13
+ name: string;
14
+ }): Adapter;
15
+ /**
16
+ * Creates a mock adapter registry pre-populated with adapters.
17
+ */
18
+ export declare function createMockAdapterRegistry(adapters?: Adapter[]): {
19
+ registry: AdapterRegistry;
20
+ adapters: Adapter[];
21
+ };
22
+ /**
23
+ * Creates a default healthy health report.
24
+ */
25
+ export declare function createMockHealth(): AdapterHealth;
26
+ //# sourceMappingURL=adapterTesting.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterTesting.helper.d.ts","sourceRoot":"","sources":["../../src/testing/adapterTesting.helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,OAAO,CAAC,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAqB,GAChE,OAAO,CA0BT;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG;IACnE,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAMA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @zudojs/adapters/testing
3
+ *
4
+ * Testing utilities for adapter implementations.
5
+ */
6
+ import { AdapterRegistry } from "../adapter/adapter.registry.js";
7
+ /**
8
+ * Creates a minimal mock adapter for testing.
9
+ */
10
+ export function createMockAdapter(overrides = { name: "mock" }) {
11
+ const capabilities = {
12
+ http: false,
13
+ websocket: false,
14
+ streaming: false,
15
+ filesystem: false,
16
+ tcp: false,
17
+ udp: false,
18
+ backgroundTasks: false,
19
+ longRunning: false,
20
+ edgeRuntime: false,
21
+ serverless: false,
22
+ gracefulShutdown: false,
23
+ abortSignal: false,
24
+ };
25
+ return {
26
+ name: overrides.name,
27
+ version: overrides.version ?? "1.0.0",
28
+ capabilities: overrides.capabilities ?? capabilities,
29
+ metadata: overrides.metadata,
30
+ initialize: overrides.initialize,
31
+ start: overrides.start,
32
+ stop: overrides.stop,
33
+ dispose: overrides.dispose,
34
+ };
35
+ }
36
+ /**
37
+ * Creates a mock adapter registry pre-populated with adapters.
38
+ */
39
+ export function createMockAdapterRegistry(adapters = []) {
40
+ const registry = new AdapterRegistry();
41
+ for (const adapter of adapters) {
42
+ registry.register(adapter);
43
+ }
44
+ return { registry, adapters };
45
+ }
46
+ /**
47
+ * Creates a default healthy health report.
48
+ */
49
+ export function createMockHealth() {
50
+ return {
51
+ status: "healthy",
52
+ timestamp: Date.now(),
53
+ };
54
+ }
55
+ //# sourceMappingURL=adapterTesting.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterTesting.helper.js","sourceRoot":"","sources":["../../src/testing/adapterTesting.helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAS,GAAwC,EAAE,IAAI,EAAE,MAAM,EAAE;IAEjE,MAAM,YAAY,GAAwB;QACxC,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,KAAK;QACjB,gBAAgB,EAAE,KAAK;QACvB,WAAW,EAAE,KAAK;KACnB,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,OAAO;QACrC,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,YAAY;QACpD,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAQ,GAAc,EAAE;IAIhE,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @zudojs/adapters/testing
3
+ *
4
+ * Testing utilities for adapter implementations.
5
+ */
6
+ export type { Adapter } from "../adapter/adapter.type.js";
7
+ export type { AdapterCapabilities } from "../capabilities/capabilities.type.js";
8
+ export type { AdapterRegistry } from "../adapter/adapter.registry.js";
9
+ export type { AdapterHealth } from "../lifecycle/lifecycle.type.js";
10
+ export { createMockAdapter, createMockAdapterRegistry, createMockHealth, } from "./adapterTesting.helper.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/testing
3
+ *
4
+ * Testing utilities for adapter implementations.
5
+ */
6
+ export { createMockAdapter, createMockAdapterRegistry, createMockHealth, } from "./adapterTesting.helper.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/websocket
3
+ *
4
+ * WebSocket adapter contracts.
5
+ */
6
+ export type { WebSocketAdapter, WebSocketSession, WebSocketReadyState, } from "./websocketAdapter.type.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @zudojs/adapters/websocket
3
+ *
4
+ * WebSocket adapter contracts.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @zudojs/adapters/websocket
3
+ *
4
+ * WebSocket adapter contracts — bridges Zudojs to WebSocket providers.
5
+ */
6
+ import type { Adapter } from "../index.js";
7
+ /**
8
+ * WebSocket adapter — manages WebSocket connections.
9
+ */
10
+ export interface WebSocketAdapter extends Adapter {
11
+ /** Accepts a WebSocket connection. */
12
+ accept(connection: unknown): Promise<WebSocketSession>;
13
+ /** Closes a WebSocket session. */
14
+ close(session: WebSocketSession, code?: number, reason?: string): Promise<void>;
15
+ /** Sends a message to a WebSocket session. */
16
+ send(session: WebSocketSession, data: string | ArrayBuffer | Uint8Array): Promise<void>;
17
+ /** Broadcasts a message to all sessions. */
18
+ broadcast(data: string | ArrayBuffer | Uint8Array): Promise<void>;
19
+ }
20
+ /**
21
+ * WebSocket session handle.
22
+ */
23
+ export interface WebSocketSession {
24
+ readonly id: string;
25
+ readonly readyState: WebSocketReadyState;
26
+ close(code?: number, reason?: string): void;
27
+ send(data: string | ArrayBuffer | Uint8Array): void;
28
+ }
29
+ /**
30
+ * WebSocket ready states.
31
+ */
32
+ export declare enum WebSocketReadyState {
33
+ CONNECTING = 0,
34
+ OPEN = 1,
35
+ CLOSING = 2,
36
+ CLOSED = 3
37
+ }
38
+ //# sourceMappingURL=websocketAdapter.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocketAdapter.type.d.ts","sourceRoot":"","sources":["../../src/websocket/websocketAdapter.type.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EAGR,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,sCAAsC;IACtC,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEvD,kCAAkC;IAClC,KAAK,CACH,OAAO,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,8CAA8C;IAC9C,IAAI,CACF,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,4CAA4C;IAC5C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,UAAU,IAAI;IACd,IAAI,IAAI;IACR,OAAO,IAAI;IACX,MAAM,IAAI;CACX"}