Commit Graph

167 Commits

Author SHA1 Message Date
3fc51d5576 feat: migrate AppRouterLayout to JSON with useAppRouterLayout hook 2026-01-21 01:18:31 +00:00
d287d6e0b6 feat: migrate AppLayout to JSON with useAppLayout hook 2026-01-21 01:15:12 +00:00
f05f896a67 feat: Complete JSON component migration for 9 components (atoms + BindingEditor)
Migration complete for:
- 5 atoms: Accordion, CopyButton, FileUpload, FilterInput, Image, Input, PasswordInput, Popover (8 total)
- 1 molecule: BindingEditor

Changes:
- Deleted 9 legacy TSX files that have complete JSON equivalents
- Exported BindingEditor from json-components.ts with useBindingEditor hook
- Registered useBindingEditor in hooks-registry.ts
- Updated all imports across codebase to use JSON-based components
- Fixed build errors: schema-loader dynamic import, DataSourceGroupSection
- Cleaned up component index exports

Build status:  PASSING
- 0 TypeScript errors
- All 9,408 modules transformed successfully
- No blocking build warnings

Next steps:
- 3 organisms still need conversion: DataSourceManager, NavigationMenu, TreeListPanel
- 120+ additional components have TSX versions (need individual migration)
- 22 JSON components now available for use throughout the app

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-21 00:12:50 +00:00
809803283b feat: Add JSON definitions for menu, password input, and popover components
- Introduced `menu.json` for menu component structure with bindings for trigger and content.
- Created `password-input.json` for password input handling visibility and value changes.
- Added `popover.json` for popover component with trigger and content bindings.

feat: Implement custom hooks for UI interactions

- Added `useAccordion` for managing accordion state with single/multiple item support.
- Created `useBindingEditor` for managing bindings in a dynamic editor.
- Implemented `useCopyState` for clipboard copy functionality with feedback.
- Developed `useFileUpload` for handling file uploads with drag-and-drop support.
- Introduced `useFocusState` for managing focus state in components.
- Created `useImageState` for handling image loading and error states.
- Added `useMenuState` for managing menu interactions and item clicks.
- Implemented `usePasswordVisibility` for toggling password visibility.
- Developed `usePopoverState` for managing popover visibility and interactions.

feat: Add constants and interfaces for JSON UI components

