Skip to content

Commit 8e0f365

Browse files
committed
feat: add WS, SSE, Pub/Sub, RabbitMQ, and EventBridge protocol linkers
Sessions 4-5 of the C rewrite: 5 new protocol linkers with 63 tests. - servicelink_ws.c: WebSocket endpoint/client discovery, path matching - servicelink_sse.c: SSE endpoint/client discovery, path matching - servicelink_pubsub.c: GCP Pub/Sub topic extraction and matching - servicelink_rabbitmq.c: AMQP publisher/consumer with exchange-type-aware routing and topic wildcard matching (*/# via DP algorithm) - servicelink_eventbridge.c: EventBridge put_events/event_rule with compound source:detail_type matching - 4 stubs remain (mqtt, nats, redis_pubsub, trpc) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 4ce9704 commit 8e0f365

13 files changed

Lines changed: 6750 additions & 7 deletions

Makefile.cbm

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,12 @@ PIPELINE_SRCS = \
195195
src/pipeline/servicelink_grpc.c \
196196
src/pipeline/servicelink_kafka.c \
197197
src/pipeline/servicelink_sqs.c \
198-
src/pipeline/servicelink_sns.c
198+
src/pipeline/servicelink_sns.c \
199+
src/pipeline/servicelink_ws.c \
200+
src/pipeline/servicelink_sse.c \
201+
src/pipeline/servicelink_pubsub.c \
202+
src/pipeline/servicelink_rabbitmq.c \
203+
src/pipeline/servicelink_eventbridge.c
199204

200205
# SimHash / MinHash module
201206
SIMHASH_SRCS = src/simhash/minhash.c
@@ -322,6 +327,16 @@ TEST_SERVICELINK_SQS_SRCS = tests/test_servicelink_sqs.c
322327

323328
TEST_SERVICELINK_SNS_SRCS = tests/test_servicelink_sns.c
324329

330+
TEST_SERVICELINK_WS_SRCS = tests/test_servicelink_ws.c
331+
332+
TEST_SERVICELINK_SSE_SRCS = tests/test_servicelink_sse.c
333+
334+
TEST_SERVICELINK_PUBSUB_SRCS = tests/test_servicelink_pubsub.c
335+
336+
TEST_SERVICELINK_RABBITMQ_SRCS = tests/test_servicelink_rabbitmq.c
337+
338+
TEST_SERVICELINK_EVENTBRIDGE_SRCS = tests/test_servicelink_eventbridge.c
339+
325340
TEST_CLI_SRCS = tests/test_cli.c
326341

327342
TEST_MEM_SRCS = tests/test_mem.c
@@ -339,8 +354,13 @@ TEST_SERVICELINK_GRPC_SRCS = tests/test_servicelink_grpc.c
339354
TEST_SERVICELINK_KAFKA_SRCS = tests/test_servicelink_kafka.c
340355
TEST_SERVICELINK_SQS_SRCS = tests/test_servicelink_sqs.c
341356
TEST_SERVICELINK_SNS_SRCS = tests/test_servicelink_sns.c
357+
TEST_SERVICELINK_WS_SRCS = tests/test_servicelink_ws.c
358+
TEST_SERVICELINK_SSE_SRCS = tests/test_servicelink_sse.c
359+
TEST_SERVICELINK_PUBSUB_SRCS = tests/test_servicelink_pubsub.c
360+
TEST_SERVICELINK_RABBITMQ_SRCS = tests/test_servicelink_rabbitmq.c
361+
TEST_SERVICELINK_EVENTBRIDGE_SRCS = tests/test_servicelink_eventbridge.c
342362

343-
ALL_TEST_SRCS = $(TEST_FOUNDATION_SRCS) $(TEST_EXTRACTION_SRCS) $(TEST_STORE_SRCS) $(TEST_CYPHER_SRCS) $(TEST_MCP_SRCS) $(TEST_DISCOVER_SRCS) $(TEST_GRAPH_BUFFER_SRCS) $(TEST_PIPELINE_SRCS) $(TEST_WATCHER_SRCS) $(TEST_LZ4_SRCS) $(TEST_SQLITE_WRITER_SRCS) $(TEST_GO_LSP_SRCS) $(TEST_C_LSP_SRCS) $(TEST_TRACES_SRCS) $(TEST_CLI_SRCS) $(TEST_MEM_SRCS) $(TEST_UI_SRCS) $(TEST_SECURITY_SRCS) $(TEST_YAML_SRCS) $(TEST_SIMHASH_SRCS) $(TEST_INTEGRATION_SRCS) $(TEST_SERVICELINK_GRAPHQL_SRCS) $(TEST_SERVICELINK_GRPC_SRCS) $(TEST_SERVICELINK_KAFKA_SRCS) $(TEST_SERVICELINK_SQS_SRCS) $(TEST_SERVICELINK_SNS_SRCS)
363+
ALL_TEST_SRCS = $(TEST_FOUNDATION_SRCS) $(TEST_EXTRACTION_SRCS) $(TEST_STORE_SRCS) $(TEST_CYPHER_SRCS) $(TEST_MCP_SRCS) $(TEST_DISCOVER_SRCS) $(TEST_GRAPH_BUFFER_SRCS) $(TEST_PIPELINE_SRCS) $(TEST_WATCHER_SRCS) $(TEST_LZ4_SRCS) $(TEST_SQLITE_WRITER_SRCS) $(TEST_GO_LSP_SRCS) $(TEST_C_LSP_SRCS) $(TEST_TRACES_SRCS) $(TEST_CLI_SRCS) $(TEST_MEM_SRCS) $(TEST_UI_SRCS) $(TEST_SECURITY_SRCS) $(TEST_YAML_SRCS) $(TEST_SIMHASH_SRCS) $(TEST_INTEGRATION_SRCS) $(TEST_SERVICELINK_GRAPHQL_SRCS) $(TEST_SERVICELINK_GRPC_SRCS) $(TEST_SERVICELINK_KAFKA_SRCS) $(TEST_SERVICELINK_SQS_SRCS) $(TEST_SERVICELINK_SNS_SRCS) $(TEST_SERVICELINK_WS_SRCS) $(TEST_SERVICELINK_SSE_SRCS) $(TEST_SERVICELINK_PUBSUB_SRCS) $(TEST_SERVICELINK_RABBITMQ_SRCS) $(TEST_SERVICELINK_EVENTBRIDGE_SRCS)
344364

345365
# ── Build directories ────────────────────────────────────────────
346366

src/pipeline/servicelink_eventbridge.c

Lines changed: 624 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)