Commit Graph

1423 Commits

Author SHA1 Message Date
db2ba3d034 Clarify root package file copy in Next.js Dockerfile 2026-01-13 21:47:26 +00:00
05c7b2fb66 Fix Docker build by copying lockfile 2026-01-13 21:34:52 +00:00
dependabot[bot]
1897c5a49a build(deps-dev): bump @types/node from 20.19.28 to 25.0.7
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.19.28 to 25.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.7
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-13 21:01:41 +00:00
dependabot[bot]
187811d4c1 build(deps-dev): bump @types/react from 19.2.7 to 19.2.8
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 19.2.7 to 19.2.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.2.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-12 14:52:08 +00:00
copilot-swe-agent[bot]
7e3851c93b Fix all 22 failing unit tests in Gate 2.1
- Fixed API client: Changed response.json().catch() to try-catch pattern (14 tests)
- Fixed auth middleware: Check for undefined user before accessing user.level (1 test)
- Fixed compiler: Treat empty string as undefined for map field (3 tests)
- Fixed retry tests: Use callCount variable instead of mock.calls.length (4 tests)
- Fixed unhandled rejection warnings: Add catch handlers in error tests

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 18:03:40 +00:00
copilot-swe-agent[bot]
eb0289d593 Address code review feedback: fix workflow step ID, improve YAML regex, remove error suppression
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 17:40:13 +00:00
copilot-swe-agent[bot]
9a757fd5df Add GHCR container image support with multi-arch builds and security scanning
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 17:37:44 +00:00
copilot-swe-agent[bot]
2ffab4b4ba Fix all ESLint errors and warnings
- Fixed unnecessary conditional checks for optional properties in page.tsx
- Fixed unnecessary type assertions in page.tsx
- Fixed nullable object checks in test files
- Fixed nullable string checks in filtering.ts and validate-email.ts
- Removed unused eslint-disable directives across multiple files
- Fixed redundant type warning in monaco-editor-react.d.ts
- Generated Prisma types to resolve type errors

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 17:05:28 +00:00
copilot-swe-agent[bot]
5b49332c2f Fix all remaining TypeScript type errors - typecheck now passes
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 16:42:01 +00:00
copilot-swe-agent[bot]
208b2ec07a Fix remaining TypeScript errors in frontend and tests
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 16:30:58 +00:00
copilot-swe-agent[bot]
1a3ee146c1 Fix Promise await issues and add sx prop to fakemui components
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 16:21:35 +00:00
copilot-swe-agent[bot]
1aa625327b Fix TypeScript syntax errors in test files
- Fixed ItemsPerPageSelector.test.tsx line 46: Added missing if statement and proper bracing
- Fixed retry.test.ts lines 148, 167, 176, 190: Moved eslint-disable comments to proper location
- All reported TypeScript compilation errors are now resolved

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 15:55:18 +00:00
copilot-swe-agent[bot]
c7058874e0 Fix final batch of linting issues - 137 of 140 fixed! (3 parsing errors remain)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 15:33:38 +00:00
copilot-swe-agent[bot]
7538a1b66e Fix fourth batch of linting issues (18 fixed, 28 remaining - 20 errors, 8 warnings)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 15:24:46 +00:00
copilot-swe-agent[bot]
a3cb9c074f Fix third batch of linting issues (35 fixed, 52 remaining)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 15:16:14 +00:00
copilot-swe-agent[bot]
c5ebdfe45a Fix second batch of linting issues (21 fixed, 87 remaining)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 15:10:45 +00:00
copilot-swe-agent[bot]
48bf3bcbc4 Fix first batch of linting issues (32 fixed, 108 remaining)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 15:03:17 +00:00
copilot-swe-agent[bot]
df795327f8 Add missing E2E test scripts to frontends/nextjs/package.json
- Added test:unit script for unit tests
- Added test:e2e script referencing root Playwright config
- Added test:e2e:ui, test:e2e:headed, test:e2e:debug scripts
- Added test:e2e:report script
- Added test:e2e:dbal-daemon script for daemon-specific tests
- Fixed playwright.dbal-daemon.config.ts to use correct paths and health endpoint

This resolves the CI blocker where workflows running from frontends/nextjs
directory couldn't find these scripts.

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 14:40:53 +00:00
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