- Introduced constants for sizes, placements, styles, and object-fit handling.
- Created interfaces for various components including Accordion, Binding Editor, Copy Button, Data Source Editor, File Upload, and more.
- Added type definitions for menu items, popover props, and other UI elements to enhance type safety and maintainability.
2026-01-19 01:30:42 +00:00
copilot-swe-agent[bot]
4ac334a12c feat: Convert final 2 components - ALL wrappers now pure JSON! 🎉
- Created lazy-d3-bar-chart.json with SVG rendering using chartData hook
- Created storage-settings.json with backend switching and import/export
- Deleted LazyD3BarChartWrapper.tsx and StorageSettingsWrapper.tsx
- Updated exports to use JSON components
- ALL 11 components now pure JSON - zero wrappers remaining
- Complete JSON component system with hooks loader proven working

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-18 23:51:09 +00:00
copilot-swe-agent[bot]
e549f4e0de feat: Convert ComponentTree and SeedDataManager to pure JSON with hooks
- Created useComponentTree hook to flatten recursive tree structure
- Created useStorageBackendInfo hook for backend icon/copy logic
- Created useD3BarChart hook for chart calculations
- Registered all new hooks in hooks-registry
- Created component-tree.json with list rendering using treeData from hook
- Created seed-data-manager.json with full Card/Alert/Button structure
- Deleted ComponentTreeWrapper.tsx and SeedDataManagerWrapper.tsx
- Updated exports to use JSON components
- 9 components now pure JSON, 2 wrappers remaining

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-18 23:48:23 +00:00
copilot-swe-agent[bot]
4c17cc49c1 feat: Implement hooks loader system for JSON components, convert SaveIndicator to pure JSON
- Created hooks-registry.ts for registering custom React hooks
- Created createJsonComponentWithHooks for JSON components that need hooks
- Implemented SaveIndicator as pure JSON with useSaveIndicator hook
- Moved JSON definitions from wrappers/definitions to components/json-definitions
- Removed wrappers folder entirely
- Fixed NavigationItem JSON to include onClick handler binding
- Deleted legacy NavigationItem.tsx and PageHeaderContent.tsx files
- Architecture: JSON + interfaces + hook loader = fully functional components

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-18 23:22:40 +00:00
copilot-swe-agent[bot]
0514e61000 feat: Remove wrapper system, implement pure JSON components
- Created src/lib/json-ui/interfaces/ folder for component interfaces
- Created createJsonComponent() helper for pure JSON component creation
- Deleted wrapper TypeScript files (LoadingFallbackWrapper, NavigationItemWrapper, PageHeaderContentWrapper, TreeCardWrapper)
- Components now export directly from JSON definitions via json-components.ts
- No more wrapper layer - components are pure JSON with separate interface definitions
- Architecture simplified: JSON definition + interface = component

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-18 23:13:00 +00:00
copilot-swe-agent[bot]
9a6c7f8652 fix: Remove duplicate LoadingFallbackWrapper export
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-18 22:19:57 +00:00
copilot-swe-agent[bot]
a65a994ec4 feat: Implement JSON components with wrappers for LoadingFallback, NavigationItem, PageHeaderContent
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-18 22:07:46 +00:00
copilot-swe-agent[bot]
1bb2eadbe8 Fix: Inline deleted JSON components to resolve build errors
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-18 21:58:04 +00:00
bef28e8c91 feat: add Timestamp and Toggle components; implement TreeIcon and EditorActions components
- Introduced Timestamp component for displaying formatted dates and relative time.
- Added Toggle component for switch-like functionality with customizable sizes.
- Implemented TreeIcon component for rendering tree icons using Phosphor icons.
- Created EditorActions component for explain and improve actions with icons.
- Developed FileTabs component for managing open files with close functionality.
- Added LazyInlineMonacoEditor and LazyMonacoEditor for lazy loading Monaco editor.
- Implemented NavigationItem for navigation with badges and icons.
- Created PageHeaderContent for displaying page headers with icons and descriptions.
- Added JSON configuration files for various UI components and layouts.
- Enhanced data binding with new computed data source hook.
- Updated component registry and types for new components.
- Configured Vite for improved hot module replacement experience.
2026-01-18 21:42:51 +00:00
3864fd247a Fix syntax errors preventing dev server startup
Fixed two critical syntax errors:
1. renderer.tsx:363 - Extra closing brace in form field rendering
2. syncSlice.ts:81-86 - Missing closing brace and duplicate code in sync loop

Changes:
- Fixed renderer.tsx form field map closing
- Cleaned up syncSlice.ts for loop structure
- Dev server now starts successfully on port 5001

