Commit Graph

17 Commits

Author SHA1 Message Date
fd79131067 chore(release): add changesets 2026-02-14 19:49:08 -08:00
e9b33fb518 feat(monitoring): add @bytelyst/monitoring package 2026-02-14 15:57:41 -08:00
125eb03745 feat(blob): add @bytelyst/blob shared package 2026-02-14 15:53:33 -08:00
saravanakumardb1
c292bb5cc1 feat(extraction): scaffold extraction-service + @bytelyst/extraction package
- extraction-service: Fastify scaffold (port 4005) with extract/tasks modules
- src/lib/: config, errors, cosmos, product-config, python-bridge
- src/modules/extract/: types (Zod schemas), routes (POST /extract, batch, models)
- src/modules/tasks/: types, repository (Cosmos CRUD), routes (CRUD endpoints)
- Python sidecar: FastAPI app, LangExtract wrapper, models, task registry
- @bytelyst/extraction package: types, client factory, index exports
- Both pnpm build pass clean
2026-02-14 13:31:40 -08:00
c84185da24 test(react-auth): switch vitest env to happy-dom 2026-02-14 13:15:12 -08:00
saravanakumardb1
54e062b989 chore: remove unused devDeps found by depcheck
- react-auth: removed @testing-library/jest-dom (not imported)
- testing: removed @bytelyst/errors, @fastify/cors (not imported)
2026-02-13 00:17:04 -08:00
saravanakumardb1
99cbdf582c feat(auth): add middleware tests + E2E flow + migrate tracker-service to @bytelyst/auth
- Upgraded @bytelyst/auth middleware to throw ServiceError types (UnauthorizedError, ForbiddenError)
- Added @bytelyst/errors as dependency to auth package
- 11 new middleware tests (extractAuth + requireRole)
- 4 new E2E tests (full login → JWT → auth → role check flow)
- Refactored tracker-service lib/auth.ts from 48-line local impl to 1-line re-export
- Added @bytelyst/auth as tracker-service dependency
- All 277 tests pass, 0 regressions
2026-02-12 23:41:46 -08:00
saravanakumardb1
7ffc60c490 feat(testing): create @bytelyst/testing shared package with 10 tests
Exports:
- createCosmosMocks(): full Cosmos DB mock factory for vitest
- TEST_USERS, TEST_JWT_SECRET, createTestTokenPayload(): auth fixtures
- injectGet/Post/Patch/Delete(): Fastify inject wrappers
- expectHealthOk(): health endpoint assertion helper
2026-02-12 22:59:28 -08:00
saravanakumardb1
428e973548 test(react-auth): add 10 tests with jsdom + React Testing Library
Tests: createAuthProvider factory, AuthProvider rendering, login/logout
flows, localStorage persistence, onLoginFallback, useAuth outside provider,
custom storage prefix.
2026-02-12 22:55:44 -08:00
saravanakumardb1
63c08dbb0a refactor(services): integrate @bytelyst/fastify-core into all 4 services
Replaced duplicated server setup code with createServiceApp() factory:
- platform-service: 91 → 39 lines
- billing-service: 105 → 51 lines (keeps service-specific internal key auth)
- growth-service: 83 → 33 lines
- tracker-service: 88 → 36 lines

Enhanced fastify-core with optional Swagger + Prometheus metrics support.
Total reduction: ~208 lines of duplicated boilerplate eliminated.
All 246 tests pass.
2026-02-12 22:53:22 -08:00
saravanakumardb1
832eccafed feat: add package tests (58 new) + @bytelyst/fastify-core package
Package tests added:
- @bytelyst/cosmos: 12 tests (client singleton, env vars, container registry)
- @bytelyst/config: 15 tests (base schema, loadConfig, product identity)
- @bytelyst/auth: 10 tests (JWT round-trip, password hash/verify)
- @bytelyst/api-client: 10 tests (fetch, safeFetch, auth injection)
- @bytelyst/design-tokens: 11 tests (loadTokens, generated file checks)

New package:
- @bytelyst/fastify-core: 8 tests (createServiceApp factory with CORS,
  x-request-id, health endpoint, ServiceError handler)

Total: 246 tests passing (was 180)
2026-02-12 22:17:17 -08:00
saravanakumardb1
90b9cf93d8 fix(common): configure ESLint 9 and fix lint issues
- Added @eslint/js dependency
- Updated eslint.config.js for ESLint 9 compatibility
- Added required globals (crypto, localStorage, React, etc.)
- Fixed unused imports and variables
- Disabled sort-imports temporarily
- Formatted all files with Prettier
2026-02-12 16:37:30 -08:00
saravanakumardb1
92cb800d32 chore: remove test file 2026-02-12 16:17:29 -08:00
saravanakumardb1
dca1587efb feat: tighten production-readiness workflow
Quick wins implemented:
- Add ESLint to common_plat (12 projects now linted)
- Add test coverage with 80% thresholds
- Add security audit for all dependencies
- Add bundle analysis for Next.js builds
- Update Makefile with audit target

Enhanced coverage:
- common_plat: +lint, +coverage, +security
- dashboards: +coverage, +bundle analysis, +security
- Python: +security audit via make target

Workflow now validates 7 dimensions instead of 4.
2026-02-12 15:49:46 -08:00
saravanakumardb1
4ae7a9d023 refactor(services): rewire lib/ to @bytelyst/* packages + add docker-compose
Rewired all 4 services:
- lib/errors.ts → re-exports from @bytelyst/errors
- lib/cosmos.ts → re-exports from @bytelyst/cosmos
- lib/product-config.ts → uses loadProductIdentity()/getProductId() from @bytelyst/config
- lib/config.ts → kept self-contained (zod v3/v4 type mismatch with loadConfig)

Added workspace deps (@bytelyst/errors, @bytelyst/cosmos, @bytelyst/config) to all 4 services.
Added docker-compose.yml with Loki, Grafana, Traefik, and all 4 services.
Added .env.example with required env vars.
Added passWithNoTests to vitest.config.ts.
Pinned root zod to ^3.24.0 to match service zod versions.

All 12 projects build. 175 tests passing.
2026-02-12 11:49:42 -08:00
saravanakumardb1
c97e697097 feat(services): add monitoring (Loki + Grafana config, health-check)
- Copied as-is from learning_voice_ai_agent/services/monitoring
- Grafana dashboards + provisioning for Loki datasource
- health-check.ts for service health polling
- Updated pnpm-workspace.yaml to include services/*
2026-02-12 11:39:24 -08:00
saravanakumardb1
72c6e64854 chore: add pnpm lockfile 2026-02-12 11:23:09 -08:00