@objectstack/spec 0.7.1 → 0.7.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.
- package/dist/ai/agent-action.zod.d.ts +8 -8
- package/dist/ai/model-registry.zod.d.ts +6 -6
- package/dist/ai/orchestration.zod.d.ts +6 -6
- package/dist/ai/predictive.zod.d.ts +2 -2
- package/dist/ai/rag-pipeline.zod.d.ts +2 -2
- package/dist/api/batch.zod.d.ts +81 -8
- package/dist/api/batch.zod.d.ts.map +1 -1
- package/dist/api/batch.zod.js +14 -1
- package/dist/api/graphql.zod.d.ts +224 -224
- package/dist/api/odata.zod.d.ts +379 -0
- package/dist/api/odata.zod.d.ts.map +1 -1
- package/dist/api/odata.zod.js +14 -1
- package/dist/api/protocol.zod.d.ts +18 -18
- package/dist/api/realtime.zod.d.ts +133 -0
- package/dist/api/realtime.zod.d.ts.map +1 -1
- package/dist/api/realtime.zod.js +14 -1
- package/dist/api/websocket.zod.d.ts +2 -2
- package/dist/auth/config.zod.d.ts +12 -12
- package/dist/auth/identity.zod.d.ts +3 -3
- package/dist/automation/approval.zod.d.ts +16 -16
- package/dist/automation/etl.zod.d.ts +2 -2
- package/dist/automation/sync.zod.d.ts +4 -4
- package/dist/automation/webhook.zod.d.ts +2 -2
- package/dist/automation/workflow.zod.d.ts +28 -28
- package/dist/data/object.zod.d.ts.map +1 -1
- package/dist/data/object.zod.js +3 -1
- package/dist/hub/composer.zod.d.ts +9 -8
- package/dist/hub/composer.zod.d.ts.map +1 -1
- package/dist/hub/marketplace.zod.d.ts +1 -0
- package/dist/hub/marketplace.zod.d.ts.map +1 -1
- package/dist/hub/plugin-registry.zod.d.ts +9 -9
- package/dist/hub/space.zod.d.ts +5 -4
- package/dist/hub/space.zod.d.ts.map +1 -1
- package/dist/integration/connector/database.zod.d.ts +33 -33
- package/dist/integration/connector/file-storage.zod.d.ts +52 -52
- package/dist/integration/connector/message-queue.zod.d.ts +43 -43
- package/dist/integration/connector/saas.zod.d.ts +31 -30
- package/dist/integration/connector/saas.zod.d.ts.map +1 -1
- package/dist/integration/connector.zod.d.ts +34 -34
- package/dist/stack.zod.d.ts +78 -78
- package/dist/system/change-management.zod.d.ts +2 -2
- package/dist/system/collaboration.zod.d.ts +6 -6
- package/dist/system/events.zod.d.ts +2536 -0
- package/dist/system/events.zod.d.ts.map +1 -1
- package/dist/system/events.zod.js +582 -1
- package/dist/system/http-server.zod.d.ts +2 -2
- package/dist/system/index.d.ts +1 -0
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/index.js +1 -0
- package/dist/system/job.zod.d.ts +3 -2
- package/dist/system/job.zod.d.ts.map +1 -1
- package/dist/system/logging.zod.d.ts +10 -10
- package/dist/system/manifest.zod.d.ts +6 -6
- package/dist/system/message-queue.zod.d.ts +10 -10
- package/dist/system/metadata-loader.zod.d.ts +3 -3
- package/dist/system/notification.zod.d.ts +12 -12
- package/dist/system/plugin-capability.zod.d.ts +6 -6
- package/dist/system/startup-orchestrator.zod.d.ts +2 -2
- package/dist/system/worker.zod.d.ts +1458 -0
- package/dist/system/worker.zod.d.ts.map +1 -0
- package/dist/system/worker.zod.js +479 -0
- package/json-schema/api/BatchConfig.json +51 -0
- package/json-schema/api/ODataConfig.json +132 -0
- package/json-schema/api/RealtimeConfig.json +90 -0
- package/json-schema/data/Object.json +4 -1
- package/json-schema/system/BatchProgress.json +72 -0
- package/json-schema/system/BatchTask.json +63 -0
- package/json-schema/system/DeadLetterQueueEntry.json +137 -0
- package/json-schema/system/Event.json +24 -0
- package/json-schema/system/EventBusConfig.json +552 -0
- package/json-schema/system/EventHandler.json +34 -0
- package/json-schema/system/EventLogEntry.json +153 -0
- package/json-schema/system/EventMessageQueueConfig.json +79 -0
- package/json-schema/system/EventMetadata.json +20 -0
- package/json-schema/system/EventPersistence.json +11 -0
- package/json-schema/system/EventPriority.json +16 -0
- package/json-schema/system/EventQueueConfig.json +67 -0
- package/json-schema/system/EventReplayConfig.json +50 -0
- package/json-schema/system/EventSourcingConfig.json +65 -0
- package/json-schema/system/EventTypeDefinition.json +45 -0
- package/json-schema/system/EventWebhookConfig.json +119 -0
- package/json-schema/system/QueueConfig.json +133 -0
- package/json-schema/system/RealTimeNotificationConfig.json +85 -0
- package/json-schema/system/Task.json +145 -0
- package/json-schema/system/TaskExecutionResult.json +85 -0
- package/json-schema/system/TaskPriority.json +16 -0
- package/json-schema/system/TaskRetryPolicy.json +46 -0
- package/json-schema/system/TaskStatus.json +19 -0
- package/json-schema/system/WorkerConfig.json +188 -0
- package/json-schema/system/WorkerStats.json +90 -0
- package/package.json +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.zod.d.ts","sourceRoot":"","sources":["../../src/system/events.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"events.zod.d.ts","sourceRoot":"","sources":["../../src/system/events.zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventPersistenceSchema = exports.EventRouteSchema = exports.EventHandlerSchema = exports.EventSchema = exports.EventMetadataSchema = void 0;
|
|
3
|
+
exports.EventBusConfigSchema = exports.RealTimeNotificationConfigSchema = exports.EventMessageQueueConfigSchema = exports.EventWebhookConfigSchema = exports.EventLogEntrySchema = exports.DeadLetterQueueEntrySchema = exports.EventSourcingConfigSchema = exports.EventReplayConfigSchema = exports.EventQueueConfigSchema = exports.EventPersistenceSchema = exports.EventRouteSchema = exports.EventHandlerSchema = exports.EventSchema = exports.EventTypeDefinitionSchema = exports.EventMetadataSchema = exports.EVENT_PRIORITY_VALUES = exports.EventPriority = void 0;
|
|
4
|
+
exports.createEventBusConfig = createEventBusConfig;
|
|
5
|
+
exports.createEventTypeDefinition = createEventTypeDefinition;
|
|
6
|
+
exports.createEventWebhookConfig = createEventWebhookConfig;
|
|
4
7
|
const zod_1 = require("zod");
|
|
5
8
|
const identifiers_zod_1 = require("../shared/identifiers.zod");
|
|
9
|
+
// ==========================================
|
|
10
|
+
// Event Priority
|
|
11
|
+
// ==========================================
|
|
12
|
+
/**
|
|
13
|
+
* Event Priority Enum
|
|
14
|
+
* Priority levels for event processing
|
|
15
|
+
* Lower numbers = higher priority
|
|
16
|
+
*/
|
|
17
|
+
exports.EventPriority = zod_1.z.enum([
|
|
18
|
+
'critical', // 0 - Process immediately, block if necessary
|
|
19
|
+
'high', // 1 - Process soon, minimal delay
|
|
20
|
+
'normal', // 2 - Default priority
|
|
21
|
+
'low', // 3 - Process when resources available
|
|
22
|
+
'background', // 4 - Process during idle time
|
|
23
|
+
]);
|
|
24
|
+
/**
|
|
25
|
+
* Event Priority Values
|
|
26
|
+
* Maps priority names to numeric values for sorting
|
|
27
|
+
*/
|
|
28
|
+
exports.EVENT_PRIORITY_VALUES = {
|
|
29
|
+
critical: 0,
|
|
30
|
+
high: 1,
|
|
31
|
+
normal: 2,
|
|
32
|
+
low: 3,
|
|
33
|
+
background: 4,
|
|
34
|
+
};
|
|
35
|
+
// ==========================================
|
|
36
|
+
// Event Metadata
|
|
37
|
+
// ==========================================
|
|
6
38
|
/**
|
|
7
39
|
* Event Metadata Schema
|
|
8
40
|
* Metadata associated with every event
|
|
@@ -12,6 +44,38 @@ exports.EventMetadataSchema = zod_1.z.object({
|
|
|
12
44
|
timestamp: zod_1.z.string().datetime().describe('ISO 8601 datetime when event was created'),
|
|
13
45
|
userId: zod_1.z.string().optional().describe('User who triggered the event'),
|
|
14
46
|
tenantId: zod_1.z.string().optional().describe('Tenant identifier for multi-tenant systems'),
|
|
47
|
+
correlationId: zod_1.z.string().optional().describe('Correlation ID for event tracing'),
|
|
48
|
+
causationId: zod_1.z.string().optional().describe('ID of the event that caused this event'),
|
|
49
|
+
priority: exports.EventPriority.optional().default('normal').describe('Event priority'),
|
|
50
|
+
});
|
|
51
|
+
// ==========================================
|
|
52
|
+
// Event Schema
|
|
53
|
+
// ==========================================
|
|
54
|
+
/**
|
|
55
|
+
* Event Type Definition Schema
|
|
56
|
+
* Defines the structure of an event type
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* {
|
|
60
|
+
* "name": "order.created",
|
|
61
|
+
* "version": "1.0.0",
|
|
62
|
+
* "schema": {
|
|
63
|
+
* "type": "object",
|
|
64
|
+
* "properties": {
|
|
65
|
+
* "orderId": { "type": "string" },
|
|
66
|
+
* "customerId": { "type": "string" },
|
|
67
|
+
* "total": { "type": "number" }
|
|
68
|
+
* }
|
|
69
|
+
* }
|
|
70
|
+
* }
|
|
71
|
+
*/
|
|
72
|
+
exports.EventTypeDefinitionSchema = zod_1.z.object({
|
|
73
|
+
name: identifiers_zod_1.EventNameSchema.describe('Event type name (lowercase with dots)'),
|
|
74
|
+
version: zod_1.z.string().default('1.0.0').describe('Event schema version'),
|
|
75
|
+
schema: zod_1.z.any().optional().describe('JSON Schema for event payload validation'),
|
|
76
|
+
description: zod_1.z.string().optional().describe('Event type description'),
|
|
77
|
+
deprecated: zod_1.z.boolean().optional().default(false).describe('Whether this event type is deprecated'),
|
|
78
|
+
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Event type tags'),
|
|
15
79
|
});
|
|
16
80
|
/**
|
|
17
81
|
* Event Schema
|
|
@@ -21,19 +85,68 @@ exports.EventMetadataSchema = zod_1.z.object({
|
|
|
21
85
|
* This aligns with industry standards for event-driven architectures and message queues.
|
|
22
86
|
*/
|
|
23
87
|
exports.EventSchema = zod_1.z.object({
|
|
88
|
+
/**
|
|
89
|
+
* Event identifier (for tracking and deduplication)
|
|
90
|
+
*/
|
|
91
|
+
id: zod_1.z.string().optional().describe('Unique event identifier'),
|
|
92
|
+
/**
|
|
93
|
+
* Event name
|
|
94
|
+
*/
|
|
24
95
|
name: identifiers_zod_1.EventNameSchema.describe('Event name (lowercase with dots, e.g., user.created, order.paid)'),
|
|
96
|
+
/**
|
|
97
|
+
* Event payload
|
|
98
|
+
*/
|
|
25
99
|
payload: zod_1.z.any().describe('Event payload schema'),
|
|
100
|
+
/**
|
|
101
|
+
* Event metadata
|
|
102
|
+
*/
|
|
26
103
|
metadata: exports.EventMetadataSchema.describe('Event metadata'),
|
|
27
104
|
});
|
|
105
|
+
// ==========================================
|
|
106
|
+
// Event Handlers
|
|
107
|
+
// ==========================================
|
|
28
108
|
/**
|
|
29
109
|
* Event Handler Schema
|
|
30
110
|
* Defines how to handle a specific event
|
|
31
111
|
*/
|
|
32
112
|
exports.EventHandlerSchema = zod_1.z.object({
|
|
113
|
+
/**
|
|
114
|
+
* Handler identifier
|
|
115
|
+
*/
|
|
116
|
+
id: zod_1.z.string().optional().describe('Unique handler identifier'),
|
|
117
|
+
/**
|
|
118
|
+
* Event name pattern
|
|
119
|
+
*/
|
|
33
120
|
eventName: zod_1.z.string().describe('Name of event to handle (supports wildcards like user.*)'),
|
|
121
|
+
/**
|
|
122
|
+
* Handler function
|
|
123
|
+
*/
|
|
34
124
|
handler: zod_1.z.function().args(exports.EventSchema).returns(zod_1.z.promise(zod_1.z.void())).describe('Handler function'),
|
|
125
|
+
/**
|
|
126
|
+
* Execution priority
|
|
127
|
+
*/
|
|
35
128
|
priority: zod_1.z.number().int().default(0).describe('Execution priority (lower numbers execute first)'),
|
|
129
|
+
/**
|
|
130
|
+
* Async execution
|
|
131
|
+
*/
|
|
36
132
|
async: zod_1.z.boolean().default(true).describe('Execute in background (true) or block (false)'),
|
|
133
|
+
/**
|
|
134
|
+
* Retry configuration
|
|
135
|
+
*/
|
|
136
|
+
retry: zod_1.z.object({
|
|
137
|
+
maxRetries: zod_1.z.number().int().min(0).default(3).describe('Maximum retry attempts'),
|
|
138
|
+
backoffMs: zod_1.z.number().int().positive().default(1000).describe('Initial backoff delay'),
|
|
139
|
+
backoffMultiplier: zod_1.z.number().positive().default(2).describe('Backoff multiplier'),
|
|
140
|
+
}).optional().describe('Retry policy for failed handlers'),
|
|
141
|
+
/**
|
|
142
|
+
* Timeout
|
|
143
|
+
*/
|
|
144
|
+
timeoutMs: zod_1.z.number().int().positive().optional().describe('Handler timeout in milliseconds'),
|
|
145
|
+
/**
|
|
146
|
+
* Filter function
|
|
147
|
+
*/
|
|
148
|
+
filter: zod_1.z.function().args(exports.EventSchema).returns(zod_1.z.boolean()).optional()
|
|
149
|
+
.describe('Optional filter to determine if handler should execute'),
|
|
37
150
|
});
|
|
38
151
|
/**
|
|
39
152
|
* Event Route Schema
|
|
@@ -52,4 +165,472 @@ exports.EventPersistenceSchema = zod_1.z.object({
|
|
|
52
165
|
enabled: zod_1.z.boolean().default(false).describe('Enable event persistence'),
|
|
53
166
|
retention: zod_1.z.number().int().positive().describe('Days to retain persisted events'),
|
|
54
167
|
filter: zod_1.z.function().optional().describe('Optional filter function to select which events to persist'),
|
|
168
|
+
storage: zod_1.z.enum(['database', 'file', 's3', 'custom']).default('database')
|
|
169
|
+
.describe('Storage backend for persisted events'),
|
|
170
|
+
});
|
|
171
|
+
// ==========================================
|
|
172
|
+
// Event Queue
|
|
173
|
+
// ==========================================
|
|
174
|
+
/**
|
|
175
|
+
* Event Queue Configuration Schema
|
|
176
|
+
* Configuration for async event processing queue
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* {
|
|
180
|
+
* "name": "event_queue",
|
|
181
|
+
* "concurrency": 10,
|
|
182
|
+
* "retryPolicy": {
|
|
183
|
+
* "maxRetries": 3,
|
|
184
|
+
* "backoffStrategy": "exponential"
|
|
185
|
+
* }
|
|
186
|
+
* }
|
|
187
|
+
*/
|
|
188
|
+
exports.EventQueueConfigSchema = zod_1.z.object({
|
|
189
|
+
/**
|
|
190
|
+
* Queue name
|
|
191
|
+
*/
|
|
192
|
+
name: zod_1.z.string().default('events').describe('Event queue name'),
|
|
193
|
+
/**
|
|
194
|
+
* Concurrency
|
|
195
|
+
*/
|
|
196
|
+
concurrency: zod_1.z.number().int().min(1).default(10).describe('Max concurrent event handlers'),
|
|
197
|
+
/**
|
|
198
|
+
* Retry policy
|
|
199
|
+
*/
|
|
200
|
+
retryPolicy: zod_1.z.object({
|
|
201
|
+
maxRetries: zod_1.z.number().int().min(0).default(3).describe('Max retries for failed events'),
|
|
202
|
+
backoffStrategy: zod_1.z.enum(['fixed', 'linear', 'exponential']).default('exponential')
|
|
203
|
+
.describe('Backoff strategy'),
|
|
204
|
+
initialDelayMs: zod_1.z.number().int().positive().default(1000).describe('Initial retry delay'),
|
|
205
|
+
maxDelayMs: zod_1.z.number().int().positive().default(60000).describe('Maximum retry delay'),
|
|
206
|
+
}).optional().describe('Default retry policy for events'),
|
|
207
|
+
/**
|
|
208
|
+
* Dead letter queue
|
|
209
|
+
*/
|
|
210
|
+
deadLetterQueue: zod_1.z.string().optional().describe('Dead letter queue name for failed events'),
|
|
211
|
+
/**
|
|
212
|
+
* Enable priority processing
|
|
213
|
+
*/
|
|
214
|
+
priorityEnabled: zod_1.z.boolean().default(true).describe('Process events based on priority'),
|
|
55
215
|
});
|
|
216
|
+
// ==========================================
|
|
217
|
+
// Event Replay
|
|
218
|
+
// ==========================================
|
|
219
|
+
/**
|
|
220
|
+
* Event Replay Configuration Schema
|
|
221
|
+
* Configuration for replaying historical events
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* {
|
|
225
|
+
* "fromTimestamp": "2024-01-01T00:00:00Z",
|
|
226
|
+
* "toTimestamp": "2024-01-31T23:59:59Z",
|
|
227
|
+
* "eventTypes": ["order.created", "order.updated"],
|
|
228
|
+
* "speed": 10
|
|
229
|
+
* }
|
|
230
|
+
*/
|
|
231
|
+
exports.EventReplayConfigSchema = zod_1.z.object({
|
|
232
|
+
/**
|
|
233
|
+
* Start timestamp
|
|
234
|
+
*/
|
|
235
|
+
fromTimestamp: zod_1.z.string().datetime().describe('Start timestamp for replay (ISO 8601)'),
|
|
236
|
+
/**
|
|
237
|
+
* End timestamp
|
|
238
|
+
*/
|
|
239
|
+
toTimestamp: zod_1.z.string().datetime().optional().describe('End timestamp for replay (ISO 8601)'),
|
|
240
|
+
/**
|
|
241
|
+
* Event types to replay
|
|
242
|
+
*/
|
|
243
|
+
eventTypes: zod_1.z.array(zod_1.z.string()).optional().describe('Event types to replay (empty = all)'),
|
|
244
|
+
/**
|
|
245
|
+
* Event filters
|
|
246
|
+
*/
|
|
247
|
+
filters: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional().describe('Additional filters for event selection'),
|
|
248
|
+
/**
|
|
249
|
+
* Replay speed multiplier
|
|
250
|
+
*/
|
|
251
|
+
speed: zod_1.z.number().positive().default(1).describe('Replay speed multiplier (1 = real-time)'),
|
|
252
|
+
/**
|
|
253
|
+
* Target handlers
|
|
254
|
+
*/
|
|
255
|
+
targetHandlers: zod_1.z.array(zod_1.z.string()).optional().describe('Handler IDs to execute (empty = all)'),
|
|
256
|
+
});
|
|
257
|
+
// ==========================================
|
|
258
|
+
// Event Sourcing
|
|
259
|
+
// ==========================================
|
|
260
|
+
/**
|
|
261
|
+
* Event Sourcing Configuration Schema
|
|
262
|
+
* Configuration for event sourcing pattern
|
|
263
|
+
*
|
|
264
|
+
* Event sourcing stores all changes to application state as a sequence of events.
|
|
265
|
+
* The current state can be reconstructed by replaying the events.
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
* {
|
|
269
|
+
* "enabled": true,
|
|
270
|
+
* "snapshotInterval": 100,
|
|
271
|
+
* "retention": 365
|
|
272
|
+
* }
|
|
273
|
+
*/
|
|
274
|
+
exports.EventSourcingConfigSchema = zod_1.z.object({
|
|
275
|
+
/**
|
|
276
|
+
* Enable event sourcing
|
|
277
|
+
*/
|
|
278
|
+
enabled: zod_1.z.boolean().default(false).describe('Enable event sourcing'),
|
|
279
|
+
/**
|
|
280
|
+
* Snapshot interval
|
|
281
|
+
*/
|
|
282
|
+
snapshotInterval: zod_1.z.number().int().positive().default(100)
|
|
283
|
+
.describe('Create snapshot every N events'),
|
|
284
|
+
/**
|
|
285
|
+
* Snapshot retention
|
|
286
|
+
*/
|
|
287
|
+
snapshotRetention: zod_1.z.number().int().positive().default(10)
|
|
288
|
+
.describe('Number of snapshots to retain'),
|
|
289
|
+
/**
|
|
290
|
+
* Event retention
|
|
291
|
+
*/
|
|
292
|
+
retention: zod_1.z.number().int().positive().default(365)
|
|
293
|
+
.describe('Days to retain events'),
|
|
294
|
+
/**
|
|
295
|
+
* Aggregate types
|
|
296
|
+
*/
|
|
297
|
+
aggregateTypes: zod_1.z.array(zod_1.z.string()).optional()
|
|
298
|
+
.describe('Aggregate types to enable event sourcing for'),
|
|
299
|
+
/**
|
|
300
|
+
* Storage configuration
|
|
301
|
+
*/
|
|
302
|
+
storage: zod_1.z.object({
|
|
303
|
+
type: zod_1.z.enum(['database', 'file', 's3', 'eventstore']).default('database')
|
|
304
|
+
.describe('Storage backend'),
|
|
305
|
+
options: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional().describe('Storage-specific options'),
|
|
306
|
+
}).optional().describe('Event store configuration'),
|
|
307
|
+
});
|
|
308
|
+
// ==========================================
|
|
309
|
+
// Dead Letter Queue
|
|
310
|
+
// ==========================================
|
|
311
|
+
/**
|
|
312
|
+
* Dead Letter Queue Entry Schema
|
|
313
|
+
* Represents a failed event in the dead letter queue
|
|
314
|
+
*/
|
|
315
|
+
exports.DeadLetterQueueEntrySchema = zod_1.z.object({
|
|
316
|
+
/**
|
|
317
|
+
* Entry identifier
|
|
318
|
+
*/
|
|
319
|
+
id: zod_1.z.string().describe('Unique entry identifier'),
|
|
320
|
+
/**
|
|
321
|
+
* Original event
|
|
322
|
+
*/
|
|
323
|
+
event: exports.EventSchema.describe('Original event'),
|
|
324
|
+
/**
|
|
325
|
+
* Failure reason
|
|
326
|
+
*/
|
|
327
|
+
error: zod_1.z.object({
|
|
328
|
+
message: zod_1.z.string().describe('Error message'),
|
|
329
|
+
stack: zod_1.z.string().optional().describe('Error stack trace'),
|
|
330
|
+
code: zod_1.z.string().optional().describe('Error code'),
|
|
331
|
+
}).describe('Failure details'),
|
|
332
|
+
/**
|
|
333
|
+
* Retry count
|
|
334
|
+
*/
|
|
335
|
+
retries: zod_1.z.number().int().min(0).describe('Number of retry attempts'),
|
|
336
|
+
/**
|
|
337
|
+
* Timestamps
|
|
338
|
+
*/
|
|
339
|
+
firstFailedAt: zod_1.z.string().datetime().describe('When event first failed'),
|
|
340
|
+
lastFailedAt: zod_1.z.string().datetime().describe('When event last failed'),
|
|
341
|
+
/**
|
|
342
|
+
* Handler that failed
|
|
343
|
+
*/
|
|
344
|
+
failedHandler: zod_1.z.string().optional().describe('Handler ID that failed'),
|
|
345
|
+
});
|
|
346
|
+
// ==========================================
|
|
347
|
+
// Event Log
|
|
348
|
+
// ==========================================
|
|
349
|
+
/**
|
|
350
|
+
* Event Log Entry Schema
|
|
351
|
+
* Represents a logged event
|
|
352
|
+
*/
|
|
353
|
+
exports.EventLogEntrySchema = zod_1.z.object({
|
|
354
|
+
/**
|
|
355
|
+
* Log entry ID
|
|
356
|
+
*/
|
|
357
|
+
id: zod_1.z.string().describe('Unique log entry identifier'),
|
|
358
|
+
/**
|
|
359
|
+
* Event
|
|
360
|
+
*/
|
|
361
|
+
event: exports.EventSchema.describe('The event'),
|
|
362
|
+
/**
|
|
363
|
+
* Status
|
|
364
|
+
*/
|
|
365
|
+
status: zod_1.z.enum(['pending', 'processing', 'completed', 'failed']).describe('Processing status'),
|
|
366
|
+
/**
|
|
367
|
+
* Handlers executed
|
|
368
|
+
*/
|
|
369
|
+
handlersExecuted: zod_1.z.array(zod_1.z.object({
|
|
370
|
+
handlerId: zod_1.z.string().describe('Handler identifier'),
|
|
371
|
+
status: zod_1.z.enum(['success', 'failed', 'timeout']).describe('Handler execution status'),
|
|
372
|
+
durationMs: zod_1.z.number().int().optional().describe('Execution duration'),
|
|
373
|
+
error: zod_1.z.string().optional().describe('Error message if failed'),
|
|
374
|
+
})).optional().describe('Handlers that processed this event'),
|
|
375
|
+
/**
|
|
376
|
+
* Timestamps
|
|
377
|
+
*/
|
|
378
|
+
receivedAt: zod_1.z.string().datetime().describe('When event was received'),
|
|
379
|
+
processedAt: zod_1.z.string().datetime().optional().describe('When event was processed'),
|
|
380
|
+
/**
|
|
381
|
+
* Total duration
|
|
382
|
+
*/
|
|
383
|
+
totalDurationMs: zod_1.z.number().int().optional().describe('Total processing time'),
|
|
384
|
+
});
|
|
385
|
+
// ==========================================
|
|
386
|
+
// Webhook Integration
|
|
387
|
+
// ==========================================
|
|
388
|
+
/**
|
|
389
|
+
* Event Webhook Configuration Schema
|
|
390
|
+
* Configuration for sending events to webhooks
|
|
391
|
+
*
|
|
392
|
+
* @example
|
|
393
|
+
* {
|
|
394
|
+
* "eventPattern": "order.*",
|
|
395
|
+
* "url": "https://api.example.com/webhooks/orders",
|
|
396
|
+
* "method": "POST",
|
|
397
|
+
* "headers": { "Authorization": "Bearer token" }
|
|
398
|
+
* }
|
|
399
|
+
*/
|
|
400
|
+
exports.EventWebhookConfigSchema = zod_1.z.object({
|
|
401
|
+
/**
|
|
402
|
+
* Webhook identifier
|
|
403
|
+
*/
|
|
404
|
+
id: zod_1.z.string().optional().describe('Unique webhook identifier'),
|
|
405
|
+
/**
|
|
406
|
+
* Event pattern to match
|
|
407
|
+
*/
|
|
408
|
+
eventPattern: zod_1.z.string().describe('Event name pattern (supports wildcards)'),
|
|
409
|
+
/**
|
|
410
|
+
* Target URL
|
|
411
|
+
*/
|
|
412
|
+
url: zod_1.z.string().url().describe('Webhook endpoint URL'),
|
|
413
|
+
/**
|
|
414
|
+
* HTTP method
|
|
415
|
+
*/
|
|
416
|
+
method: zod_1.z.enum(['GET', 'POST', 'PUT', 'PATCH']).default('POST').describe('HTTP method'),
|
|
417
|
+
/**
|
|
418
|
+
* Headers
|
|
419
|
+
*/
|
|
420
|
+
headers: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional().describe('HTTP headers'),
|
|
421
|
+
/**
|
|
422
|
+
* Authentication
|
|
423
|
+
*/
|
|
424
|
+
authentication: zod_1.z.object({
|
|
425
|
+
type: zod_1.z.enum(['none', 'bearer', 'basic', 'api-key']).describe('Auth type'),
|
|
426
|
+
credentials: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional().describe('Auth credentials'),
|
|
427
|
+
}).optional().describe('Authentication configuration'),
|
|
428
|
+
/**
|
|
429
|
+
* Retry policy
|
|
430
|
+
*/
|
|
431
|
+
retryPolicy: zod_1.z.object({
|
|
432
|
+
maxRetries: zod_1.z.number().int().min(0).default(3).describe('Max retry attempts'),
|
|
433
|
+
backoffStrategy: zod_1.z.enum(['fixed', 'linear', 'exponential']).default('exponential'),
|
|
434
|
+
initialDelayMs: zod_1.z.number().int().positive().default(1000).describe('Initial retry delay'),
|
|
435
|
+
maxDelayMs: zod_1.z.number().int().positive().default(60000).describe('Max retry delay'),
|
|
436
|
+
}).optional().describe('Retry policy'),
|
|
437
|
+
/**
|
|
438
|
+
* Timeout
|
|
439
|
+
*/
|
|
440
|
+
timeoutMs: zod_1.z.number().int().positive().default(30000).describe('Request timeout in milliseconds'),
|
|
441
|
+
/**
|
|
442
|
+
* Event transformation
|
|
443
|
+
*/
|
|
444
|
+
transform: zod_1.z.function().args(exports.EventSchema).returns(zod_1.z.any()).optional()
|
|
445
|
+
.describe('Transform event before sending'),
|
|
446
|
+
/**
|
|
447
|
+
* Enabled
|
|
448
|
+
*/
|
|
449
|
+
enabled: zod_1.z.boolean().default(true).describe('Whether webhook is enabled'),
|
|
450
|
+
});
|
|
451
|
+
// ==========================================
|
|
452
|
+
// Message Queue Integration
|
|
453
|
+
// ==========================================
|
|
454
|
+
/**
|
|
455
|
+
* Event Message Queue Configuration Schema
|
|
456
|
+
* Configuration for publishing events to message queues
|
|
457
|
+
*
|
|
458
|
+
* @example
|
|
459
|
+
* {
|
|
460
|
+
* "provider": "kafka",
|
|
461
|
+
* "topic": "events",
|
|
462
|
+
* "eventPattern": "*",
|
|
463
|
+
* "partitionKey": "metadata.tenantId"
|
|
464
|
+
* }
|
|
465
|
+
*/
|
|
466
|
+
exports.EventMessageQueueConfigSchema = zod_1.z.object({
|
|
467
|
+
/**
|
|
468
|
+
* Provider
|
|
469
|
+
*/
|
|
470
|
+
provider: zod_1.z.enum(['kafka', 'rabbitmq', 'aws-sqs', 'redis-pubsub', 'google-pubsub', 'azure-service-bus'])
|
|
471
|
+
.describe('Message queue provider'),
|
|
472
|
+
/**
|
|
473
|
+
* Topic/Queue name
|
|
474
|
+
*/
|
|
475
|
+
topic: zod_1.z.string().describe('Topic or queue name'),
|
|
476
|
+
/**
|
|
477
|
+
* Event pattern
|
|
478
|
+
*/
|
|
479
|
+
eventPattern: zod_1.z.string().default('*').describe('Event name pattern to publish (supports wildcards)'),
|
|
480
|
+
/**
|
|
481
|
+
* Partition key
|
|
482
|
+
*/
|
|
483
|
+
partitionKey: zod_1.z.string().optional().describe('JSON path for partition key (e.g., "metadata.tenantId")'),
|
|
484
|
+
/**
|
|
485
|
+
* Message format
|
|
486
|
+
*/
|
|
487
|
+
format: zod_1.z.enum(['json', 'avro', 'protobuf']).default('json').describe('Message serialization format'),
|
|
488
|
+
/**
|
|
489
|
+
* Include metadata
|
|
490
|
+
*/
|
|
491
|
+
includeMetadata: zod_1.z.boolean().default(true).describe('Include event metadata in message'),
|
|
492
|
+
/**
|
|
493
|
+
* Compression
|
|
494
|
+
*/
|
|
495
|
+
compression: zod_1.z.enum(['none', 'gzip', 'snappy', 'lz4']).default('none').describe('Message compression'),
|
|
496
|
+
/**
|
|
497
|
+
* Batch size
|
|
498
|
+
*/
|
|
499
|
+
batchSize: zod_1.z.number().int().min(1).default(1).describe('Batch size for publishing'),
|
|
500
|
+
/**
|
|
501
|
+
* Flush interval
|
|
502
|
+
*/
|
|
503
|
+
flushIntervalMs: zod_1.z.number().int().positive().default(1000).describe('Flush interval for batching'),
|
|
504
|
+
});
|
|
505
|
+
// ==========================================
|
|
506
|
+
// Real-time Notifications
|
|
507
|
+
// ==========================================
|
|
508
|
+
/**
|
|
509
|
+
* Real-time Notification Configuration Schema
|
|
510
|
+
* Configuration for real-time event notifications via WebSocket/SSE
|
|
511
|
+
*
|
|
512
|
+
* @example
|
|
513
|
+
* {
|
|
514
|
+
* "enabled": true,
|
|
515
|
+
* "protocol": "websocket",
|
|
516
|
+
* "eventPattern": "notification.*",
|
|
517
|
+
* "userFilter": true
|
|
518
|
+
* }
|
|
519
|
+
*/
|
|
520
|
+
exports.RealTimeNotificationConfigSchema = zod_1.z.object({
|
|
521
|
+
/**
|
|
522
|
+
* Enable real-time notifications
|
|
523
|
+
*/
|
|
524
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable real-time notifications'),
|
|
525
|
+
/**
|
|
526
|
+
* Protocol
|
|
527
|
+
*/
|
|
528
|
+
protocol: zod_1.z.enum(['websocket', 'sse', 'long-polling']).default('websocket')
|
|
529
|
+
.describe('Real-time protocol'),
|
|
530
|
+
/**
|
|
531
|
+
* Event pattern
|
|
532
|
+
*/
|
|
533
|
+
eventPattern: zod_1.z.string().default('*').describe('Event pattern to broadcast'),
|
|
534
|
+
/**
|
|
535
|
+
* User-specific filtering
|
|
536
|
+
*/
|
|
537
|
+
userFilter: zod_1.z.boolean().default(true).describe('Filter events by user'),
|
|
538
|
+
/**
|
|
539
|
+
* Tenant-specific filtering
|
|
540
|
+
*/
|
|
541
|
+
tenantFilter: zod_1.z.boolean().default(true).describe('Filter events by tenant'),
|
|
542
|
+
/**
|
|
543
|
+
* Channels
|
|
544
|
+
*/
|
|
545
|
+
channels: zod_1.z.array(zod_1.z.object({
|
|
546
|
+
name: zod_1.z.string().describe('Channel name'),
|
|
547
|
+
eventPattern: zod_1.z.string().describe('Event pattern for channel'),
|
|
548
|
+
filter: zod_1.z.function().args(exports.EventSchema).returns(zod_1.z.boolean()).optional()
|
|
549
|
+
.describe('Additional filter function'),
|
|
550
|
+
})).optional().describe('Named channels for event broadcasting'),
|
|
551
|
+
/**
|
|
552
|
+
* Rate limiting
|
|
553
|
+
*/
|
|
554
|
+
rateLimit: zod_1.z.object({
|
|
555
|
+
maxEventsPerSecond: zod_1.z.number().int().positive().describe('Max events per second per client'),
|
|
556
|
+
windowMs: zod_1.z.number().int().positive().default(1000).describe('Rate limit window'),
|
|
557
|
+
}).optional().describe('Rate limiting configuration'),
|
|
558
|
+
});
|
|
559
|
+
// ==========================================
|
|
560
|
+
// Complete Event Bus Configuration
|
|
561
|
+
// ==========================================
|
|
562
|
+
/**
|
|
563
|
+
* Event Bus Configuration Schema
|
|
564
|
+
* Complete configuration for the event bus system
|
|
565
|
+
*
|
|
566
|
+
* @example
|
|
567
|
+
* {
|
|
568
|
+
* "persistence": { "enabled": true, "retention": 365 },
|
|
569
|
+
* "queue": { "concurrency": 20 },
|
|
570
|
+
* "eventSourcing": { "enabled": true },
|
|
571
|
+
* "webhooks": [],
|
|
572
|
+
* "messageQueue": { "provider": "kafka", "topic": "events" },
|
|
573
|
+
* "realtime": { "enabled": true, "protocol": "websocket" }
|
|
574
|
+
* }
|
|
575
|
+
*/
|
|
576
|
+
exports.EventBusConfigSchema = zod_1.z.object({
|
|
577
|
+
/**
|
|
578
|
+
* Event persistence
|
|
579
|
+
*/
|
|
580
|
+
persistence: exports.EventPersistenceSchema.optional().describe('Event persistence configuration'),
|
|
581
|
+
/**
|
|
582
|
+
* Event queue
|
|
583
|
+
*/
|
|
584
|
+
queue: exports.EventQueueConfigSchema.optional().describe('Event queue configuration'),
|
|
585
|
+
/**
|
|
586
|
+
* Event sourcing
|
|
587
|
+
*/
|
|
588
|
+
eventSourcing: exports.EventSourcingConfigSchema.optional().describe('Event sourcing configuration'),
|
|
589
|
+
/**
|
|
590
|
+
* Event replay
|
|
591
|
+
*/
|
|
592
|
+
replay: zod_1.z.object({
|
|
593
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable event replay capability'),
|
|
594
|
+
}).optional().describe('Event replay configuration'),
|
|
595
|
+
/**
|
|
596
|
+
* Webhooks
|
|
597
|
+
*/
|
|
598
|
+
webhooks: zod_1.z.array(exports.EventWebhookConfigSchema).optional().describe('Webhook configurations'),
|
|
599
|
+
/**
|
|
600
|
+
* Message queue integration
|
|
601
|
+
*/
|
|
602
|
+
messageQueue: exports.EventMessageQueueConfigSchema.optional().describe('Message queue integration'),
|
|
603
|
+
/**
|
|
604
|
+
* Real-time notifications
|
|
605
|
+
*/
|
|
606
|
+
realtime: exports.RealTimeNotificationConfigSchema.optional().describe('Real-time notification configuration'),
|
|
607
|
+
/**
|
|
608
|
+
* Event type definitions
|
|
609
|
+
*/
|
|
610
|
+
eventTypes: zod_1.z.array(exports.EventTypeDefinitionSchema).optional().describe('Event type definitions'),
|
|
611
|
+
/**
|
|
612
|
+
* Global handlers
|
|
613
|
+
*/
|
|
614
|
+
handlers: zod_1.z.array(exports.EventHandlerSchema).optional().describe('Global event handlers'),
|
|
615
|
+
});
|
|
616
|
+
// ==========================================
|
|
617
|
+
// Helper Functions
|
|
618
|
+
// ==========================================
|
|
619
|
+
/**
|
|
620
|
+
* Helper to create event bus configuration
|
|
621
|
+
*/
|
|
622
|
+
function createEventBusConfig(config) {
|
|
623
|
+
return config;
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Helper to create event type definition
|
|
627
|
+
*/
|
|
628
|
+
function createEventTypeDefinition(definition) {
|
|
629
|
+
return definition;
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Helper to create event webhook configuration
|
|
633
|
+
*/
|
|
634
|
+
function createEventWebhookConfig(config) {
|
|
635
|
+
return config;
|
|
636
|
+
}
|
|
@@ -408,18 +408,18 @@ export declare const ServerCapabilitiesSchema: z.ZodObject<{
|
|
|
408
408
|
}, "strip", z.ZodTypeAny, {
|
|
409
409
|
streaming: boolean;
|
|
410
410
|
compression: boolean;
|
|
411
|
-
httpVersions: ("1.0" | "1.1" | "2.0" | "3.0")[];
|
|
412
411
|
websocket: boolean;
|
|
413
412
|
sse: boolean;
|
|
413
|
+
httpVersions: ("1.0" | "1.1" | "2.0" | "3.0")[];
|
|
414
414
|
serverPush: boolean;
|
|
415
415
|
middleware: boolean;
|
|
416
416
|
routeParams: boolean;
|
|
417
417
|
}, {
|
|
418
418
|
streaming?: boolean | undefined;
|
|
419
419
|
compression?: boolean | undefined;
|
|
420
|
-
httpVersions?: ("1.0" | "1.1" | "2.0" | "3.0")[] | undefined;
|
|
421
420
|
websocket?: boolean | undefined;
|
|
422
421
|
sse?: boolean | undefined;
|
|
422
|
+
httpVersions?: ("1.0" | "1.1" | "2.0" | "3.0")[] | undefined;
|
|
423
423
|
serverPush?: boolean | undefined;
|
|
424
424
|
middleware?: boolean | undefined;
|
|
425
425
|
routeParams?: boolean | undefined;
|
package/dist/system/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * from './audit.zod';
|
|
|
10
10
|
export * from './translation.zod';
|
|
11
11
|
export * from './events.zod';
|
|
12
12
|
export * from './job.zod';
|
|
13
|
+
export * from './worker.zod';
|
|
13
14
|
export * from './feature.zod';
|
|
14
15
|
export * from './collaboration.zod';
|
|
15
16
|
export * from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/system/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAMjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAG5B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAG9B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/system/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAMjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAG5B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAG9B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,mBAAmB,CAAC"}
|
package/dist/system/index.js
CHANGED
|
@@ -26,6 +26,7 @@ __exportStar(require("./audit.zod"), exports);
|
|
|
26
26
|
__exportStar(require("./translation.zod"), exports);
|
|
27
27
|
__exportStar(require("./events.zod"), exports);
|
|
28
28
|
__exportStar(require("./job.zod"), exports);
|
|
29
|
+
__exportStar(require("./worker.zod"), exports);
|
|
29
30
|
__exportStar(require("./feature.zod"), exports);
|
|
30
31
|
__exportStar(require("./collaboration.zod"), exports);
|
|
31
32
|
__exportStar(require("./types"), exports);
|