learning_ai_common_plat/services
saravanakumardb1 19674c7ef7 feat(cowork-service): ecosystem alignment + IPC bridge to Rust runtime
ECOSYSTEM GAPS CLOSED — cowork-service now matches the pattern used by
all other product backends (FlowMonk, ActionTrail, NoteLett, etc.):

New lib files (6):
- lib/product-config.ts — canonical product identity (PRODUCT_ID, productConfig)
- lib/auth.ts — @bytelyst/fastify-auth createAuthMiddleware
- lib/request-context.ts — getUserId(), getRequestProductId()
- lib/telemetry.ts — @bytelyst/backend-telemetry buffer
- lib/feature-flags.ts — @bytelyst/backend-flags with 12 cowork flags
- lib/ipc-bridge.ts — IpcBridge class: spawn Rust child, JSON-RPC, 13 methods

Updated files:
- lib/config.ts — extends @bytelyst/backend-config baseBackendConfigSchema
- server.ts — JWT context, bootstrap endpoint, IPC startup, graceful shutdown
- modules/tasks/routes.ts — IPC bridge forwarding with in-memory fallback
- modules/health/routes.ts — productId from product-config, IPC status
- package.json — 7 new @bytelyst/* workspace deps

IPC bridge features:
- Spawns cowork-orchestrator --ipc-bridge as child process
- JSON-RPC 2.0 over stdin/stdout (line-delimited)
- 13 convenience methods matching Rust IpcHandler
- Timeout + pending request tracking
- Graceful shutdown with SIGTERM
- Singleton pattern with setIpcBridge() for testing

24 tests passing (was 8), typecheck clean.
2026-04-02 22:14:24 -07:00
..
cowork-service feat(cowork-service): ecosystem alignment + IPC bridge to Rust runtime 2026-04-02 22:14:24 -07:00
extraction-service feat(extraction): back product rate limits with valkey 2026-03-31 08:08:53 +00:00
mcp-server fix(mcp): align ChronoMind type enums with actual backend schema 2026-03-31 23:57:24 -07:00
monitoring feat(observability): add phase 2 monitoring and valkey services 2026-03-31 06:57:12 +00:00
platform-service feat(cowork-service): scaffold Fastify bridge + seed clawcowork feature flags (H.1 + H.2) 2026-04-02 20:39:22 -07:00