/**
 * ROADMAP TODO #6 — Bundle-size budgets for @bytelyst/* packages.
 *
 * Each entry measures the gzipped size of a package's built `dist/`
 * output. The 'limit' field is the budget — PRs that exceed it fail CI.
 *
 * Initial budgets per learning_ai_uxui_web/docs/ROADMAP_2026.md §5
 * "Performance budgets":
 *   - Pure-TS clients          → 8 KB
 *   - Feature packs            → 6 KB
 *   - UI primitive slices      → ~1 KB per primitive (whole pkg < 30 KB)
 *   - Tokens / design-tokens   → 12 KB (CSS heavy)
 *
 * Pilot scope (this commit): wire up 6 representative packages. Rollout
 * to the rest of @bytelyst/* lands incrementally as packages stabilise.
 *
 * Run locally:
 *   pnpm -w size                   — full check
 *   pnpm -w size --why <name>      — explain what's contributing
 *
 * To add a package:
 *   1. Confirm the package has 'build' in its scripts and emits to dist/
 *   2. Add an entry below with name, path, and limit
 *   3. Run `pnpm -w size --update` to record the current baseline if
 *      you're starting under-budget (optional)
 */
module.exports = [
  // ── Pure-TS clients (8 KB) ──────────────────────────────────────
  {
    name: '@bytelyst/api-client',
    path: 'packages/api-client/dist/index.js',
    limit: '8 KB',
    gzip: true,
  },
  {
    name: '@bytelyst/auth-client',
    path: 'packages/auth-client/dist/index.js',
    limit: '8 KB',
    gzip: true,
  },
  // ── Feature packs (6 KB) ────────────────────────────────────────
  {
    name: '@bytelyst/celebrations',
    path: 'packages/celebrations/dist/index.js',
    limit: '6 KB',
    gzip: true,
  },
  {
    name: '@bytelyst/quick-actions',
    path: 'packages/quick-actions/dist/index.js',
    limit: '6 KB',
    gzip: true,
  },
  // ── React bindings (10 KB — slightly higher for hooks + context) ─
  {
    name: '@bytelyst/react-auth',
    path: 'packages/react-auth/dist/index.js',
    limit: '10 KB',
    gzip: true,
  },
  // ── Shells / composite UI (30 KB) ───────────────────────────────
  {
    name: '@bytelyst/dashboard-shell',
    path: 'packages/dashboard-shell/dist/index.js',
    limit: '30 KB',
    gzip: true,
  },
  // ── AI-native UI (35 KB — streaming + parsing is heavy) ─────────
  {
    name: '@bytelyst/ai-ui',
    path: 'packages/ai-ui/dist/index.js',
    limit: '35 KB',
    gzip: true,
  },
  // ── Command palette (15 KB — fuzzy + dialog + registry) ─────────
  {
    name: '@bytelyst/command-palette',
    path: 'packages/command-palette/dist/index.js',
    limit: '15 KB',
    gzip: true,
  },
  // ── Motion primitives (8 KB — 5 components, zero deps) ──────────
  {
    name: '@bytelyst/motion',
    path: 'packages/motion/dist/index.js',
    limit: '8 KB',
    gzip: true,
  },
  // ── Data-viz primitives (10 KB — 5 SVG components) ──────────────
  {
    name: '@bytelyst/data-viz',
    path: 'packages/data-viz/dist/index.js',
    limit: '10 KB',
    gzip: true,
  },
  // ── Notifications UI (10 KB — center + banner + announcement) ───
  {
    name: '@bytelyst/notifications-ui',
    path: 'packages/notifications-ui/dist/index.js',
    limit: '10 KB',
    gzip: true,
  },
];