These were pre-existing errors unrelated to JSON component conversion.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-18 19:51:34 +00:00
05d9034366 Merge pull request #204 from johndoe6345789/codex/add-tests-for-json-components-registry
Add json-ui registry coverage test
2026-01-18 18:49:37 +00:00
29d59ec863 Add registry coverage test for json ui 2026-01-18 18:49:23 +00:00
d351f05b14 Merge branch 'main' into codex/update-component-registry-paths-and-sources 2026-01-18 18:48:07 +00:00
85fb859131 Add explicit component paths to JSON registry 2026-01-18 18:47:07 +00:00
4cb9c01748 Add sourceRoots config for component registry 2026-01-18 18:44:59 +00:00
27dfebcb24 Merge pull request #197 from johndoe6345789/codex/refactor-computed-json-configs
Remove legacy `computed` data sources; migrate to expression/valueTemplate and update UI
2026-01-18 18:33:08 +00:00
03cc955d20 Update data source editor copy 2026-01-18 18:32:55 +00:00
5d95bc428b Merge pull request #192 from johndoe6345789/codex/extend-json-components-registry-for-wrappers/icons
Move wrapper/icon resolution into JSON registry
2026-01-18 18:26:50 +00:00
fdd1828fda Move wrapper/icon resolution into JSON registry 2026-01-18 18:26:39 +00:00
6c777ed47c Merge branch 'main' into codex/add-tests-for-ratelimiter.throttle 2026-01-18 18:24:45 +00:00
ce9fcaf3d1 Add rate limiter throttle tests 2026-01-18 18:23:56 +00:00
33e49b3671 Merge pull request #188 from johndoe6345789/codex/add-runtime-validation-for-json-responses
Validate AI JSON responses with Zod and show actionable toasts on failure
2026-01-18 18:21:40 +00:00
ace40f7e73 Add runtime validation for AI responses 2026-01-18 18:21:25 +00:00
51040a23b9 Merge pull request #182 from johndoe6345789/codex/refactor-ratelimiter.throttle-for-retries
Refactor rate limiter retry loop
2026-01-18 18:19:35 +00:00
baf5001704 Refactor JSON UI component registry 2026-01-18 18:15:46 +00:00
e075908a15 Refactor rate limiter retry loop 2026-01-18 18:15:25 +00:00
b646b8993f Merge branch 'main' into codex/update-flaskbackendadapter-for-empty-responses 2026-01-18 18:06:35 +00:00
f07bd37b7d Handle empty Flask responses 2026-01-18 18:05:45 +00:00
9f6b0bd871 Merge pull request #177 from johndoe6345789/codex/add-null-check-for-navigation-timing
Add navigation fallback for bundle performance analysis
2026-01-18 18:03:21 +00:00
1b3e0fecfe Add navigation entry fallback in metrics 2026-01-18 18:03:11 +00:00
adb762d0cd Merge pull request #175 from johndoe6345789/codex/add-unit-tests-for-detectandinitialize
Prefer Flask over IndexedDB in UnifiedStorage and add unit tests
2026-01-18 18:02:05 +00:00
e3e3dbf602 Add tests for unified storage initialization 2026-01-18 18:01:54 +00:00
eb8f249946 Merge pull request #174 from johndoe6345789/codex/add-test-for-flaskbackendadapter.request
Handle empty/204 Flask backend responses and add Vitest for delete/clear
2026-01-18 18:01:36 +00:00
ea21a99c8c Add test for empty Flask backend responses 2026-01-18 18:00:47 +00:00
3d7c59557d Merge branch 'main' into codex/create-tests-for-generateflaskblueprint 2026-01-18 17:59:29 +00:00
818f9878aa Add identifier-safe Flask blueprint tests 2026-01-18 17:58:47 +00:00
c618870d4b Merge pull request #172 from johndoe6345789/codex/add-helper-to-normalize-identifiers
Add sanitizeIdentifier helper and use in Flask generators
2026-01-18 17:58:27 +00:00
2641793e0f Add identifier sanitization for Flask generators 2026-01-18 17:58:01 +00:00
395ab80610 Make json-ui registry sources data-driven 2026-01-18 17:57:15 +00:00
52f1703c35 Merge pull request #168 from johndoe6345789/codex/update-schemas-to-remove-legacy-compute-functions
Replace legacy compute usage with JSON expressions
2026-01-18 17:42:12 +00:00
966b6f2aa6 Remove legacy compute schema support 2026-01-18 17:41:57 +00:00
9a8e159177 Merge pull request #167 from johndoe6345789/codex/define-json-page-prop-contract
Add JSON page data/functions prop mapping
2026-01-18 17:29:35 +00:00
174f03edd2 Add JSON page data/function prop mapping 2026-01-18 17:29:18 +00:00
f6673e1b77 Add JSON page support to page configs 2026-01-18 17:25:22 +00:00
c6208fafd1 Replace eval bindings with JSON expression evaluator 2026-01-18 17:09:02 +00:00
1b01492891 Merge pull request #158 from johndoe6345789/codex/update-legacy-action-types-in-json-configs
Migrate JSON pages to json-ui action/conditional syntax and improve event/expression handling
2026-01-18 16:19:55 +00:00
bbcc91dc80 Update JSON UI actions and conditionals 2026-01-18 16:19:42 +00:00