@vibesdotdev/integrations-kafka 0.0.0-stage → 1.0.0-rc.4
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/AUDIT-CODE.md +40 -0
- package/AUDIT-SEAL.md +12 -0
- package/LICENSE +126 -0
- package/README.md +76 -2
- package/SEALED.md +13 -0
- package/dist/admin.d.ts +20 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +51 -0
- package/dist/admin.js.map +1 -0
- package/dist/auth/sasl.node.impl.d.ts +18 -0
- package/dist/auth/sasl.node.impl.d.ts.map +1 -0
- package/dist/auth/sasl.node.impl.js +62 -0
- package/dist/auth/sasl.node.impl.js.map +1 -0
- package/dist/chat/realtime-transport/host.d.ts +14 -0
- package/dist/chat/realtime-transport/host.d.ts.map +1 -0
- package/dist/chat/realtime-transport/host.js +7 -0
- package/dist/chat/realtime-transport/host.js.map +1 -0
- package/dist/chat/realtime-transport/index.d.ts +15 -0
- package/dist/chat/realtime-transport/index.d.ts.map +1 -0
- package/dist/chat/realtime-transport/index.js +13 -0
- package/dist/chat/realtime-transport/index.js.map +1 -0
- package/dist/chat/realtime-transport/lifecycle.d.ts +30 -0
- package/dist/chat/realtime-transport/lifecycle.d.ts.map +1 -0
- package/dist/chat/realtime-transport/lifecycle.js +125 -0
- package/dist/chat/realtime-transport/lifecycle.js.map +1 -0
- package/dist/chat/realtime-transport/projection.d.ts +127 -0
- package/dist/chat/realtime-transport/projection.d.ts.map +1 -0
- package/dist/chat/realtime-transport/projection.js +156 -0
- package/dist/chat/realtime-transport/projection.js.map +1 -0
- package/dist/chat/realtime-transport/sse-kafka-bridge.d.ts +32 -0
- package/dist/chat/realtime-transport/sse-kafka-bridge.d.ts.map +1 -0
- package/dist/chat/realtime-transport/sse-kafka-bridge.js +58 -0
- package/dist/chat/realtime-transport/sse-kafka-bridge.js.map +1 -0
- package/dist/chat/realtime-transport/ws-kafka-bridge.d.ts +10 -0
- package/dist/chat/realtime-transport/ws-kafka-bridge.d.ts.map +1 -0
- package/dist/chat/realtime-transport/ws-kafka-bridge.js +13 -0
- package/dist/chat/realtime-transport/ws-kafka-bridge.js.map +1 -0
- package/dist/client.d.ts +16 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +29 -0
- package/dist/client.js.map +1 -0
- package/dist/config/kafka.config.descriptor.d.ts +109 -0
- package/dist/config/kafka.config.descriptor.d.ts.map +1 -0
- package/dist/config/kafka.config.descriptor.js +60 -0
- package/dist/config/kafka.config.descriptor.js.map +1 -0
- package/dist/connections.d.ts +27 -0
- package/dist/connections.d.ts.map +1 -0
- package/dist/connections.js +20 -0
- package/dist/connections.js.map +1 -0
- package/dist/connections.node.impl.d.ts +34 -0
- package/dist/connections.node.impl.d.ts.map +1 -0
- package/dist/connections.node.impl.js +236 -0
- package/dist/connections.node.impl.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/kafka-client.node.impl.d.ts +9 -0
- package/dist/kafka-client.node.impl.d.ts.map +1 -0
- package/dist/kafka-client.node.impl.js +10 -0
- package/dist/kafka-client.node.impl.js.map +1 -0
- package/dist/kafka-connector.impl.d.ts +53 -0
- package/dist/kafka-connector.impl.d.ts.map +1 -0
- package/dist/kafka-connector.impl.js +97 -0
- package/dist/kafka-connector.impl.js.map +1 -0
- package/dist/kafka-event-adapter.descriptor.d.ts +11 -0
- package/dist/kafka-event-adapter.descriptor.d.ts.map +1 -0
- package/dist/kafka-event-adapter.descriptor.js +20 -0
- package/dist/kafka-event-adapter.descriptor.js.map +1 -0
- package/dist/kafka-event-adapter.impl.d.ts +22 -0
- package/dist/kafka-event-adapter.impl.d.ts.map +1 -0
- package/dist/kafka-event-adapter.impl.js +140 -0
- package/dist/kafka-event-adapter.impl.js.map +1 -0
- package/dist/kafka-substrate.descriptor.d.ts +4 -0
- package/dist/kafka-substrate.descriptor.d.ts.map +1 -0
- package/dist/kafka-substrate.descriptor.js +12 -0
- package/dist/kafka-substrate.descriptor.js.map +1 -0
- package/dist/kafka.d.ts +18 -0
- package/dist/kafka.d.ts.map +1 -0
- package/dist/kafka.js +23 -0
- package/dist/kafka.js.map +1 -0
- package/dist/kafka.node.plugin.d.ts +3 -0
- package/dist/kafka.node.plugin.d.ts.map +1 -0
- package/dist/kafka.node.plugin.js +66 -0
- package/dist/kafka.node.plugin.js.map +1 -0
- package/dist/kafka.plugin.d.ts +10 -0
- package/dist/kafka.plugin.d.ts.map +1 -0
- package/dist/kafka.plugin.js +28 -0
- package/dist/kafka.plugin.js.map +1 -0
- package/dist/logging/kafka.logger.descriptor.d.ts +7 -0
- package/dist/logging/kafka.logger.descriptor.d.ts.map +1 -0
- package/dist/logging/kafka.logger.descriptor.js +13 -0
- package/dist/logging/kafka.logger.descriptor.js.map +1 -0
- package/dist/message-schemas.d.ts +94 -0
- package/dist/message-schemas.d.ts.map +1 -0
- package/dist/message-schemas.js +68 -0
- package/dist/message-schemas.js.map +1 -0
- package/dist/request-queue-timeout-guard.d.ts +29 -0
- package/dist/request-queue-timeout-guard.d.ts.map +1 -0
- package/dist/request-queue-timeout-guard.js +245 -0
- package/dist/request-queue-timeout-guard.js.map +1 -0
- package/dist/schemas/contracts.d.ts +190 -0
- package/dist/schemas/contracts.d.ts.map +1 -0
- package/dist/schemas/contracts.js +85 -0
- package/dist/schemas/contracts.js.map +1 -0
- package/dist/schemas/kafka.d.ts +116 -0
- package/dist/schemas/kafka.d.ts.map +1 -0
- package/dist/schemas/kafka.js +13 -0
- package/dist/schemas/kafka.js.map +1 -0
- package/dist/schemas/realtime.d.ts +135 -0
- package/dist/schemas/realtime.d.ts.map +1 -0
- package/dist/schemas/realtime.js +44 -0
- package/dist/schemas/realtime.js.map +1 -0
- package/dist/schemas/worker-context.d.ts +14 -0
- package/dist/schemas/worker-context.d.ts.map +1 -0
- package/dist/schemas/worker-context.js +26 -0
- package/dist/schemas/worker-context.js.map +1 -0
- package/dist/topics.d.ts +85 -0
- package/dist/topics.d.ts.map +1 -0
- package/dist/topics.js +90 -0
- package/dist/topics.js.map +1 -0
- package/dist/workers/adapter/db-ops.d.ts +28 -0
- package/dist/workers/adapter/db-ops.d.ts.map +1 -0
- package/dist/workers/adapter/db-ops.js +14 -0
- package/dist/workers/adapter/db-ops.js.map +1 -0
- package/dist/workers/adapter/index.d.ts +16 -0
- package/dist/workers/adapter/index.d.ts.map +1 -0
- package/dist/workers/adapter/index.js +15 -0
- package/dist/workers/adapter/index.js.map +1 -0
- package/dist/workers/adapter/provider.d.ts +151 -0
- package/dist/workers/adapter/provider.d.ts.map +1 -0
- package/dist/workers/adapter/provider.js +654 -0
- package/dist/workers/adapter/provider.js.map +1 -0
- package/dist/workers/adapter/worker-adapter.kafka.descriptor.d.ts +36 -0
- package/dist/workers/adapter/worker-adapter.kafka.descriptor.d.ts.map +1 -0
- package/dist/workers/adapter/worker-adapter.kafka.descriptor.js +22 -0
- package/dist/workers/adapter/worker-adapter.kafka.descriptor.js.map +1 -0
- package/dist/workers/adapter/worker-adapter.kafka.impl.d.ts +36 -0
- package/dist/workers/adapter/worker-adapter.kafka.impl.d.ts.map +1 -0
- package/dist/workers/adapter/worker-adapter.kafka.impl.js +84 -0
- package/dist/workers/adapter/worker-adapter.kafka.impl.js.map +1 -0
- package/dist/workers/adapter/workers-kafka.db.context.d.ts +6 -0
- package/dist/workers/adapter/workers-kafka.db.context.d.ts.map +1 -0
- package/dist/workers/adapter/workers-kafka.db.context.descriptor.d.ts +43 -0
- package/dist/workers/adapter/workers-kafka.db.context.descriptor.d.ts.map +1 -0
- package/dist/workers/adapter/workers-kafka.db.context.descriptor.js +20 -0
- package/dist/workers/adapter/workers-kafka.db.context.descriptor.js.map +1 -0
- package/dist/workers/adapter/workers-kafka.db.context.js +5 -0
- package/dist/workers/adapter/workers-kafka.db.context.js.map +1 -0
- package/dist/workers/index.d.ts +8 -0
- package/dist/workers/index.d.ts.map +1 -0
- package/dist/workers/index.js +9 -0
- package/dist/workers/index.js.map +1 -0
- package/dist/workers/provider-jobs.sqlite-schema.d.ts +438 -0
- package/dist/workers/provider-jobs.sqlite-schema.d.ts.map +1 -0
- package/dist/workers/provider-jobs.sqlite-schema.js +37 -0
- package/dist/workers/provider-jobs.sqlite-schema.js.map +1 -0
- package/dist/workers/shared-store.context.d.ts +25 -0
- package/dist/workers/shared-store.context.d.ts.map +1 -0
- package/dist/workers/shared-store.context.js +88 -0
- package/dist/workers/shared-store.context.js.map +1 -0
- package/dist/workers/shared-store.plugin.d.ts +8 -0
- package/dist/workers/shared-store.plugin.d.ts.map +1 -0
- package/dist/workers/shared-store.plugin.js +22 -0
- package/dist/workers/shared-store.plugin.js.map +1 -0
- package/dist/workers/workers-kafka.consumer.plugin.d.ts +4 -0
- package/dist/workers/workers-kafka.consumer.plugin.d.ts.map +1 -0
- package/dist/workers/workers-kafka.consumer.plugin.js +11 -0
- package/dist/workers/workers-kafka.consumer.plugin.js.map +1 -0
- package/dist/workers/workers-kafka.plugin.d.ts +9 -0
- package/dist/workers/workers-kafka.plugin.d.ts.map +1 -0
- package/dist/workers/workers-kafka.plugin.js +27 -0
- package/dist/workers/workers-kafka.plugin.js.map +1 -0
- package/package.json +210 -4
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { CredentialReferenceSchema } from '@vibesdotdev/kernel/credentials';
|
|
3
|
+
import { CapabilityError, CaughtFailureSchema, valueFreeFailure } from '@vibesdotdev/kernel';
|
|
4
|
+
import { JsonObjectSchema, JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
5
|
+
export var KafkaConnectionPurpose;
|
|
6
|
+
(function (KafkaConnectionPurpose) {
|
|
7
|
+
KafkaConnectionPurpose["CHAT"] = "chat";
|
|
8
|
+
KafkaConnectionPurpose["WORKERS"] = "workers";
|
|
9
|
+
KafkaConnectionPurpose["BENCHMARKS"] = "benchmarks";
|
|
10
|
+
KafkaConnectionPurpose["ANALYTICS"] = "analytics";
|
|
11
|
+
})(KafkaConnectionPurpose || (KafkaConnectionPurpose = {}));
|
|
12
|
+
export const KafkaPurposeSchema = z.enum(KafkaConnectionPurpose);
|
|
13
|
+
export const KafkaAdapterOptionsSchema = z.object({ purpose: KafkaPurposeSchema });
|
|
14
|
+
const KafkaSaslCredentialsSchema = z.object({
|
|
15
|
+
username: z.string().min(1),
|
|
16
|
+
password: CredentialReferenceSchema
|
|
17
|
+
});
|
|
18
|
+
export const KafkaSaslSchema = z.discriminatedUnion('mechanism', [
|
|
19
|
+
KafkaSaslCredentialsSchema.extend({ mechanism: z.literal('plain') }),
|
|
20
|
+
KafkaSaslCredentialsSchema.extend({ mechanism: z.literal('scram-sha-256') }),
|
|
21
|
+
KafkaSaslCredentialsSchema.extend({ mechanism: z.literal('scram-sha-512') })
|
|
22
|
+
]);
|
|
23
|
+
export const KafkaPublicConfigSchema = z.object({
|
|
24
|
+
brokers: z.array(z.string().trim().min(1)).min(1),
|
|
25
|
+
ssl: z.boolean()
|
|
26
|
+
});
|
|
27
|
+
export const KafkaConnectorConfigSchema = z.object({
|
|
28
|
+
brokers: z.union([z.string().min(1), z.array(z.string().min(1)).min(1)]),
|
|
29
|
+
ssl: z.boolean().default(false),
|
|
30
|
+
sasl: KafkaSaslSchema.optional(),
|
|
31
|
+
clientId: z.string().min(1).optional()
|
|
32
|
+
});
|
|
33
|
+
export const ResolvedKafkaConnectorConfigSchema = KafkaConnectorConfigSchema.extend({
|
|
34
|
+
brokers: z.array(z.string().trim().min(1)).min(1)
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Connector declarations are parsed before merging with runtime broker settings.
|
|
38
|
+
* Password values remain credential references through config resolution.
|
|
39
|
+
*/
|
|
40
|
+
export const KafkaConnectorDeclaredConfigSchema = KafkaConnectorConfigSchema.partial().extend({
|
|
41
|
+
ssl: z.boolean().optional()
|
|
42
|
+
});
|
|
43
|
+
export const KafkaBaseOverridesSchema = z.object({
|
|
44
|
+
brokers: z.array(z.string().trim().min(1)).min(1).optional()
|
|
45
|
+
});
|
|
46
|
+
export const KafkaCustomConsumerOptionsSchema = z.object({
|
|
47
|
+
sessionTimeout: z.number().positive().default(30000),
|
|
48
|
+
heartbeatInterval: z.number().positive().default(3000),
|
|
49
|
+
autoCommit: z.boolean().optional(),
|
|
50
|
+
autoCommitInterval: z.number().positive().default(5000)
|
|
51
|
+
});
|
|
52
|
+
export const KafkaEventEnvelopeSchema = z.object({
|
|
53
|
+
id: z.string().min(1),
|
|
54
|
+
timestamp: z.string().min(1),
|
|
55
|
+
bus: z.string().min(1),
|
|
56
|
+
event: z.string().min(1),
|
|
57
|
+
payload: JsonValueSchema,
|
|
58
|
+
metadata: JsonObjectSchema.optional()
|
|
59
|
+
}).catchall(JsonValueSchema);
|
|
60
|
+
export function parseKafkaEventJson(raw) {
|
|
61
|
+
let value;
|
|
62
|
+
try {
|
|
63
|
+
value = JSON.parse(raw);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
return {
|
|
67
|
+
ok: false,
|
|
68
|
+
error: new CapabilityError('Invalid Kafka event JSON.', 'INVALID_INPUT', {
|
|
69
|
+
reason: 'kafka-event-envelope-invalid',
|
|
70
|
+
details: { failure: valueFreeFailure(CaughtFailureSchema.parse(error)) }
|
|
71
|
+
})
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const parsed = KafkaEventEnvelopeSchema.safeParse(value);
|
|
75
|
+
if (!parsed.success) {
|
|
76
|
+
return {
|
|
77
|
+
ok: false,
|
|
78
|
+
error: new CapabilityError('Invalid Kafka event envelope.', 'INVALID_INPUT', {
|
|
79
|
+
reason: 'kafka-event-envelope-invalid'
|
|
80
|
+
})
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return { ok: true, value: parsed.data };
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/schemas/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAErF,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IACjC,uCAAa,CAAA;IACb,6CAAmB,CAAA;IACnB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;AACxB,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AACD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAGnF,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,yBAAyB;CACnC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IAChE,0BAA0B,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACpE,0BAA0B,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;IAC5E,0BAA0B,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CAC5E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;CAChB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,0BAA0B,CAAC,MAAM,CAAC;IACnF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACjD,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;IAC7F,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5D,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACtD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACvD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAG7B,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC9C,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACJ,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,IAAI,eAAe,CAAC,2BAA2B,EAAE,eAAe,EAAE;gBACxE,MAAM,EAAE,8BAA8B;gBACtC,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;aACxE,CAAC;SACO,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO;YACN,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,IAAI,eAAe,CAAC,+BAA+B,EAAE,eAAe,EAAE;gBAC5E,MAAM,EAAE,8BAA8B;aACtC,CAAC;SACO,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAW,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type kafkajs from 'kafkajs';
|
|
2
|
+
/**
|
|
3
|
+
* The symbol under which a KafkaJS request queue records the runtime that owns
|
|
4
|
+
* it. Declared here so the guard and the client owner agree on one key; the
|
|
5
|
+
* value it holds is the owner's opaque token.
|
|
6
|
+
*/
|
|
7
|
+
export declare const vibesKafkaQueueOwner: unique symbol;
|
|
8
|
+
/**
|
|
9
|
+
* The slot under which a kafkajs facade carries the owner of the clusters it is
|
|
10
|
+
* about to build. `armKafkaClientQueues` writes it; the wrapped cluster factory
|
|
11
|
+
* leaves it in place so every cluster that client builds arms its own queues.
|
|
12
|
+
*/
|
|
13
|
+
export declare const vibesKafkaQueueOwnerSlot: unique symbol;
|
|
14
|
+
export type KafkaRequestQueueInstance = {
|
|
15
|
+
throttledUntil: number;
|
|
16
|
+
pending: {
|
|
17
|
+
length: number;
|
|
18
|
+
};
|
|
19
|
+
/** KafkaJS's own native timer handle; the guard's timers are tracked outside it. */
|
|
20
|
+
throttleCheckTimeoutId: (() => void) | ReturnType<typeof setTimeout> | null;
|
|
21
|
+
checkPendingRequests: () => void;
|
|
22
|
+
destroy?: () => void;
|
|
23
|
+
/** KafkaJS's own scheduler, which the guard falls through to for an unstamped queue. */
|
|
24
|
+
scheduleCheckPendingRequests: () => void;
|
|
25
|
+
/**
|
|
26
|
+
* Set by the runtime that created the client owning this queue. The patched
|
|
27
|
+
* scheduler arms the queue's timer on that runtime alone; a queue is never
|
|
28
|
+
* handed to whichever runtime happens to be live.
|
|
29
|
+
*/
|
|
30
|
+
[vibesKafkaQueueOwner]?: KafkaQueueOwnerStamp;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* What a queue may carry under `vibesKafkaQueueOwner`: the owner its client
|
|
34
|
+
* installed, or nothing at all on a queue no runtime armed.
|
|
35
|
+
*/
|
|
36
|
+
export type KafkaQueueOwnerStamp = KafkaQueueTimerOwner | undefined;
|
|
37
|
+
export type KafkaRequestQueuePrototype = {
|
|
38
|
+
scheduleCheckPendingRequests: (this: KafkaRequestQueueInstance) => void;
|
|
39
|
+
destroy?: (this: KafkaRequestQueueInstance) => void;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* KafkaJS's `RequestQueue` constructor. The module exports it directly, or
|
|
43
|
+
* wrapped in `default` when the host reads it through an interop layer.
|
|
44
|
+
*/
|
|
45
|
+
export type KafkaRequestQueueConstructor = {
|
|
46
|
+
prototype: KafkaRequestQueuePrototype;
|
|
47
|
+
};
|
|
48
|
+
export type KafkaRequestQueueModule = KafkaRequestQueueConstructor | {
|
|
49
|
+
default: KafkaRequestQueueConstructor;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* KafkaJS's `Connection` owns the request queue every broker conversation runs
|
|
53
|
+
* through, and builds it in its constructor. A `ConnectionPool` builds two of
|
|
54
|
+
* them in its own constructor, so a pool is the level at which a runtime's
|
|
55
|
+
* client hands queues to the guard.
|
|
56
|
+
*/
|
|
57
|
+
export type KafkaVendorConnection = {
|
|
58
|
+
requestQueue?: KafkaRequestQueueInstance;
|
|
59
|
+
};
|
|
60
|
+
/** KafkaJS's `ConnectionPool`: `pool` holds the `Connection`s it constructed. */
|
|
61
|
+
export type KafkaVendorConnectionPool = {
|
|
62
|
+
pool?: KafkaVendorConnection[];
|
|
63
|
+
};
|
|
64
|
+
/** The runtime-lifecycle surface a queue timer is armed on. */
|
|
65
|
+
export type KafkaQueueTimerOwner = {
|
|
66
|
+
signal: AbortSignal;
|
|
67
|
+
timeout: (callback: () => void, ms: number) => () => void;
|
|
68
|
+
};
|
|
69
|
+
/** Where the guard records the owner of the queues a client is about to build. */
|
|
70
|
+
export type KafkaQueueOwnerSlot = {
|
|
71
|
+
current: KafkaQueueTimerOwner | undefined;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* KafkaJS's `ConnectionPoolBuilder#build(destination)` resolves a
|
|
75
|
+
* `ConnectionPool`. `destination` is the broker selector KafkaJS documents
|
|
76
|
+
* (`{ host?, port?, rack? }`); the guard forwards it untouched.
|
|
77
|
+
*/
|
|
78
|
+
export type KafkaVendorConnectionPoolBuild = (destination?: KafkaBrokerDestination) => Promise<KafkaVendorConnectionPool>;
|
|
79
|
+
/** The broker selector KafkaJS's `build` accepts. */
|
|
80
|
+
export type KafkaBrokerDestination = {
|
|
81
|
+
host?: string;
|
|
82
|
+
port?: number;
|
|
83
|
+
rack?: string;
|
|
84
|
+
};
|
|
85
|
+
export type KafkaVendorConnectionPoolBuilder = {
|
|
86
|
+
build?: KafkaVendorConnectionPoolBuild;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* KafkaJS's `Cluster` builds its connections through the pool builder it creates
|
|
90
|
+
* in its constructor.
|
|
91
|
+
*/
|
|
92
|
+
export type KafkaVendorCluster = {
|
|
93
|
+
connectionPoolBuilder?: KafkaVendorConnectionPoolBuilder;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* The options KafkaJS's facade hands its private cluster factory: the client
|
|
97
|
+
* options the facade was built with plus the per-resource `clientId` and
|
|
98
|
+
* `retry`. The guard forwards the object unchanged, so only the members it reads
|
|
99
|
+
* are named; everything else the vendor passes through is untouched.
|
|
100
|
+
*/
|
|
101
|
+
export type KafkaClusterOptions = {
|
|
102
|
+
clientId?: string;
|
|
103
|
+
brokers?: string[];
|
|
104
|
+
};
|
|
105
|
+
/** The KafkaJS facade object whose real construction member is checked in the Node guard. */
|
|
106
|
+
export type KafkaVendorClient = object & {
|
|
107
|
+
[vibesKafkaQueueOwnerSlot]?: KafkaQueueOwnerSlot;
|
|
108
|
+
};
|
|
109
|
+
export type KafkaConnectionSet = {
|
|
110
|
+
kafka: kafkajs.Kafka;
|
|
111
|
+
producer: kafkajs.Producer | null;
|
|
112
|
+
producerPromise: Promise<kafkajs.Producer | null> | null;
|
|
113
|
+
consumer: kafkajs.Consumer | null;
|
|
114
|
+
admin: kafkajs.Admin | null;
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=kafka.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka.d.ts","sourceRoot":"","sources":["../../src/schemas/kafka.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The symbol under which a KafkaJS request queue records the runtime that owns
|
|
3
|
+
* it. Declared here so the guard and the client owner agree on one key; the
|
|
4
|
+
* value it holds is the owner's opaque token.
|
|
5
|
+
*/
|
|
6
|
+
export const vibesKafkaQueueOwner = Symbol.for('vibes.kafka.requestQueue.owner');
|
|
7
|
+
/**
|
|
8
|
+
* The slot under which a kafkajs facade carries the owner of the clusters it is
|
|
9
|
+
* about to build. `armKafkaClientQueues` writes it; the wrapped cluster factory
|
|
10
|
+
* leaves it in place so every cluster that client builds arms its own queues.
|
|
11
|
+
*/
|
|
12
|
+
export const vibesKafkaQueueOwnerSlot = Symbol.for('vibes.kafka.client.ownerSlot');
|
|
13
|
+
//# sourceMappingURL=kafka.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka.js","sourceRoot":"","sources":["../../src/schemas/kafka.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAkB,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAEhG;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAkB,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
3
|
+
export declare const ChatMessageSchema: z.ZodObject<{
|
|
4
|
+
eventType: z.ZodString;
|
|
5
|
+
data: z.ZodObject<{
|
|
6
|
+
chatRoomId: z.ZodString;
|
|
7
|
+
userId: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export declare const TypingSchema: z.ZodObject<{
|
|
11
|
+
data: z.ZodObject<{
|
|
12
|
+
chatRoomId: z.ZodString;
|
|
13
|
+
userId: z.ZodString;
|
|
14
|
+
isTyping: z.ZodBoolean;
|
|
15
|
+
agentId: z.ZodOptional<z.ZodString>;
|
|
16
|
+
typingStartedAt: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
export declare const PresenceSchema: z.ZodObject<{
|
|
20
|
+
data: z.ZodObject<{
|
|
21
|
+
userId: z.ZodString;
|
|
22
|
+
status: z.ZodString;
|
|
23
|
+
lastSeen: z.ZodString;
|
|
24
|
+
activeRooms: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
25
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export declare const RoomSchema: z.ZodObject<{
|
|
28
|
+
data: z.ZodObject<{
|
|
29
|
+
id: z.ZodString;
|
|
30
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export declare const ToolEnvelopeSchema: z.ZodObject<{
|
|
33
|
+
toolId: z.ZodString;
|
|
34
|
+
toolCallId: z.ZodString;
|
|
35
|
+
toolCallEventId: z.ZodString;
|
|
36
|
+
payload: z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export declare const WorkerPayloadSchema: z.ZodObject<{
|
|
39
|
+
crawlId: z.ZodOptional<z.ZodString>;
|
|
40
|
+
id: z.ZodOptional<z.ZodString>;
|
|
41
|
+
crawl: z.ZodOptional<z.ZodObject<{
|
|
42
|
+
id: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>>;
|
|
44
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
45
|
+
promptId: z.ZodOptional<z.ZodString>;
|
|
46
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
47
|
+
export declare const WorkerEventSchema: z.ZodObject<{
|
|
48
|
+
jobId: z.ZodString;
|
|
49
|
+
jobType: z.ZodString;
|
|
50
|
+
workerId: z.ZodString;
|
|
51
|
+
timestamp: z.ZodString;
|
|
52
|
+
type: z.ZodEnum<{
|
|
53
|
+
"job.queued": "job.queued";
|
|
54
|
+
"job.created": "job.created";
|
|
55
|
+
"job.started": "job.started";
|
|
56
|
+
"job.progress": "job.progress";
|
|
57
|
+
"job.completed": "job.completed";
|
|
58
|
+
"job.failed": "job.failed";
|
|
59
|
+
"job.retrying": "job.retrying";
|
|
60
|
+
"job.cancelled": "job.cancelled";
|
|
61
|
+
"tool.event": "tool.event";
|
|
62
|
+
}>;
|
|
63
|
+
id: z.ZodOptional<z.ZodString>;
|
|
64
|
+
payload: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
65
|
+
progress: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>]>>;
|
|
66
|
+
envelope: z.ZodOptional<z.ZodObject<{
|
|
67
|
+
toolId: z.ZodString;
|
|
68
|
+
toolCallId: z.ZodString;
|
|
69
|
+
toolCallEventId: z.ZodString;
|
|
70
|
+
payload: z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>;
|
|
71
|
+
}, z.core.$strip>>;
|
|
72
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
73
|
+
attemptNumber: z.ZodOptional<z.ZodNumber>;
|
|
74
|
+
error: z.ZodOptional<z.ZodString>;
|
|
75
|
+
result: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
76
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
77
|
+
export declare const BubbleMetadataSchema: z.ZodObject<{
|
|
78
|
+
messageId: z.ZodOptional<z.ZodString>;
|
|
79
|
+
agentId: z.ZodOptional<z.ZodString>;
|
|
80
|
+
toolName: z.ZodOptional<z.ZodString>;
|
|
81
|
+
toolCallId: z.ZodOptional<z.ZodString>;
|
|
82
|
+
toolArgs: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
83
|
+
toolResult: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
84
|
+
toolError: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
85
|
+
timestamp: z.ZodOptional<z.ZodString>;
|
|
86
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
87
|
+
export declare const BubbleSchema: z.ZodObject<{
|
|
88
|
+
type: z.ZodString;
|
|
89
|
+
content: z.ZodOptional<z.ZodString>;
|
|
90
|
+
bubbleId: z.ZodOptional<z.ZodString>;
|
|
91
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
92
|
+
messageId: z.ZodOptional<z.ZodString>;
|
|
93
|
+
agentId: z.ZodOptional<z.ZodString>;
|
|
94
|
+
toolName: z.ZodOptional<z.ZodString>;
|
|
95
|
+
toolCallId: z.ZodOptional<z.ZodString>;
|
|
96
|
+
toolArgs: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
97
|
+
toolResult: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
98
|
+
toolError: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
99
|
+
timestamp: z.ZodOptional<z.ZodString>;
|
|
100
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>>;
|
|
101
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
102
|
+
export declare const BubbleEventSchema: z.ZodObject<{
|
|
103
|
+
channel: z.ZodString;
|
|
104
|
+
payload: z.ZodObject<{
|
|
105
|
+
chatRoomId: z.ZodOptional<z.ZodString>;
|
|
106
|
+
bubble: z.ZodOptional<z.ZodObject<{
|
|
107
|
+
type: z.ZodString;
|
|
108
|
+
content: z.ZodOptional<z.ZodString>;
|
|
109
|
+
bubbleId: z.ZodOptional<z.ZodString>;
|
|
110
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
111
|
+
messageId: z.ZodOptional<z.ZodString>;
|
|
112
|
+
agentId: z.ZodOptional<z.ZodString>;
|
|
113
|
+
toolName: z.ZodOptional<z.ZodString>;
|
|
114
|
+
toolCallId: z.ZodOptional<z.ZodString>;
|
|
115
|
+
toolArgs: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
116
|
+
toolResult: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
117
|
+
toolError: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
|
|
118
|
+
timestamp: z.ZodOptional<z.ZodString>;
|
|
119
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>>;
|
|
120
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>>;
|
|
121
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
122
|
+
}, z.core.$catchall<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>>;
|
|
123
|
+
export declare const SseMessageSchema: z.ZodObject<{
|
|
124
|
+
type: z.ZodString;
|
|
125
|
+
data: z.ZodType<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject>>;
|
|
126
|
+
}, z.core.$strip>;
|
|
127
|
+
export type SseMessage = z.infer<typeof SseMessageSchema>;
|
|
128
|
+
export type WorkerEvent = z.infer<typeof WorkerEventSchema>;
|
|
129
|
+
export type BubbleEvent = z.infer<typeof BubbleEventSchema>;
|
|
130
|
+
export declare const MessagePersistenceSchema: z.ZodObject<{
|
|
131
|
+
updateMessage: z.ZodCustom<(messageId: string, content: string) => Promise<void>, (messageId: string, content: string) => Promise<void>>;
|
|
132
|
+
}, z.core.$strip>;
|
|
133
|
+
export type MessagePersistence = z.infer<typeof MessagePersistenceSchema>;
|
|
134
|
+
export { JsonObjectSchema };
|
|
135
|
+
//# sourceMappingURL=realtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/schemas/realtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kCAAkC,CAAC;AAMrF,eAAO,MAAM,iBAAiB;;;;;;iBAAkD,CAAC;AACjF,eAAO,MAAM,YAAY;;;;;;;;iBAAyJ,CAAC;AACnL,eAAO,MAAM,cAAc;;;;;;;iBAAwK,CAAC;AACpM,eAAO,MAAM,UAAU;;;;iBAA6E,CAAC;AACrG,eAAO,MAAM,kBAAkB;;;;;iBAAkH,CAAC;AAClJ,eAAO,MAAM,mBAAmB;;;;;;;;qQAGJ,CAAC;AAO7B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qQAKF,CAAC;AAC7B,eAAO,MAAM,oBAAoB;;;;;;;;;qQAIL,CAAC;AAC7B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;qQAEG,CAAC;AAC7B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;qQAEF,CAAC;AAC7B,eAAO,MAAM,gBAAgB;;;iBAAyD,CAAC;AACvF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,eAAO,MAAM,wBAAwB;2CACA,MAAM,WAAW,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,cAAzC,MAAM,WAAW,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;iBAC5E,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { JsonObjectSchema, JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
3
|
+
// These are transport routing contracts, not copies of the domain event model.
|
|
4
|
+
// Domain owners may add any JSON fields; only fields used by projections are required.
|
|
5
|
+
const object = z.record(z.string(), JsonValueSchema);
|
|
6
|
+
const room = z.object({ chatRoomId: z.string().min(1), userId: z.string().optional() }).catchall(JsonValueSchema);
|
|
7
|
+
export const ChatMessageSchema = z.object({ eventType: z.string(), data: room });
|
|
8
|
+
export const TypingSchema = z.object({ data: room.extend({ userId: z.string(), isTyping: z.boolean(), agentId: z.string().optional(), typingStartedAt: z.string().optional() }) });
|
|
9
|
+
export const PresenceSchema = z.object({ data: z.object({ userId: z.string(), status: z.string(), lastSeen: z.string(), activeRooms: z.array(z.string()).optional() }).catchall(JsonValueSchema) });
|
|
10
|
+
export const RoomSchema = z.object({ data: z.object({ id: z.string() }).catchall(JsonValueSchema) });
|
|
11
|
+
export const ToolEnvelopeSchema = z.object({ toolId: z.string(), toolCallId: z.string(), toolCallEventId: z.string(), payload: JsonValueSchema });
|
|
12
|
+
export const WorkerPayloadSchema = z.object({
|
|
13
|
+
crawlId: z.string().optional(), id: z.string().optional(), crawl: z.object({ id: z.string().optional() }).catchall(JsonValueSchema).optional(),
|
|
14
|
+
sessionId: z.string().optional(), promptId: z.string().optional()
|
|
15
|
+
}).catchall(JsonValueSchema);
|
|
16
|
+
// Workers currently exports this contract as a type. Check its required routing
|
|
17
|
+
// fields against the owner; retain optional transport extensions as open JSON.
|
|
18
|
+
const WorkerRoutingSchema = z.object({
|
|
19
|
+
jobId: z.string(), jobType: z.string(), workerId: z.string(), timestamp: z.string(),
|
|
20
|
+
type: z.enum(['job.queued', 'job.created', 'job.started', 'job.progress', 'job.completed', 'job.failed', 'job.retrying', 'job.cancelled', 'tool.event'])
|
|
21
|
+
});
|
|
22
|
+
export const WorkerEventSchema = WorkerRoutingSchema.extend({
|
|
23
|
+
id: z.string().optional(),
|
|
24
|
+
payload: JsonValueSchema.optional(), progress: z.union([z.number(), object]).optional(),
|
|
25
|
+
envelope: ToolEnvelopeSchema.optional(), metadata: object.optional(), attemptNumber: z.number().optional(),
|
|
26
|
+
error: z.string().optional(), result: JsonValueSchema.optional()
|
|
27
|
+
}).catchall(JsonValueSchema);
|
|
28
|
+
export const BubbleMetadataSchema = z.object({
|
|
29
|
+
messageId: z.string().optional(), agentId: z.string().optional(), toolName: z.string().optional(),
|
|
30
|
+
toolCallId: z.string().optional(), toolArgs: JsonValueSchema.optional(), toolResult: JsonValueSchema.optional(),
|
|
31
|
+
toolError: JsonValueSchema.optional(), timestamp: z.string().optional()
|
|
32
|
+
}).catchall(JsonValueSchema);
|
|
33
|
+
export const BubbleSchema = z.object({
|
|
34
|
+
type: z.string(), content: z.string().optional(), bubbleId: z.string().optional(), metadata: BubbleMetadataSchema.optional()
|
|
35
|
+
}).catchall(JsonValueSchema);
|
|
36
|
+
export const BubbleEventSchema = z.object({
|
|
37
|
+
channel: z.string(), payload: z.object({ chatRoomId: z.string().optional(), bubble: BubbleSchema.optional() }).catchall(JsonValueSchema)
|
|
38
|
+
}).catchall(JsonValueSchema);
|
|
39
|
+
export const SseMessageSchema = z.object({ type: z.string(), data: JsonObjectSchema });
|
|
40
|
+
export const MessagePersistenceSchema = z.object({
|
|
41
|
+
updateMessage: z.custom(value => z.function().safeParse(value).success)
|
|
42
|
+
});
|
|
43
|
+
export { JsonObjectSchema };
|
|
44
|
+
//# sourceMappingURL=realtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/schemas/realtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import type { KafkaJobsDb, KafkaJobsTable } from '../workers/adapter/provider.ts';
|
|
3
|
+
import type { DbOps } from '../workers/adapter/db-ops.ts';
|
|
4
|
+
export declare const WorkersKafkaDbContextSchema: z.ZodObject<{
|
|
5
|
+
db: z.ZodCustom<KafkaJobsDb, KafkaJobsDb>;
|
|
6
|
+
providerJobs: z.ZodCustom<KafkaJobsTable, KafkaJobsTable>;
|
|
7
|
+
ops: z.ZodCustom<DbOps, DbOps>;
|
|
8
|
+
dialect: z.ZodEnum<{
|
|
9
|
+
postgres: "postgres";
|
|
10
|
+
sqlite: "sqlite";
|
|
11
|
+
}>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type WorkersKafkaDbContext = z.infer<typeof WorkersKafkaDbContextSchema>;
|
|
14
|
+
//# sourceMappingURL=worker-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-context.d.ts","sourceRoot":"","sources":["../../src/schemas/worker-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAoB1D,eAAO,MAAM,2BAA2B;;;;;;;;iBAMtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
// Validate host capabilities without cloning native database/table objects or
|
|
3
|
+
// wrapping methods: Drizzle relies on their identity and receiver.
|
|
4
|
+
const DatabaseCapabilitySchema = z.object({
|
|
5
|
+
transaction: z.function(), select: z.function(), insert: z.function(),
|
|
6
|
+
update: z.function(), delete: z.function()
|
|
7
|
+
});
|
|
8
|
+
const SqlOperatorsSchema = z.object({
|
|
9
|
+
eq: z.function(), and: z.function(), asc: z.function(), desc: z.function(),
|
|
10
|
+
sql: z.function()
|
|
11
|
+
});
|
|
12
|
+
const columns = [
|
|
13
|
+
'id', 'queueName', 'provider', 'status', 'data', 'metadata', 'createdAt',
|
|
14
|
+
'startedAt', 'completedAt', 'generation', 'revision', 'executionState',
|
|
15
|
+
'claimToken', 'claimAttempt', 'claimOwner', 'claimHeartbeatAt', 'retiredAt',
|
|
16
|
+
'priority', 'attemptsMade', 'progress', 'result', 'error', 'cancellation'
|
|
17
|
+
];
|
|
18
|
+
const ProviderJobsTableSchema = z.object(Object.fromEntries(columns.map(key => [key, z.object({}).loose()])));
|
|
19
|
+
export const WorkersKafkaDbContextSchema = z.object({
|
|
20
|
+
db: z.custom(value => DatabaseCapabilitySchema.safeParse(value).success),
|
|
21
|
+
providerJobs: z.custom(value => ProviderJobsTableSchema.safeParse(value).success),
|
|
22
|
+
ops: z.custom(value => SqlOperatorsSchema.safeParse(value).success),
|
|
23
|
+
// The host names its dialect: the queue never guesses a locking strategy.
|
|
24
|
+
dialect: z.enum(['postgres', 'sqlite'])
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=worker-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-context.js","sourceRoot":"","sources":["../../src/schemas/worker-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAI5B,8EAA8E;AAC9E,mEAAmE;AACnE,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1E,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjB,CAAC,CAAC;AACH,MAAM,OAAO,GAAG;IACf,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW;IACxE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB;IACtE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW;IAC3E,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc;CACpB,CAAC;AACvD,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9G,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,EAAE,EAAE,CAAC,CAAC,MAAM,CAAc,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACrF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAiB,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACjG,GAAG,EAAE,CAAC,CAAC,MAAM,CAAQ,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC1E,0EAA0E;IAC1E,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;CACvC,CAAC,CAAC"}
|
package/dist/topics.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
export declare const KAFKA_TOPICS: {
|
|
3
|
+
readonly CHAT_MESSAGES: "chat.messages";
|
|
4
|
+
readonly CHAT_TYPING: "chat.typing";
|
|
5
|
+
readonly CHAT_PRESENCE: "chat.presence";
|
|
6
|
+
readonly CHAT_ROOMS: "chat.rooms";
|
|
7
|
+
readonly WORKER_JOBS: "worker.jobs";
|
|
8
|
+
readonly WORKER_HEALTH: "worker.health";
|
|
9
|
+
readonly TEXT_GENERATION_BUBBLES: "text-generation.bubbles";
|
|
10
|
+
readonly TEXT_GENERATION_JOBS: "text-generation.jobs";
|
|
11
|
+
readonly BENCHMARK_EVENTS: "benchmark.events";
|
|
12
|
+
readonly ANALYTICS_EVENTS: "analytics.events";
|
|
13
|
+
readonly ANALYTICS_METRICS: "analytics.metrics";
|
|
14
|
+
};
|
|
15
|
+
export declare const topicConfigurationsSchema: z.ZodObject<{
|
|
16
|
+
"chat.messages": z.ZodPrefault<z.ZodObject<{
|
|
17
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
18
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
19
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
20
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
21
|
+
}, z.core.$strip>>;
|
|
22
|
+
"chat.typing": z.ZodPrefault<z.ZodObject<{
|
|
23
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
24
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
25
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
26
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
27
|
+
}, z.core.$strip>>;
|
|
28
|
+
"chat.presence": z.ZodPrefault<z.ZodObject<{
|
|
29
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
30
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
31
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
32
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
"chat.rooms": z.ZodPrefault<z.ZodObject<{
|
|
35
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
36
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
37
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
38
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
"worker.jobs": z.ZodPrefault<z.ZodObject<{
|
|
41
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
42
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
43
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
44
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
45
|
+
}, z.core.$strip>>;
|
|
46
|
+
"worker.health": z.ZodPrefault<z.ZodObject<{
|
|
47
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
48
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
49
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
50
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
51
|
+
}, z.core.$strip>>;
|
|
52
|
+
"text-generation.bubbles": z.ZodPrefault<z.ZodObject<{
|
|
53
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
54
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
55
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
56
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
57
|
+
}, z.core.$strip>>;
|
|
58
|
+
"text-generation.jobs": z.ZodPrefault<z.ZodObject<{
|
|
59
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
60
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
61
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
62
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
63
|
+
}, z.core.$strip>>;
|
|
64
|
+
"benchmark.events": z.ZodPrefault<z.ZodObject<{
|
|
65
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
66
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
67
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
68
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
69
|
+
}, z.core.$strip>>;
|
|
70
|
+
"analytics.events": z.ZodPrefault<z.ZodObject<{
|
|
71
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
72
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
73
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
74
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
75
|
+
}, z.core.$strip>>;
|
|
76
|
+
"analytics.metrics": z.ZodPrefault<z.ZodObject<{
|
|
77
|
+
partitions: z.ZodDefault<z.ZodNumber>;
|
|
78
|
+
replicationFactor: z.ZodDefault<z.ZodNumber>;
|
|
79
|
+
retentionMs: z.ZodDefault<z.ZodNumber>;
|
|
80
|
+
segmentMs: z.ZodDefault<z.ZodNumber>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
}, z.core.$strip>;
|
|
83
|
+
export type KafkaTopic = keyof typeof KAFKA_TOPICS;
|
|
84
|
+
export type TopicConfigurations = z.infer<typeof topicConfigurationsSchema>;
|
|
85
|
+
//# sourceMappingURL=topics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../src/topics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,YAAY;;;;;;;;;;;;CAqBf,CAAC;AAGX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmEpC,CAAC;AAGH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAC;AACnD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|