Commit Graph

1405 Commits

Author SHA1 Message Date
26d41a6ce8 Merge branch 'main' into copilot/test-playwright-functionality 2026-01-08 13:48:32 +00:00
copilot-swe-agent[bot]
a144295709 Remove hardcoded absolute paths, use relative paths for database fallback
Fixed issue where absolute bot paths were hardcoded in Prisma configuration:
- Changed fallback from 'file:/home/runner/work/metabuilder/metabuilder/prisma/prisma/dev.db'
  to 'file:../../prisma/prisma/dev.db' in both files
- This makes the code portable and works regardless of deployment location
- Verified dev server starts correctly and database operations work with relative path

Files modified:
- frontends/nextjs/src/lib/config/prisma.ts
- dbal/development/src/adapters/prisma/context.ts

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 13:22:49 +00:00
copilot-swe-agent[bot]
d0835f0cd4 Add E2E tests for pagination and final exports
- Created comprehensive E2E test suite for pagination components
- Added middleware index.ts for clean exports
- Tests cover PaginationControls, ItemsPerPageSelector, PaginationInfo
- Tests verify navigation, page selection, items per page, and info display
- Complete pagination workflow test included
- All code standards followed

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 05:17:13 +00:00
copilot-swe-agent[bot]
c128eb02e7 Implement authentication middleware - Phase 2.6 complete
- Created auth-middleware.ts with authenticate() and requireAuth()
- Validates session tokens via getCurrentUser()
- Checks permission levels (0-5 scale)
- Returns 401/403/500 responses appropriately
- Supports public endpoints and custom checks
- Added 21 comprehensive unit tests (all passing)
- Updated ROADMAP.md and README.md with completion status
- All 464 tests passing (100% pass rate)

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 05:15:57 +00:00
copilot-swe-agent[bot]
7e0b05047e Implement pagination UI components with tests - Phase 2.4 complete
- Created PaginationControls component with fakemui Pagination
- Created ItemsPerPageSelector component with fakemui Select
- Created PaginationInfo component for display text
- Added comprehensive unit tests (25 tests, all passing)
- Fixed 4 pre-existing test failures (orderBy format issue)
- All 443 tests passing (100% pass rate)

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 05:12:10 +00:00
copilot-swe-agent[bot]
96ee74e6ef MAJOR FIX: Correct Prisma 7 adapter usage - use factory pattern with URL config
The root cause was incorrect adapter usage:
- PrismaBetterSqlite3 is a FACTORY that expects {url: string} config
- We were incorrectly passing a Database instance directly
- This caused "Cannot read properties of undefined (reading 'replace')" error

Changes:
1. Fixed Next.js prisma.ts to pass {url} config to adapter factory
2. Fixed DBAL context.ts to use adapter factory with URL
3. Removed direct Database instantiation - let adapter handle it
4. Created absolute-path .env file with DATABASE_URL
5. Cleaned and reinstalled all dependencies to ensure version alignment
6. Added missing database columns (tenantId, config to InstalledPackage)

