Problem
BrokerActor provides rememberSubscription/forgetSubscription to every subclass (src/io/broker/BrokerActor.ts:238-250), but the exposed command unions diverge arbitrarily: NATS has subscribe and unsubscribe (NatsActor.ts:35,42), MQTT has both (MqttMessages.ts:162,174), Kafka has subscribe but no unsubscribe (KafkaActor.ts:101-106), and AMQP / JetStream / RedisStreams expose neither (AmqpActor.ts:59, JetStreamActor.ts:170, RedisStreamsActor.ts:32). Naming also splits: Kafka's positive ack is commit, everyone else's is acknowledgment.
Proposed behaviour
Define the canonical command vocabulary once (subscribe / unsubscribe / acknowledgment / negativeAcknowledgment), implement it wherever the protocol permits, and document the exceptions in docs/.../io/broker-actor-base.mdx (EN+DE) as a per-broker support table.
Acceptance criteria
KafkaCommand gains unsubscribe.
- The docs table states, per broker, which of the four commands are supported and why not.
Related: #437 (cloud brokers should land on the unified vocabulary)
Problem
BrokerActorprovidesrememberSubscription/forgetSubscriptionto every subclass (src/io/broker/BrokerActor.ts:238-250), but the exposed command unions diverge arbitrarily: NATS has subscribe and unsubscribe (NatsActor.ts:35,42), MQTT has both (MqttMessages.ts:162,174), Kafka hassubscribebut nounsubscribe(KafkaActor.ts:101-106), and AMQP / JetStream / RedisStreams expose neither (AmqpActor.ts:59,JetStreamActor.ts:170,RedisStreamsActor.ts:32). Naming also splits: Kafka's positive ack iscommit, everyone else's isacknowledgment.Proposed behaviour
Define the canonical command vocabulary once (
subscribe/unsubscribe/acknowledgment/negativeAcknowledgment), implement it wherever the protocol permits, and document the exceptions indocs/.../io/broker-actor-base.mdx(EN+DE) as a per-broker support table.Acceptance criteria
KafkaCommandgainsunsubscribe.Related: #437 (cloud brokers should land on the unified vocabulary)