- Copy core source from alkhub_ts/packages/core/pubsub/ with import path fixups (typed_event_target.ts → types.ts, .ts → .js extensions) - Make PubSubPublishArgsByKey exported (was private type, needed by barrel) - Add package.json with sub-path exports and optional peer deps (ioredis) - Add tsup.config.ts with multi-entry + splitting for tree-shaking - Add tsconfig.json, vitest.config.ts, .gitignore - Add AGENTS.md with project conventions and adapter checklist - Add architecture docs following taskgraph/alkhub pattern: docs/architecture/README.md, api-surface.md, event-targets.md, iroh-transport.md, build-distribution.md - Add ADRs: 001-graphql-yoga-fork, 002-tree-shake-pattern - Copy migration research doc to docs/research/migration.md - Dual-license MIT OR Apache-2.0 (matching taskgraph)
1.1 KiB
1.1 KiB
Architecture
This document has been decomposed into modular documents. See docs/architecture/ for the current architecture specification.
| Document | Content |
|---|---|
| architecture/README.md | Overview, why this exists, interface contract, consumer context |
| architecture/api-surface.md | createPubSub, PubSub types, operators |
| architecture/event-targets.md | In-process, Redis, WebSocket adapters |
| architecture/iroh-transport.md | Iroh P2P QUIC transport, framing, identity, hub/spoke |
| architecture/build-distribution.md | Dependencies, project structure, tree-shaking, sub-path exports |
Design Decisions
| ADR | Decision |
|---|---|
| 001 | Fork graphql-yoga pubsub rather than depend on it |
| 002 | Sub-path exports + peer deps for adapter isolation |