Result: Database operations now work! Application serves pages successfully.

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 05:01:39 +00:00
copilot-swe-agent[bot]
d919572357 Add debug logging to Prisma adapters and fix database schema issues
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 04:36:04 +00:00
copilot-swe-agent[bot]
16d01087cb feat: add comprehensive validation utilities with Zod schemas
- Create validation utilities for entity schema generation
- Support all field types (string, number, boolean, date, enum, array, object, relation)
- Implement 13+ validation rules (required, min, max, pattern, email, url, etc.)
- Add validation middleware for API routes
- Include common schema patterns (email, uuid, phone, password, etc.)
- Add 39 comprehensive unit tests covering all scenarios
- Total tests now: 414 passing (98.9% pass rate)

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 04:29:00 +00:00
copilot-swe-agent[bot]
307f53d2a2 feat: add retry, pagination, and filtering utilities with comprehensive tests
- Add retry utility with exponential backoff for transient failures
- Add pagination utilities supporting both offset and cursor-based pagination
- Add filtering and sorting utilities for API requests
- Include comprehensive unit tests (109 tests total, all passing)
- Utilities designed to work with Prisma ORM

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 04:26:18 +00:00
copilot-swe-agent[bot]
726f0bfc7b Update ROADMAP.md: Phase 2 APIs 80% complete, tests expanded
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 04:09:40 +00:00
copilot-swe-agent[bot]
3047d6b881 Add comprehensive unit and E2E tests for API endpoints
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 04:06:33 +00:00
copilot-swe-agent[bot]
878f06b8f6 Fix DATABASE_URL handling - prevent undefined error
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 03:50:58 +00:00
copilot-swe-agent[bot]
9f37692079 Fix Prisma client initialization to use SQLite adapter in production/dev
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 03:46:26 +00:00
copilot-swe-agent[bot]
825250b231 feat: Implement real API client with fetch calls and comprehensive tests
- Replace placeholder implementations with actual fetch calls to /api/v1/ endpoints
- Add ListQueryParams interface for pagination, filtering, and sorting
- Implement buildQueryString utility for query parameter encoding
- Add proper error handling and HTTP status code mapping
- Create 29 comprehensive unit tests covering all CRUD operations
- Test success cases, error cases, network failures, and query string building
- Add E2E test suite for complete CRUD flows with 50+ test scenarios
- Mock server-only module in tests for compatibility

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 03:45:14 +00:00
copilot-swe-agent[bot]
e3d4bb59f7 test: Add comprehensive Playwright E2E tests and TDD unit tests
- Add navigation E2E tests (responsive, 404 handling, accessibility)
- Add CRUD user management E2E tests with POM pattern
- Add email validation unit tests with TDD (20 tests, 100% passing)
- Add password strength validation with TDD (23 tests, 100% passing)
- Demonstrate Red-Green-Refactor cycle in practice
- All tests follow parameterized testing best practices

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 03:00:05 +00:00
copilot-swe-agent[bot]
740058a09c Fix linting errors in entity utilities and CRUD views
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 02:03:14 +00:00
copilot-swe-agent[bot]
32bd4d4a53 Implement compiler with esbuild, minification, and source maps (Phase 5)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 01:57:41 +00:00
copilot-swe-agent[bot]
10bec9ae20 Implement static page generation from database (Phase 4)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 01:56:26 +00:00
copilot-swe-agent[bot]
38b359ad74 Implement CRUD component rendering with schema-driven forms (Phase 3)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 01:55:50 +00:00
copilot-swe-agent[bot]
bcf93eb773 Implement dynamic package home component loading (Phase 2)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 01:51:44 +00:00
copilot-swe-agent[bot]
da872d32dd Implement user session and authentication context (Phase 1)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 01:51:04 +00:00
copilot-swe-agent[bot]
942b8792d8 fix: Resolve remaining TypeScript errors and build issues
- Added index signatures to all generated types and Create/Update input types
- Fixed Workflow description field type (null vs undefined)
- Fixed lint errors in API route (proper type checking for user object)
- Added server-only directive to compiler module
- Temporarily disabled PackageStyleLoader (needs API route instead of client-side fs access)
- Simplified main.scss to avoid SCSS @use import order issues
- TypeScript errors reduced from 39 to ~19 (mostly missing Prisma models)
- Build process now gets further (past SCSS compilation)

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 01:35:21 +00:00
copilot-swe-agent[bot]
af2a59ee6a fix: Resolve TypeScript errors and dependency issues
- Fixed Storybook dependency version mismatch (downgraded to 8.6.15)
- Added @types/better-sqlite3 for better-sqlite3 type definitions
- Fixed Prisma adapter import (PrismaBetterSqlite3 vs PrismaBetterSQLite3)
- Removed datasource URL from Prisma schema (Prisma 7 requirement)
- Generated DBAL types.generated.ts from Prisma schema
- Added index signatures to Update*Input types for Record<string, unknown> compatibility
- Fixed ErrorBoundary override modifiers
- Fixed Zod record schema (requires both key and value types)
- Fixed orderBy syntax in get-error-logs (array format)
- Fixed type safety in API routes (user type assertions)
- Fixed hook imports and exports
- Fixed conditional expression type guards
- Added .npmrc for legacy peer deps support

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 01:26:50 +00:00
b418fa2203 refactor(tests): simplify waitFor usage in useAuth tests 2026-01-07 16:07:50 +00:00
3d2fc07026 feat(cli): add DBAL command handlers and package management functionality
- Introduced `dbal_commands.h` for handling DBAL operations via CLI.
- Implemented `package_commands.cpp` and `package_commands.h` for package management, including listing, running scripts, and generating packages.
- Created `lua_runner.cpp` and `lua_runner.h` to execute Lua scripts in a secure sandbox environment.
- Added `http_client.cpp` and `http_client.h` for making HTTP requests to a specified base URL.
- Updated `main.cpp` to initialize the HTTP client and dispatch commands based on user input.
2026-01-07 15:28:19 +00:00
42446ef255 feat: Update package schemas and scripts to support JSON-based lifecycle hooks
- Added `jsonScript` property to metadata schema for JSON script entry points.
- Refactored `generate-package.ts` to replace Lua scripts with JSON scripts for lifecycle hooks.
- Updated test generation to use JSON format for metadata validation.
- Modified documentation and comments to reflect the transition from Lua to JSON scripting.
- Adjusted Storybook configuration and mock data to align with new JSON script structure.
- Renamed relevant files and references from Lua to JSON for consistency across the project.
2026-01-07 15:25:45 +00:00
76a667f259 Remove DBAL and package command implementations
- Deleted dbal_commands.h and package_commands.h files, removing DBAL command handlers and package command definitions.
- Removed package_commands.cpp, which contained the implementation of package commands including list, run, and generate functionalities.
- Eliminated lua_runner.cpp and lua_runner.h, which provided the Lua script execution environment and related functionalities.
- Removed main.cpp and http_client files, which were responsible for the CLI entry point and HTTP client interactions.
2026-01-07 14:57:40 +00:00
9284b9a67b Refactor function definitions across multiple packages to remove luaScript references
- Updated functions.json files in theme_editor, ui_auth, ui_footer, ui_header, ui_home, ui_intro, ui_level2, ui_level3, ui_level4, ui_level5, ui_level6, ui_login, ui_pages, ui_permissions, user_manager, and workflow_editor packages.
- Removed luaScript entries from function definitions, retaining only category and other relevant metadata.
- Adjusted documentation in prisma/README.md to remove LuaScript entity reference.
2026-01-07 14:54:33 +00:00
3bb754dd72 refactor: update JSON usage to use scoped Json namespace 2026-01-07 14:36:31 +00:00
016cd662bf refactor: remove LuaScript entity and related operations 2026-01-07 14:36:19 +00:00
7eee87ec90 refactor: remove LuaScript entity and related operations
- Deleted all LuaScript CRUD operations from Client and entities.
- Removed LuaScript validation functions and related files.
- Updated InMemoryStore to remove LuaScript storage.
- Cleaned up tests by removing LuaScript related test cases.
- Adjusted documentation and quick start guide to reflect the removal of LuaScript functionality.
2026-01-07 14:25:01 +00:00
6c8e7002cd feat(validation): enhance entity validation with new fields and improved checks
- Updated page validation to include new properties such as path, componentTree, requiresAuth, and more.
- Enhanced session validation to check for bigint timestamps and added checks for ipAddress and userAgent.
- Improved user validation by adding checks for profilePicture, bio, createdAt, and tenantId.
- Refactored workflow validation to ensure nodes and edges are valid JSON strings and added checks for createdAt and updatedAt.
- Introduced isValidJsonString utility for validating JSON strings.
- Added seedUsers function to populate default users in the database.
- Removed unused generateComponentTree stub and replaced it with a full implementation for rendering Lua UI components.
- Updated useLevelRouting and useResolvedUser hooks to support new permission levels and user state management.
- Enhanced useRestApi hook to support request cancellation with AbortSignal.
2026-01-07 12:50:58 +00:00
4caf9e2ae9 feat: enhance type definitions, improve error handling, and validate package routes 2026-01-07 12:21:47 +00:00
25908192ef feat(schema-registry): enhance schema management with migration support and improved loading mechanisms
- Added migrationQueue to SchemaRegistry for tracking pending migrations.
- Implemented clear method to reset the registry state.
- Enhanced schema registration and retrieval methods to support entity normalization.
- Updated loadSchemaRegistry to handle entities and migrationQueue from JSON.
- Introduced saveSchemaRegistry to persist entities and migrationQueue.
- Added functions for approving and rejecting migrations.

