feat: enable HWLAB Kafka event bridge env
This commit is contained in:
@@ -416,6 +416,17 @@ export interface HwlabRuntimeKafkaShadowProducerSpec {
|
||||
readonly clientId: string;
|
||||
}
|
||||
|
||||
export interface HwlabRuntimeKafkaEventBridgeSpec {
|
||||
readonly enabled: boolean;
|
||||
readonly mode: "agentrun-event-to-hwlab-event";
|
||||
readonly configRef: string;
|
||||
readonly bootstrapServers: string;
|
||||
readonly agentRunEventTopic: string;
|
||||
readonly hwlabEventTopic: string;
|
||||
readonly clientId: string;
|
||||
readonly consumerGroupId: string;
|
||||
}
|
||||
|
||||
export interface HwlabRuntimeCodeAgentRuntimeSpec {
|
||||
readonly enabled: boolean;
|
||||
readonly adapter: string;
|
||||
@@ -429,6 +440,7 @@ export interface HwlabRuntimeCodeAgentRuntimeSpec {
|
||||
readonly defaultProviderProfile: string;
|
||||
readonly codexStdioSupervisor: "repo-owned";
|
||||
readonly kafkaShadowProducer?: HwlabRuntimeKafkaShadowProducerSpec;
|
||||
readonly kafkaEventBridge?: HwlabRuntimeKafkaEventBridgeSpec;
|
||||
}
|
||||
|
||||
export interface HwlabRuntimeSourceWorkspaceSpec {
|
||||
@@ -988,6 +1000,9 @@ function codeAgentRuntimeConfig(value: unknown, path: string): HwlabRuntimeCodeA
|
||||
...(raw.kafkaShadowProducer === undefined
|
||||
? {}
|
||||
: { kafkaShadowProducer: codeAgentKafkaShadowProducerConfig(raw.kafkaShadowProducer, `${path}.kafkaShadowProducer`) }),
|
||||
...(raw.kafkaEventBridge === undefined
|
||||
? {}
|
||||
: { kafkaEventBridge: codeAgentKafkaEventBridgeConfig(raw.kafkaEventBridge, `${path}.kafkaEventBridge`) }),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1007,6 +1022,20 @@ function codeAgentKafkaShadowProducerConfig(value: unknown, path: string): Hwlab
|
||||
};
|
||||
}
|
||||
|
||||
function codeAgentKafkaEventBridgeConfig(value: unknown, path: string): HwlabRuntimeKafkaEventBridgeSpec {
|
||||
const raw = asRecord(value, path);
|
||||
return {
|
||||
enabled: booleanField(raw, "enabled", path),
|
||||
mode: enumStringField(raw, "mode", path, ["agentrun-event-to-hwlab-event"]),
|
||||
configRef: stringField(raw, "configRef", path),
|
||||
bootstrapServers: stringField(raw, "bootstrapServers", path),
|
||||
agentRunEventTopic: stringField(raw, "agentRunEventTopic", path),
|
||||
hwlabEventTopic: stringField(raw, "hwlabEventTopic", path),
|
||||
clientId: stringField(raw, "clientId", path),
|
||||
consumerGroupId: stringField(raw, "consumerGroupId", path),
|
||||
};
|
||||
}
|
||||
|
||||
function commandNameField(value: string, path: string): string {
|
||||
if (!/^[A-Za-z0-9._+-]+$/u.test(value)) throw new Error(`${path} must be a simple command name`);
|
||||
return value;
|
||||
|
||||
Reference in New Issue
Block a user