@gravito/stream 1.0.0-alpha.2

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 (148) hide show
  1. package/README.md +319 -0
  2. package/dist/Consumer.d.ts +67 -0
  3. package/dist/Consumer.d.ts.map +1 -0
  4. package/dist/Job.d.ts +76 -0
  5. package/dist/Job.d.ts.map +1 -0
  6. package/dist/OrbitQueue.d.ts +74 -0
  7. package/dist/OrbitQueue.d.ts.map +1 -0
  8. package/dist/QueueManager.d.ts +86 -0
  9. package/dist/QueueManager.d.ts.map +1 -0
  10. package/dist/Queueable.d.ts +63 -0
  11. package/dist/Queueable.d.ts.map +1 -0
  12. package/dist/Worker.d.ts +48 -0
  13. package/dist/Worker.d.ts.map +1 -0
  14. package/dist/core/src/ConfigManager.d.ts +26 -0
  15. package/dist/core/src/ConfigManager.d.ts.map +1 -0
  16. package/dist/core/src/Container.d.ts +39 -0
  17. package/dist/core/src/Container.d.ts.map +1 -0
  18. package/dist/core/src/Event.d.ts +6 -0
  19. package/dist/core/src/Event.d.ts.map +1 -0
  20. package/dist/core/src/EventManager.d.ts +124 -0
  21. package/dist/core/src/EventManager.d.ts.map +1 -0
  22. package/dist/core/src/GlobalErrorHandlers.d.ts +32 -0
  23. package/dist/core/src/GlobalErrorHandlers.d.ts.map +1 -0
  24. package/dist/core/src/HookManager.d.ts +29 -0
  25. package/dist/core/src/HookManager.d.ts.map +1 -0
  26. package/dist/core/src/Listener.d.ts +5 -0
  27. package/dist/core/src/Listener.d.ts.map +1 -0
  28. package/dist/core/src/Logger.d.ts +21 -0
  29. package/dist/core/src/Logger.d.ts.map +1 -0
  30. package/dist/core/src/PlanetCore.d.ts +116 -0
  31. package/dist/core/src/PlanetCore.d.ts.map +1 -0
  32. package/dist/core/src/Route.d.ts +13 -0
  33. package/dist/core/src/Route.d.ts.map +1 -0
  34. package/dist/core/src/Router.d.ts +168 -0
  35. package/dist/core/src/Router.d.ts.map +1 -0
  36. package/dist/core/src/ServiceProvider.d.ts +17 -0
  37. package/dist/core/src/ServiceProvider.d.ts.map +1 -0
  38. package/dist/core/src/exceptions/AuthenticationException.d.ts +5 -0
  39. package/dist/core/src/exceptions/AuthenticationException.d.ts.map +1 -0
  40. package/dist/core/src/exceptions/AuthorizationException.d.ts +5 -0
  41. package/dist/core/src/exceptions/AuthorizationException.d.ts.map +1 -0
  42. package/dist/core/src/exceptions/GravitoException.d.ts +15 -0
  43. package/dist/core/src/exceptions/GravitoException.d.ts.map +1 -0
  44. package/dist/core/src/exceptions/ModelNotFoundException.d.ts +7 -0
  45. package/dist/core/src/exceptions/ModelNotFoundException.d.ts.map +1 -0
  46. package/dist/core/src/exceptions/ValidationException.d.ts +15 -0
  47. package/dist/core/src/exceptions/ValidationException.d.ts.map +1 -0
  48. package/dist/core/src/exceptions/index.d.ts +6 -0
  49. package/dist/core/src/exceptions/index.d.ts.map +1 -0
  50. package/dist/core/src/helpers/Arr.d.ts +15 -0
  51. package/dist/core/src/helpers/Arr.d.ts.map +1 -0
  52. package/dist/core/src/helpers/Str.d.ts +19 -0
  53. package/dist/core/src/helpers/Str.d.ts.map +1 -0
  54. package/dist/core/src/helpers/data.d.ts +6 -0
  55. package/dist/core/src/helpers/data.d.ts.map +1 -0
  56. package/dist/core/src/helpers/errors.d.ts +13 -0
  57. package/dist/core/src/helpers/errors.d.ts.map +1 -0
  58. package/dist/core/src/helpers/response.d.ts +19 -0
  59. package/dist/core/src/helpers/response.d.ts.map +1 -0
  60. package/dist/core/src/helpers.d.ts +39 -0
  61. package/dist/core/src/helpers.d.ts.map +1 -0
  62. package/dist/core/src/http/CookieJar.d.ts +34 -0
  63. package/dist/core/src/http/CookieJar.d.ts.map +1 -0
  64. package/dist/core/src/http/middleware/ThrottleRequests.d.ts +13 -0
  65. package/dist/core/src/http/middleware/ThrottleRequests.d.ts.map +1 -0
  66. package/dist/core/src/index.d.ts +32 -0
  67. package/dist/core/src/index.d.ts.map +1 -0
  68. package/dist/core/src/security/Encrypter.d.ts +25 -0
  69. package/dist/core/src/security/Encrypter.d.ts.map +1 -0
  70. package/dist/core/src/security/Hasher.d.ts +30 -0
  71. package/dist/core/src/security/Hasher.d.ts.map +1 -0
  72. package/dist/core/src/types/events.d.ts +95 -0
  73. package/dist/core/src/types/events.d.ts.map +1 -0
  74. package/dist/drivers/DatabaseDriver.d.ts +60 -0
  75. package/dist/drivers/DatabaseDriver.d.ts.map +1 -0
  76. package/dist/drivers/KafkaDriver.d.ts +134 -0
  77. package/dist/drivers/KafkaDriver.d.ts.map +1 -0
  78. package/dist/drivers/MemoryDriver.d.ts +45 -0
  79. package/dist/drivers/MemoryDriver.d.ts.map +1 -0
  80. package/dist/drivers/QueueDriver.d.ts +89 -0
  81. package/dist/drivers/QueueDriver.d.ts.map +1 -0
  82. package/dist/drivers/RedisDriver.d.ts +79 -0
  83. package/dist/drivers/RedisDriver.d.ts.map +1 -0
  84. package/dist/drivers/SQSDriver.d.ts +100 -0
  85. package/dist/drivers/SQSDriver.d.ts.map +1 -0
  86. package/dist/index.cjs +32101 -0
  87. package/dist/index.cjs.map +422 -0
  88. package/dist/index.d.ts +45 -0
  89. package/dist/index.d.ts.map +1 -0
  90. package/dist/index.mjs +32095 -0
  91. package/dist/index.mjs.map +422 -0
  92. package/dist/orbit-db/src/DBService.d.ts +270 -0
  93. package/dist/orbit-db/src/DBService.d.ts.map +1 -0
  94. package/dist/orbit-db/src/EventBus.d.ts +53 -0
  95. package/dist/orbit-db/src/EventBus.d.ts.map +1 -0
  96. package/dist/orbit-db/src/MigrationDriver.d.ts +55 -0
  97. package/dist/orbit-db/src/MigrationDriver.d.ts.map +1 -0
  98. package/dist/orbit-db/src/Model.d.ts +564 -0
  99. package/dist/orbit-db/src/Model.d.ts.map +1 -0
  100. package/dist/orbit-db/src/ModelCollection.d.ts +35 -0
  101. package/dist/orbit-db/src/ModelCollection.d.ts.map +1 -0
  102. package/dist/orbit-db/src/index.d.ts +34 -0
  103. package/dist/orbit-db/src/index.d.ts.map +1 -0
  104. package/dist/orbit-db/src/types.d.ts +146 -0
  105. package/dist/orbit-db/src/types.d.ts.map +1 -0
  106. package/dist/orbit-queue/src/Consumer.d.ts +67 -0
  107. package/dist/orbit-queue/src/Consumer.d.ts.map +1 -0
  108. package/dist/orbit-queue/src/Job.d.ts +76 -0
  109. package/dist/orbit-queue/src/Job.d.ts.map +1 -0
  110. package/dist/orbit-queue/src/OrbitQueue.d.ts +74 -0
  111. package/dist/orbit-queue/src/OrbitQueue.d.ts.map +1 -0
  112. package/dist/orbit-queue/src/QueueManager.d.ts +86 -0
  113. package/dist/orbit-queue/src/QueueManager.d.ts.map +1 -0
  114. package/dist/orbit-queue/src/Queueable.d.ts +63 -0
  115. package/dist/orbit-queue/src/Queueable.d.ts.map +1 -0
  116. package/dist/orbit-queue/src/Worker.d.ts +48 -0
  117. package/dist/orbit-queue/src/Worker.d.ts.map +1 -0
  118. package/dist/orbit-queue/src/drivers/DatabaseDriver.d.ts +60 -0
  119. package/dist/orbit-queue/src/drivers/DatabaseDriver.d.ts.map +1 -0
  120. package/dist/orbit-queue/src/drivers/KafkaDriver.d.ts +134 -0
  121. package/dist/orbit-queue/src/drivers/KafkaDriver.d.ts.map +1 -0
  122. package/dist/orbit-queue/src/drivers/MemoryDriver.d.ts +45 -0
  123. package/dist/orbit-queue/src/drivers/MemoryDriver.d.ts.map +1 -0
  124. package/dist/orbit-queue/src/drivers/QueueDriver.d.ts +89 -0
  125. package/dist/orbit-queue/src/drivers/QueueDriver.d.ts.map +1 -0
  126. package/dist/orbit-queue/src/drivers/RedisDriver.d.ts +79 -0
  127. package/dist/orbit-queue/src/drivers/RedisDriver.d.ts.map +1 -0
  128. package/dist/orbit-queue/src/drivers/SQSDriver.d.ts +100 -0
  129. package/dist/orbit-queue/src/drivers/SQSDriver.d.ts.map +1 -0
  130. package/dist/orbit-queue/src/index.d.ts +45 -0
  131. package/dist/orbit-queue/src/index.d.ts.map +1 -0
  132. package/dist/orbit-queue/src/serializers/ClassNameSerializer.d.ts +46 -0
  133. package/dist/orbit-queue/src/serializers/ClassNameSerializer.d.ts.map +1 -0
  134. package/dist/orbit-queue/src/serializers/JobSerializer.d.ts +36 -0
  135. package/dist/orbit-queue/src/serializers/JobSerializer.d.ts.map +1 -0
  136. package/dist/orbit-queue/src/serializers/JsonSerializer.d.ts +32 -0
  137. package/dist/orbit-queue/src/serializers/JsonSerializer.d.ts.map +1 -0
  138. package/dist/orbit-queue/src/types.d.ts +85 -0
  139. package/dist/orbit-queue/src/types.d.ts.map +1 -0
  140. package/dist/serializers/ClassNameSerializer.d.ts +46 -0
  141. package/dist/serializers/ClassNameSerializer.d.ts.map +1 -0
  142. package/dist/serializers/JobSerializer.d.ts +36 -0
  143. package/dist/serializers/JobSerializer.d.ts.map +1 -0
  144. package/dist/serializers/JsonSerializer.d.ts +32 -0
  145. package/dist/serializers/JsonSerializer.d.ts.map +1 -0
  146. package/dist/types.d.ts +85 -0
  147. package/dist/types.d.ts.map +1 -0
  148. package/package.json +57 -0
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Serialized job payload.
3
+ */
4
+ export interface SerializedJob {
5
+ /**
6
+ * Unique job identifier.
7
+ */
8
+ id: string;
9
+ /**
10
+ * Serializer type: `'json'` or `'class'`.
11
+ */
12
+ type: 'json' | 'class';
13
+ /**
14
+ * Serialized data.
15
+ */
16
+ data: string;
17
+ /**
18
+ * Class name (only for `type === 'class'`).
19
+ */
20
+ className?: string;
21
+ /**
22
+ * Created timestamp.
23
+ */
24
+ createdAt: number;
25
+ /**
26
+ * Delay before execution (seconds).
27
+ */
28
+ delaySeconds?: number;
29
+ /**
30
+ * Current attempt number.
31
+ */
32
+ attempts?: number;
33
+ /**
34
+ * Maximum attempts.
35
+ */
36
+ maxAttempts?: number;
37
+ }
38
+ /**
39
+ * Topic options (for Kafka, etc.).
40
+ */
41
+ export interface TopicOptions {
42
+ /**
43
+ * Number of partitions.
44
+ */
45
+ partitions?: number;
46
+ /**
47
+ * Replication factor.
48
+ */
49
+ replicationFactor?: number;
50
+ /**
51
+ * Additional config.
52
+ */
53
+ config?: Record<string, string>;
54
+ }
55
+ /**
56
+ * Queue connection config.
57
+ */
58
+ export interface QueueConnectionConfig {
59
+ /**
60
+ * Driver type.
61
+ */
62
+ driver: 'memory' | 'database' | 'redis' | 'kafka' | 'sqs' | 'rabbitmq' | 'nats';
63
+ /**
64
+ * Driver-specific config.
65
+ */
66
+ [key: string]: unknown;
67
+ }
68
+ /**
69
+ * Queue manager config.
70
+ */
71
+ export interface QueueConfig {
72
+ /**
73
+ * Default connection name.
74
+ */
75
+ default?: string;
76
+ /**
77
+ * Connection configs.
78
+ */
79
+ connections?: Record<string, QueueConnectionConfig>;
80
+ /**
81
+ * Default serializer type.
82
+ */
83
+ defaultSerializer?: 'json' | 'class';
84
+ }
85
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;IAE/E;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAEnD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrC"}
@@ -0,0 +1,46 @@
1
+ import type { Job } from '../Job';
2
+ import type { SerializedJob } from '../types';
3
+ import type { JobSerializer } from './JobSerializer';
4
+ /**
5
+ * Class name serializer (Laravel-style).
6
+ *
7
+ * Stores the class name and properties, then recreates an instance at runtime.
8
+ * This is the recommended serializer because it can restore class instances correctly.
9
+ *
10
+ * Requirement: Job classes must be dynamically loadable (by class name).
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const serializer = new ClassNameSerializer()
15
+ * const serialized = serializer.serialize(new SendEmail('user@example.com'))
16
+ * // serialized.data contains class name and properties
17
+ *
18
+ * const job = serializer.deserialize(serialized)
19
+ * // job is an instance of SendEmail
20
+ * ```
21
+ */
22
+ export declare class ClassNameSerializer implements JobSerializer {
23
+ /**
24
+ * Job class registry (for resolving classes by name).
25
+ */
26
+ private jobClasses;
27
+ /**
28
+ * Register a Job class.
29
+ * @param jobClass - Job class
30
+ */
31
+ register(jobClass: new (...args: unknown[]) => Job): void;
32
+ /**
33
+ * Register multiple Job classes.
34
+ * @param jobClasses - Job class array
35
+ */
36
+ registerMany(jobClasses: Array<new (...args: unknown[]) => Job>): void;
37
+ /**
38
+ * Serialize a Job.
39
+ */
40
+ serialize(job: Job): SerializedJob;
41
+ /**
42
+ * Deserialize a Job.
43
+ */
44
+ deserialize(serialized: SerializedJob): Job;
45
+ }
46
+ //# sourceMappingURL=ClassNameSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClassNameSerializer.d.ts","sourceRoot":"","sources":["../../src/serializers/ClassNameSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD;;OAEG;IACH,OAAO,CAAC,UAAU,CAAqD;IAEvE;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,GAAG,IAAI;IAIzD;;;OAGG;IACH,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI;IAMtE;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa;IA8BlC;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,aAAa,GAAG,GAAG;CAqC5C"}
@@ -0,0 +1,36 @@
1
+ import type { Job } from '../Job';
2
+ import type { SerializedJob } from '../types';
3
+ /**
4
+ * Job serializer interface.
5
+ *
6
+ * Responsible for serializing and deserializing jobs.
7
+ * Supports multiple strategies (JSON, class-name, etc.).
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * class MySerializer implements JobSerializer {
12
+ * serialize(job: Job): SerializedJob {
13
+ * // serialization logic
14
+ * }
15
+ *
16
+ * deserialize(serialized: SerializedJob): Job {
17
+ * // deserialization logic
18
+ * }
19
+ * }
20
+ * ```
21
+ */
22
+ export interface JobSerializer {
23
+ /**
24
+ * Serialize a job.
25
+ * @param job - Job instance
26
+ * @returns Serialized job payload
27
+ */
28
+ serialize(job: Job): SerializedJob;
29
+ /**
30
+ * Deserialize a job.
31
+ * @param serialized - Serialized job payload
32
+ * @returns Job instance
33
+ */
34
+ deserialize(serialized: SerializedJob): Job;
35
+ }
36
+ //# sourceMappingURL=JobSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JobSerializer.d.ts","sourceRoot":"","sources":["../../src/serializers/JobSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAA;IAElC;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,aAAa,GAAG,GAAG,CAAA;CAC5C"}
@@ -0,0 +1,32 @@
1
+ import type { Job } from '../Job';
2
+ import type { SerializedJob } from '../types';
3
+ import type { JobSerializer } from './JobSerializer';
4
+ /**
5
+ * JSON Serializer
6
+ *
7
+ * Serializes jobs using JSON.
8
+ * Suitable for simple scenarios where you only need to persist plain properties.
9
+ *
10
+ * Limitation: cannot restore class instances, functions, or complex objects.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const serializer = new JsonSerializer()
15
+ * const serialized = serializer.serialize(job)
16
+ * const job = serializer.deserialize(serialized)
17
+ * ```
18
+ */
19
+ export declare class JsonSerializer implements JobSerializer {
20
+ /**
21
+ * Serialize a job.
22
+ */
23
+ serialize(job: Job): SerializedJob;
24
+ /**
25
+ * Deserialize a job.
26
+ *
27
+ * Note: this implementation only restores properties and does not recreate class instances.
28
+ * For class instances, use `ClassNameSerializer`.
29
+ */
30
+ deserialize(serialized: SerializedJob): Job;
31
+ }
32
+ //# sourceMappingURL=JsonSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonSerializer.d.ts","sourceRoot":"","sources":["../../src/serializers/JsonSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,aAAa;IAClD;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa;IAiBlC;;;;;OAKG;IACH,WAAW,CAAC,UAAU,EAAE,aAAa,GAAG,GAAG;CAW5C"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Serialized job payload.
3
+ */
4
+ export interface SerializedJob {
5
+ /**
6
+ * Unique job identifier.
7
+ */
8
+ id: string;
9
+ /**
10
+ * Serializer type: `'json'` or `'class'`.
11
+ */
12
+ type: 'json' | 'class';
13
+ /**
14
+ * Serialized data.
15
+ */
16
+ data: string;
17
+ /**
18
+ * Class name (only for `type === 'class'`).
19
+ */
20
+ className?: string;
21
+ /**
22
+ * Created timestamp.
23
+ */
24
+ createdAt: number;
25
+ /**
26
+ * Delay before execution (seconds).
27
+ */
28
+ delaySeconds?: number;
29
+ /**
30
+ * Current attempt number.
31
+ */
32
+ attempts?: number;
33
+ /**
34
+ * Maximum attempts.
35
+ */
36
+ maxAttempts?: number;
37
+ }
38
+ /**
39
+ * Topic options (for Kafka, etc.).
40
+ */
41
+ export interface TopicOptions {
42
+ /**
43
+ * Number of partitions.
44
+ */
45
+ partitions?: number;
46
+ /**
47
+ * Replication factor.
48
+ */
49
+ replicationFactor?: number;
50
+ /**
51
+ * Additional config.
52
+ */
53
+ config?: Record<string, string>;
54
+ }
55
+ /**
56
+ * Queue connection config.
57
+ */
58
+ export interface QueueConnectionConfig {
59
+ /**
60
+ * Driver type.
61
+ */
62
+ driver: 'memory' | 'database' | 'redis' | 'kafka' | 'sqs' | 'rabbitmq' | 'nats';
63
+ /**
64
+ * Driver-specific config.
65
+ */
66
+ [key: string]: unknown;
67
+ }
68
+ /**
69
+ * Queue manager config.
70
+ */
71
+ export interface QueueConfig {
72
+ /**
73
+ * Default connection name.
74
+ */
75
+ default?: string;
76
+ /**
77
+ * Connection configs.
78
+ */
79
+ connections?: Record<string, QueueConnectionConfig>;
80
+ /**
81
+ * Default serializer type.
82
+ */
83
+ defaultSerializer?: 'json' | 'class';
84
+ }
85
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;IAE/E;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAEnD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrC"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@gravito/stream",
3
+ "version": "1.0.0-alpha.2",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "description": "Lightweight, high-performance queue system for Gravito framework. Supports multiple brokers (Database, Redis, Kafka, SQS) with zero runtime overhead.",
8
+ "module": "./dist/index.mjs",
9
+ "main": "./dist/index.cjs",
10
+ "type": "module",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.mjs",
16
+ "require": "./dist/index.cjs"
17
+ }
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md",
22
+ "LICENSE"
23
+ ],
24
+ "scripts": {
25
+ "build": "bun run build.ts",
26
+ "test": "bun test",
27
+ "typecheck": "tsc --noEmit"
28
+ },
29
+ "keywords": [
30
+ "gravito",
31
+ "orbit",
32
+ "queue",
33
+ "job",
34
+ "worker",
35
+ "kafka",
36
+ "sqs",
37
+ "redis"
38
+ ],
39
+ "author": "Carl Lee <carllee0520@gmail.com>",
40
+ "license": "MIT",
41
+ "dependencies": {
42
+ "@aws-sdk/client-sqs": "^3.955.0",
43
+ "gravito-core": "1.0.0-beta.2"
44
+ },
45
+ "devDependencies": {
46
+ "@gravito/db": "1.0.0-alpha.2",
47
+ "bun-types": "latest",
48
+ "hono": "^4.11.1",
49
+ "typescript": "^5.9.3"
50
+ },
51
+ "homepage": "https://github.com/gravito-framework/gravito#readme",
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "git+https://github.com/gravito-framework/gravito.git",
55
+ "directory": "packages/stream"
56
+ }
57
+ }