)]}'
{
  "log": [
    {
      "commit": "3d1308e3468915212bea595ddef14952eb82f7fc",
      "tree": "de337e13601c4f73496f529bcd0ddfa6fc6d2cf5",
      "parents": [
        "5c86165937d556a7a37f51f609661d9c4910087e"
      ],
      "author": {
        "name": "banksean",
        "email": "banksean@gmail.com",
        "time": "Tue Jul 29 17:20:10 2025 +0000"
      },
      "committer": {
        "name": "Autoformatter",
        "email": "bot@sketch.dev",
        "time": "Tue Jul 29 17:23:01 2025 +0000"
      },
      "message": "webui: dark mode support to demo fmwk, tool cards\n\nDemo framework fixes:\n- sketch-push-button.demo.ts: add dark variants for bg, border, text colors\n- chat-input.ts: add dark variants for message containers and status sections\n- demo-runner.ts: replace inline error styles with Tailwind dark mode classes\n- sketch-call-status.demo.ts: fix hardcoded white backgrounds in status cards\n- sketch-diff-range-picker.demo.ts: add dark variants to picker and status displays\n- sketch-timeline-message.demo.ts: fix message container backgrounds\n- sketch-view-mode-select.demo.ts: comprehensive dark mode for all scenarios\n\nTool card fixes:\n- Update shared createPreElement function with dark:bg-gray-700/dark:text-gray-100\n- bash tool: fix command display and result areas\n- think tool: fix input content area with proper dark background\n- patch tool: comprehensive diff rendering with dark variants for added/removed/context lines\n- codereview tool: inherits dark mode through shared utilities\n\nAll components now use consistent dark mode patterns with proper contrast:\nbg-white dark:bg-gray-800, border-gray-200 dark:border-gray-700,\ntext-gray-600 dark:text-gray-300, matching existing components.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: s8ac5253d0cbaa3ack\n"
    },
    {
      "commit": "a6b995b83277dd730e35a8f5be14c139d82a544e",
      "tree": "2cb9d54d6c38916a6639061e2086f24055e68ecf",
      "parents": [
        "57afbca4ac1dbd4351aae93302e34ee45b36a25f"
      ],
      "author": {
        "name": "Josh Bleecher Snyder",
        "email": "josharian@gmail.com",
        "time": "Thu Jul 24 00:45:05 2025 +0000"
      },
      "committer": {
        "name": "Josh Bleecher Snyder",
        "email": "josharian@gmail.com",
        "time": "Wed Jul 23 17:53:58 2025 -0700"
      },
      "message": "webui: kill eslint\u0027s no-explicit-any warning dead dead dead\n\nA sign that it maybe it\u0027s not a good fit for us\nis the fact that it was sprinkled around our codebase\nas prolifically as blinding snow in an Antarctic blizzard.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: s79f40917a73a3320k\n"
    },
    {
      "commit": "1ee0bc6c8f6ee7a6d0b26189815879f7455069c6",
      "tree": "9779a6c73738efb9375887d2dcd6de84a3ddcbc6",
      "parents": [
        "d37f7a73a0b77329d4701edee3d6d9a6b79d4e47"
      ],
      "author": {
        "name": "banksean",
        "email": "banksean@gmail.com",
        "time": "Tue Jul 22 23:24:18 2025 +0000"
      },
      "committer": {
        "name": "Autoformatter",
        "email": "bot@sketch.dev",
        "time": "Tue Jul 22 23:31:38 2025 +0000"
      },
      "message": "webui: add dark mode support to demo server\n\nCore Component Dark Mode Support:\n- sketch-timeline.ts: Welcome box, loading indicators, thinking bubbles, navigation\n- sketch-tool-card-base.ts: Status icons, elapsed time, hover states, details panel\n- All 14 sketch-tool-card-* components: Consistent dark styling for tool results\n\nDemo System Infrastructure:\n- Enhanced demo runner (demo.html) with complete dark theme CSS variables\n- Added sketch-theme-toggle integration in sidebar for easy theme switching\n- Extended demo-fixtures utilities with semantic color system (8 new CSS variables)\n- Comprehensive color mappings: backgrounds, text, borders, controls, buttons\n\nDemo File Compatibility (13 files updated):\n- Fixed 60+ instances of hardcoded colors across all demo components\n- Replaced light-mode-only colors (#24292f, #f6f8fa, etc.) with CSS variables\n- Updated text colors, backgrounds, borders for proper contrast in both themes\n- Maintained visual hierarchy while ensuring accessibility\n\nTechnical Implementation:\n- CSS custom properties system with automatic :root/.dark theme switching\n- GitHub-inspired dark color palette for professional appearance\n- Smooth 0.2s transitions for seamless theme changes\n- Semantic variable naming for maintainability and consistency\n\nKey Features Added:\n- Theme toggle accessible from any demo (no need to navigate to Theme Toggle demo)\n- Complete visual consistency between light and dark modes\n- Proper contrast ratios throughout for accessibility\n- Tool card demos showcase dark mode styling with realistic content\n\nComponents Updated:\nTimeline: Welcome messages, loading states, thinking indicators, jump button\nTool Cards: Status icons, input/output display, hover states, detailed views\nDemos: Labels, backgrounds, instruction panels, control elements, text content\n\nThe demo system now provides a complete, professional dark mode experience\nthat matches modern development tool standards with excellent usability\nand visual consistency across all components and demonstrations.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: s97589e2fe2fdeeb3k\n"
    },
    {
      "commit": "26bc659f8f7e8864a6fb0a71dcbee7d3742d3763",
      "tree": "5429b19391d26f2cf8a82253237a52d2d33543e6",
      "parents": [
        "a14b0183208df257a43748b51666043db7e62138"
      ],
      "author": {
        "name": "philip.zeyliger",
        "email": "philip.zeyliger@gmail.com",
        "time": "Mon Jun 30 20:15:30 2025 -0700"
      },
      "committer": {
        "name": "Autoformatter",
        "email": "bot@sketch.dev",
        "time": "Tue Jul 01 03:20:42 2025 +0000"
      },
      "message": "webui: add ESLint and eslint-typescript\n\nI\u0027ve historically found this stuff worthwhile, so let\u0027s swallow the pill.\n\nFortunately, sketch was happy to oblige.\n\n- Install ESLint, @eslint/js, and typescript-eslint packages\n- Configure eslint.config.mjs with recommended TypeScript ESLint rules\n- Add browser globals support for DOM and web APIs\n- Integrate ESLint into npm test workflow via package.json scripts\n- Update Makefile to run lint checks as part of test suite\n- Fix 249+ linting issues including:\n  * Remove unused imports and variables (with _ prefix convention)\n  * Fix case declaration issues with eslint-disable blocks\n  * Remove unnecessary escape characters\n  * Address prefer-const violations\n  * Handle unused function parameters appropriately\n- Configure ignore patterns to exclude dist/ and node_modules/\n- Set rules to allow explicit \u0027any\u0027 types temporarily\n- Convert warnings for ts-ignore, async promise executors, and unsafe optional chaining\n\nResults:\n- ESLint now runs successfully with 0 errors and only 6 warnings\n- TypeScript compilation continues to work correctly\n- Linting integrated into test workflow for continuous quality enforcement\n- Codebase follows consistent ESLint TypeScript recommended practices\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: sd7b538be0a28d294k\n"
    },
    {
      "commit": "d5c849d0923c6b254047ebb07589adf10bc18548",
      "tree": "4c3daefe24c0c618b1499452ca1dc974311f880b",
      "parents": [
        "4b64468e6dd5d4283c90d85a483351af11933c2f"
      ],
      "author": {
        "name": "banksean",
        "email": "banksean@gmail.com",
        "time": "Thu Jun 26 15:48:31 2025 +0000"
      },
      "committer": {
        "name": "Autoformatter",
        "email": "bot@sketch.dev",
        "time": "Thu Jun 26 19:25:55 2025 +0000"
      },
      "message": "webui: convert SketchViewModeSelect to use SketchTailwindElement with Tailwind CSS\n\nReplace LitElement shadow DOM component with SketchTailwindElement base class\nto use Tailwind CSS utility classes instead of component-scoped CSS styles.\n\nAlso adds tailwind support for CSS container queries in addition to media\nqueries.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: s0eeb80dd54594375k\n"
    }
  ]
}