feat(schema-scanner): implement package scanning for schema registration

- Created scanAllPackages function to scan directories for package metadata.
- Extracted and validated schema entities from package metadata.
- Registered schemas in the SchemaRegistry based on scanned packages.

fix(load-page-from-db): improve tenantId handling and null checks

- Updated tenantId handling to use nullish coalescing for better clarity.
- Refined null checks for page retrieval.

feat(validation): add Zod validation utilities for standardized data validation

- Introduced validation utilities for API requests and package data validation.
- Created common reusable schemas for various data types.
- Implemented package-specific validator factory for enhanced error reporting.

test(package-integration): fix potential null checks in package dependency resolution

- Updated package dependency resolution logic to handle undefined cases.

chore(package.json): add jsdom as a dev dependency for testing

- Included jsdom in devDependencies for improved testing capabilities.

fix(metadata): update package metadata for consistency and clarity

- Standardized packageId and name fields in metadata.json files across multiple packages.
2026-01-07 12:08:24 +00:00
5f74c3b308 Implement more stub hooks
- Implement useAuth hook with session user loading
- Implement useFileTree hook with directory structure building
- Implement useGitHubFetcher hook with workflow runs fetching
- Implement useAutoRefresh hook with interval management
2026-01-06 21:45:24 +00:00
ae74159fdb Implement stub functions and improve linter config
- Implement loadPageFromDb with database query
- Implement loadAndInjectStyles with file loading
- Fix DBAL integration functions (create-tenant, kv-get, get-instance, is-initialized)
- Remove TODOs from component registry and catalog
- Implement loadPackageMetadata with file loading
- Implement useCodeEditor hook with state management
- Remove TODO from getPrefixedEntity
- Make linter stricter by changing some warn to error rules
2026-01-06 21:45:24 +00:00
copilot-swe-agent[bot]
2127cda63a Fix 10 warnings in app/page.tsx with explicit null checks
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 21:00:54 +00:00
copilot-swe-agent[bot]
fb2fdcda5b Fix 6 more warnings (unnecessary conditions and nullish coalescing)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 20:55:11 +00:00
copilot-swe-agent[bot]
bd0164b52f Fix 12 unnecessary condition warnings in database and package code
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 20:50:19 +00:00
copilot-swe-agent[bot]
16635c5eb7 Auto-fix 7 TypeScript warnings (prefer-readonly, no-confusing-void-expression)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 20:39:37 +00:00
copilot-swe-agent[bot]
3139b6570c Add stricter ESLint rules and fix switch exhaustiveness check
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 20:09:14 +00:00
copilot-swe-agent[bot]
016cdde654 Fix type import and nullish coalescing warnings
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 20:03:37 +00:00
copilot-swe-agent[bot]
2c2a7d06d1 Fix strict-boolean-expressions and type safety warnings in production code
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 20:00:18 +00:00
copilot-swe-agent[bot]
04b6f7de3f Address code review feedback - use spread operator, fix path parsing logic, remove non-null assertion
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 19:43:58 +00:00
copilot-swe-agent[bot]
03b83b1d7d Implement parseRestfulRequest and getSessionUser functions with proper types
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 19:40:36 +00:00
copilot-swe-agent[bot]
7251e6a75e Improve linter config documentation and fix theme type import warning
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 19:37:49 +00:00
copilot-swe-agent[bot]
b59fb7fa77 Implement routing stub functions - parseRoute, buildRoute, parseRoute in route-parser, getTableName, isReservedPath
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 19:31:51 +00:00
copilot-swe-agent[bot]
3d23c02eb5 Implement auth API functions (login, register, fetchSession) and enhance linter configuration
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 18:49:18 +00:00
copilot-swe-agent[bot]
a061fb3241 Fix additional ESLint warnings and auto-fix issues (56 total warnings fixed)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 18:42:12 +00:00
copilot-swe-agent[bot]
6ac9949e8a Fix ESLint warnings in render-json-component, use-rest-api, and load-json-package (44 warnings fixed)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-06 18:39:22 +00:00