3933 Commits

Author SHA1 Message Date
e6d06f3fa3 refactor(qt6): component extraction batch 3 — WorkflowEditor, editors, remaining splits
WorkflowEditor (1432→631): CWorkflowCanvas, CNodePalette, CNodePropertiesPanel, CConnectionLayer, CWorkflowToolbar
+ CssClassManager, DatabaseManager, DropdownConfigManager, MediaServicePanel,
  PageRoutesManager, UserManagement split into extracted components
+ Theme editor: ThemeLivePreview, ThemeSpacingRadius, ThemeTypography
+ SMTP editor: CSmtpTemplateEditor, CSmtpTemplateList, CSmtpTestEmailForm

Net: -2,549 lines from view files into reusable components.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:57:44 +00:00
3886ecf4b5 refactor(qt6): component extraction batch 2 — Settings, Profile, Admin, SuperGod, editors
SettingsView (543→386): CSettingsSection, CThemePicker, CConnectionTest
ProfileView (413→315): CProfileHeader, CProfileForm
AdminView (955→545): CAdminStatsBar, CEntitySidebar, CDataTable, CEntityForm
SuperGodPanel (973→806): CTenantCard, CGodUserCard, CTransferCard, CSystemMetricCard
+ Schema, Theme, Database editor splits

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:55:17 +00:00
f124271e95 refactor(qt6): extract 51 reusable components — target 200 LOC per view
Split 16,000 lines across all major views into qmllib/MetaBuilder/ components:

App.qml (653→343): CUserMenu, CNotificationBell, CLanguageSelector, CNavBar, CSidebar
FrontPage.qml (659→280): CHeroSection, CStatsStrip, CLevelCard, CTechCard, CServiceStatus, CQuickLoginCard
DashboardView (300→125): CWelcomeCard, CStatCard, CActivityList, CQuickActions
LoginView (230→150): CLoginForm, CQuickLoginCard (shared with FrontPage)
CommentsView: CCommentCard, CCommentInput
ModeratorView: CReportCard, CModActionCard, CModStatsRow
GodPanel: CGodPanelHeader, CLevelReferenceCard, CConfigStatCard
SuperGodPanel: CTenantCard, CGodUserCard, CTransferCard, CSystemMetricCard
AdminView: CEntitySidebar, CDataTable, CEntityForm, CAdminStatsBar
WorkflowEditor: CWorkflowCanvas, CNodePalette, CNodePropertiesPanel, CConnectionLayer, CWorkflowToolbar
SettingsView: CSettingsSection, CThemePicker, CConnectionTest
ProfileView: CProfileHeader, CProfileForm
+ more editor splits (PageRoutes, Database, UserManagement)

All components: properties + signals, no direct appWindow refs, MD3 tonal surfaces.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:53:46 +00:00
6e36cc3a20 feat(qt6): cleaner top bar UX + user avatar dropdown + alerts bell + language selector
Top bar: Logo + DBAL dot | centered nav | EN + bell + avatar
- Removed DBAL label and theme toggle from top bar (moved to avatar menu)
- User avatar circle with initials, click for dropdown
- Dropdown: user info, Profile, Settings, Sign out (red)
- Alert bell with notification dot
- Language selector pill (EN)
- Dashboard: proper user avatar with initials in welcome card

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:46:37 +00:00
d9d4a018b6 feat(qt6): add 'Dev Credentials' label on login page with helper text
Visible until project matures — makes it clear these are dev accounts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:42:04 +00:00
f08b6dceda feat(qt6): 6-level hierarchy — add Moderator (L3), shift Admin→L4, God→L5, SuperGod→L6
New level structure: Guest(1) → User(2) → Moderator(3) → Admin(4) → God(5) → Super God(6)

- New ModeratorView.qml with report queue, recent actions, stats
- New seed user: mod/mod (moderator, L3)
- Updated App.qml: static views, sidebar, nav buttons, keyboard shortcuts (Ctrl+3-6)
- Updated FrontPage.qml: 6 level cards, 5 quick access credentials
- Updated LoginView.qml: 5 quick access cards
- Regenerated CMakeLists.txt (92 QML files)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:36:23 +00:00
c4f72ded99 feat(qt6): MD3 rework all views — Dashboard, Profile, Admin, SuperGod, Comments, Settings
- Fix CCard content nesting (no anchors.fill inside CCard)
- chipColor/badgeColor string→Theme color fixes
- anchors-in-layout warnings resolved
- Tonal surfaces, proper MD3 spacing
- CButton replaces hand-rolled Rectangle buttons
- All 6 views preserved with full functionality

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:26:42 +00:00
cb96431a12 docs: add DBAL schema gotchas to CLAUDE.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:21:12 +00:00
c33787912c fix(dbal): add tenantId auto-add to loadFromDirectory, fix ComponentNode schema
loadFromDirectory() was missing the tenantId field auto-add logic that
loadFromFile() already had, causing "Unknown field: tenantId" on all
entities using the shorthand `"tenantId": true` convention.

Also corrected ComponentNode schema to match the C++ struct fields
(pageId, parentId, childIds, order) instead of the wrong Redux shape.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:20:28 +00:00
e69e3ec532 feat(qt6): MD3 rework God Panel — tonal surfaces, accent bars, config grid
- Header: gradient wash, tonal surface, accent bar level cards
- Config chips: variant "primary" for tonal indigo
- Guide tab: level descriptions with colored accent bars + role chips
- Config summary: GridLayout stat cards with monospace values
- All CCard nesting fixed (no more anchors.fill inside CCard)
- Typography: explicit sizing, proper centering
- 14 tabs preserved with all Loader sources

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:15:49 +00:00
e0fc722c6a fix(dbal): add default Settings seed data for CodeForge
Without seed data the Settings endpoint returns 404, causing the
frontend to fall back to hardcoded defaults on every page load.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:47:39 +00:00
e2dabc1e84 feat(qt6): redesign login page — MD3 card, quick credential buttons, centered layout
- Remove CCard (was causing anchors.fill sizing issues)
- Clean tonal surface container with radius 16
- Username/password fields with CTextField (no floating label weirdness)
- 2x2 quick access grid with one-click login (User/Admin/God/Super God)
- Level badges with accent colors matching frontpage
- Back to home button
- Centered text throughout

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:44:52 +00:00
149d6cf297 fix(dbal): add missing codeforge entity schemas (Settings, Theme, Lambda, ComponentNode)
The DBAL sync client referenced these 4 entities but no JSON schema files
existed, causing 422 Unprocessable Entity on CodeForge page load.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:43:52 +00:00
dbb6b1a9ea fix(deployment): rename shadowed run import to run_proc in deploy.py
Also add docker-compose version permission to local settings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:32:16 +00:00
199d94cb76 fix(qml): center CButton text — wrap RowLayout in Item with anchors.centerIn
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:30:52 +00:00
2e40675994 fix(storybook): resolve Docker build failure from storybook version conflict
The storybook Docker build failed because @chromatic-com/playwright depended
on storybook@~8.5.8, causing npm to hoist storybook@8.6.18 to root while
@storybook/* addons were at 10.2.19. This version mismatch caused missing
export errors (STORY_HOT_UPDATED, Tag). Added top-level storybook override
to force 10.2.19 everywhere and included package-lock.json in Dockerfile COPY.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:29:09 +00:00
04bc92b25e refactor(qt6): replace hand-rolled Rectangle buttons with CButton everywhere
App.qml: theme toggle, level nav, login/logout all use CButton now
FrontPage.qml: hero buttons use CButton with proper variants (primary/ghost/lg)
No more hand-rolled Rectangle + MouseArea + CText button patterns.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:20:55 +00:00
9d9fbed60e fix(qt6): fix text clipping in badges, add hero spacing
- CText: use ProportionalHeight for all variants (FixedHeight with 1.0 = 1px, clips text)
- FrontPage: 8px top spacer, hero height 400px, content offset +16px for breathing room
- Text centered in badge circles no longer cut off

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:10:18 +00:00
553aa13824 fix(qt6): center all text — Layout.fillWidth + horizontalAlignment on hero and section titles
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:45:35 +00:00
ff226595c6 fix(qt6): desktop-scaled typography, responsive grid, uniform card heights
CText: scale MD3 type sizes for desktop (h1: 32px not 57px, body1: 14px not 16px)
- Remove body1 letterSpacing 0.5 (caused word gaps everywhere)
- Default wrapMode: NoWrap (callers opt in to wrapping)
- Headings get Bold/DemiBold instead of Normal weight
- lineHeight only on body1

FrontPage: responsive GridLayout for level cards and tech stack
- columns adapt: Math.floor(width / 220) for levels, /260 for tech
- Fixed 190px card height (no more random heights)
- 3+2 wrap on medium windows, 2+2+1 on narrow, 5 on wide

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:41:25 +00:00
96d16564a4 fix(nextjs): break server-only import leak in auth-store
auth-store.ts directly imported fetch-session, login, and register
which transitively pulled next/headers and server-only into the client
bundle, causing the Next.js 16 build to fail.

Replaced direct imports with fetch() calls to new API route handlers
at /api/auth/{login,register,session,logout}.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:38:28 +00:00
7fa19e4db7 fix(qml): resolve property color shadow crashes in CBadge and CChip
CBadge: rename 'color' prop to 'badgeColor' (avoids Rectangle.color conflict)
CChip: rename 'color' prop to 'chipColor' (same issue)
Update all callers in WorkflowEditor and UserManagement.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:37:45 +00:00
cc6c93b2df fix(nextjs): break server-only import leak in constants.ts
constants.ts re-exported STATUS from routing/index.ts, which pulled
server-only modules (next/headers, server-only) into client bundles
via the webpack module graph, breaking the Docker frontend-app build.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:33:27 +00:00
ead2d530a6 fix(docker): replace removed Mesa packages for Ubuntu 24.04
libgl1-mesa-glx, libegl1-mesa, and libgles2-mesa were removed in
Noble — use their non-transitional replacements.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:16:39 +00:00
73b4b78dca fix(qt6): prevent chips overflowing card boundaries
- Level cards: dynamic height from content instead of fixed 196px
- Level cards: clip: true on container
- CCard: add clip: true globally (content respects radius 12 corners)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:13:22 +00:00
41eb2d8e3e feat(qml): MD3 rework batch 3 — atoms (CPanel, CSection, CBlockquote, CHighlight, CProse, CMarkdown)
CPanel: radius 16, tonal surface container, tonal primary header
CSection: 22px bold title, inline divider
CBlockquote: 4px left accent border, tonal primary background, radius 8
CHighlight: tonal color variants at 15% opacity, radius 4
CProse: 16px body, 1.6 line-height, proportional height mode
CMarkdown: updated typography to match MD3 body scale

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:04:31 +00:00
de3a3ac194 feat(qml): MD3 rework batch 2 — 17 more components rewritten
Feedback: CAlert (tonal + accent bar), CDialog (radius 28, scale anim), CSnackbar (inverse surface, slide-in)
Navigation: CTabBar (animated indicator pill), CListItem (state layers), CBreadcrumbs (full rewrite)
Data: CAvatar (tonal primary), CDivider (theme-aware), CTable (hover rows, sort arrows, proper padding)
Typography: CText (full MD3 type scale inline), CTitle (extends CText), CCodeBlock (radius 12), CCodeInline (radius 4)
Forms: CFormGroup (focus/error states), CFormLabel (animated color), CLabel (control association), CAutocomplete (styled popup)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:03:58 +00:00
eecaac8634 feat(qml): MD3 rework batch 1 — 20 components rewritten
Core: CButton (pill variants), CFab (radius 16 tonal), CIconButton (circle state layers)
Cards: CCard (filled/outlined/elevated, radius 12), CAccordionItem (smooth expand), CPaper
Chips: CChip (8px radius, filter/assist/input), CBadge (6px dot/16px pill), CStatBadge, CStatusBadge
Forms: CTextField (floating label, outlined), CSelect (styled popup), CTextarea (scrollable)
Toggles: CCheckbox (Canvas checkmark), CSwitch (52x32 pill track), CRadio (scale dot), CRating (hover stars)
Feedback: CProgress (4px track, indeterminate slide), CSpinner (Canvas arc sweep), CErrorState (tonal container)

All components: theme-aware, dark/light mode, hover/press state layers, preserved public API.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:03:18 +00:00
6fa7e700cb feat(qt6): MD3 top bar — pill nav buttons, tonal level badge, theme toggle pill
Replace CButton-based top bar with MD3-style elements:
- Compact 52px height, tighter spacing
- L-number level pill with tonal indigo background
- DBAL status dot inline with monospace label
- Moon/sun theme toggle in surfaceContainer pill
- Segmented pill buttons for level navigation with hover states
- Filled pill Login button, outlined Logout
- Username shown without parenthetical role

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:59:51 +00:00
cd2bd3ffcf feat(qt6): Material Design 3 frontpage — tonal surfaces, pill buttons, proper type scale
Full MD3 pass on FrontPage and light theme:
- Tonal surface containers (surfaceContainer, High, Highest)
- Rounded pill buttons (radius 22) and cards (radius 12-16)
- MD3 type scale with DemiBold/Bold weight hierarchy
- Level badges with rounded-square containers instead of circles
- Proper onSurface/onSurfaceVariant color roles
- Light theme: cool blue-gray (#e8eaf2 bg, #f0f1f8 paper)
- Blue gradient hero wash, tonal stats strip
- Tag chips with tinted backgrounds matching level accent

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:58:20 +00:00
0cf7b46bf7 feat(qt6): light blue gradients for light mode — hero wash, stats tint, blue-gray palette
- Hero section: horizontal + vertical blue gradient overlays in light mode
- Stats strip: subtle blue-tinted background
- Light theme base colors shifted blue (#d6d9e4 bg, #c6c9d6 paper)
- Dark mode gradients unchanged

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:55:36 +00:00
3dacaa96d6 fix(qt6): improve light mode text contrast — darker text, adaptive opacity
- Light theme text #111118, textSecondary #333345 (was too faint)
- FrontPage opacity values scale with isDark (0.45→0.65, 0.3→0.5, etc.)
- All secondary text now readable on gray backgrounds in both modes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:51:12 +00:00
194255b21d fix(qt6): soften light theme — muted gray palette instead of bright white
Light mode background #d8d8e0, paper #c8c8d2, surface #bfbfc9.
Enough contrast to read, not enough to need sunglasses.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:49:19 +00:00
8b0e20f5bf fix(qt6): light mode overhaul — softer palette, theme-aware CAppBar, persist theme on startup
- Change default primary from green (#10a37f) to indigo (#6366f1/#4f46e5)
- Light theme: soft off-white (#f0f0f3) background instead of blinding #ffffff
- CAppBar now uses Theme.paper background instead of native ToolBar styling
- App.qml calls Theme.setTheme() on startup + on currentTheme change
- FrontPage uses isDark flag for all surface/border colors (works both modes)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:47:59 +00:00
f250ee9952 feat(qt6): redesign frontpage with tech/IDE aesthetic — kill the golf vibes
Replace green-heavy palette with cool indigo/violet/cyan design language:
- Version pill with monospace label
- Bold "MetaBuilder" headline with tight letter-spacing
- Monospace stats strip with subtle dividers
- Access level cards with accent bars instead of colored circles
- Tech stack grid with colored sidebar indicators
- Service status row with dot indicators
- Quick login cards with hover animations
- Consistent cardBg/subtleBorder/subtleText design tokens

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:39:41 +00:00
1efea13888 feat(qt6): full frontpage redesign — hero, stats, 5-level grid, tech stack, status, credentials
Complete visual overhaul matching old/ reference design:
- Gradient hero section with "Build Anything, Visually" headline
- Platform stats bar (users, packages, workflows, backends)
- Five Levels of Power grid with colored badges, descriptions, feature chips
- Universal Platform tech stack grid (6 technologies)
- Platform Status with live service indicators
- About section with philosophy tagline
- Quick Access credential cards with one-click login

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:37:13 +00:00
e37b625576 docs: mark Phase 9 PLAN.md complete (Parts A, B, C all done)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:17:12 +00:00
d17e355b7f feat(nextjs): 5-level layout system, sidebar navigation, God Panel, DBAL integration
- AppShell with level-based auth gating (Guest through SuperGod)
- Sidebar with static core items + dynamic DBAL package navigation
- God Panel with 10 tabs: schemas, workflows, packages, users, DB, etc.
- Super God Panel with multi-tenant control
- Admin panel with entity browser
- JSON-driven config (sidebar-config.json, god-panel-config.json)
- DBAL health banner and graceful offline fallbacks
- Workflow editor integration via existing WorkflowBuilder component

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:16:47 +00:00
75791eb2f3 feat(cli): add workflow and package DBAL commands
New workflow commands: list, get, run, create, status
New package commands: install, uninstall, info, search
All backed by DBAL REST API with formatted table/JSON output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:07:27 +00:00
7c5d0f1012 feat(qt6): package metadata updates, QmlComponents library enhancements, PackageLoader improvements
- Update 22 package metadata.json files with consistent schema
- Enhance PackageLoader with file watching and navigable packages
- Update QmlComponents library (atoms, core, data-display, feedback, form, layout, surfaces)
- Improve watchtower PackageView and MaterialAccordion

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:04:31 +00:00
e6a2a50ae1 feat(qt6): visual workflow canvas with infinite pan/zoom, Bezier connections, 152-node palette
Replace list-based WorkflowEditor with spatial infinite canvas:
- NodeRegistry C++ class loads 152 node types from node-registry.json
- 5000x5000 Flickable canvas with grid, Scale transform zoom (0.25x-2x)
- Draggable nodes with group-colored headers, input/output ports
- Bezier connection drawing via Canvas 2D (n8n adjacency map format)
- Interactive port-to-port connection creation with drag preview
- Searchable/filterable node palette with group chips
- Properties panel with schema-driven parameter editing
- Full n8n-style JSON: nodes, connections, variables, meta, tags
- DBAL integration preserved with mock workflow fallback

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:03:34 +00:00
e0893c2fe3 feat(qt6): DBAL live data integration + fix deployment Python 3.9 compat
Wire up DBALProvider across all Qt6 views for live CRUD operations,
add PackageLoader, MediaServicePanel, NotificationsPanel, SettingsView,
and JSON-driven CMake config. Fix deployment helpers.py str|None syntax
for Python 3.9 compatibility via __future__ annotations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:43:26 +00:00
2895bc053e Add find command to .claude settings
Add a Bash entry to .claude/settings.local.json that runs a find under frontends/qt6 to locate markdown, CLAUDE.md, README.md, and roadmap files (improves document discovery). Also adjusts list punctuation to include the new entry.
2026-03-19 00:37:49 +00:00
3c13d01bce feat(qt6): restore 5-level builder vision with 15 God Panel tools
Complete Qt6/QML native frontend matching the old/ React 5-level platform:

- Qt5→Qt6 migration: versioned imports, TabView→TabBar+StackLayout,
  QtGraphicalEffects removed, QAudioOutput→stub, QJSValue::engine() fix
- Migrate from local qmllib/Material (35 components) to shared /qml/
  QmlComponents 1.0 library (119 components, 9 themes, 19 languages)
- 5-level auth system with seed users (demo/admin/god/super)
- Level 1: FrontPage, LoginView
- Level 2: DashboardView, ProfileView, CommentsView
- Level 3: AdminView (10 entities, full CRUD, search, filter, pagination)
- Level 4: GodPanel (13-tab builder) with SchemaEditor, WorkflowEditor,
  LuaEditor, DatabaseManager, PageRoutesManager, ComponentHierarchyEditor,
  CssClassManager, DropdownConfigManager, UserManagement, ThemeEditor,
  SMTPConfigEditor
- Level 5: SuperGodPanel (tenants, god users, power transfer, system health)
- Remove unused cpr dependency, fix conan Qt build (qtshadertools)
- Add ROADMAP.md with 10-phase plan including DBAL integration and
  Python+Jinja2 CMake generator

25 QML views (~12,800 LOC), 6 C++ files, 22 package views.
Builds successfully: Qt 6.7.3, MSVC 19.5, C++20.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:25:22 +00:00
b74931a3ce Add .act-env to .gitignore
Ignore the .act-env file to prevent committing local 'act' environment settings and other developer-specific artifacts. Keeps local environment configuration out of version control.
2026-03-19 00:16:49 +00:00
b6859ab57f chore(ci): downgrade artifact actions v6→v4 and add act local CI config
- Downgrade all actions/upload-artifact and actions/download-artifact from
  v6 to v4 for compatibility with act's local artifact server (v6 uses a
  new Azure blob backend that act doesn't support)
- Add .actrc with arm64 architecture, artifact server, sequential jobs,
  and secret/env file pointers for local act runs
- Add .act-env to .gitignore (contains local node PATH override)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 00:16:25 +00:00
7fbece2af5 fix(dbal): render CLI plain text output properly instead of escaped JSON
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 23:41:30 +00:00
f09c5e7ac3 fix(dbal): bake packages/ directory into CLI image for package commands
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 23:25:43 +00:00
23d495dec9 feat(dbal): run real C++ CLI binary from Query Console
- Build metabuilder-cli C++ binary into DBAL frontend Docker image
  via multi-stage build (conan-deps → cli-builder → nextjs → ubuntu runner)
- New /api/cli route executes the real C++ binary via child_process
- CLI mode runs actual metabuilder-cli commands (dbal, auth, user, tenant, package)
- Admin token forwarded via DBAL_ADMIN_TOKEN env var
- Ubuntu 24.04 runtime for glibc 2.38 compatibility with Conan builds
- Added standalone CLI Dockerfile at frontends/cli/Dockerfile

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 23:20:28 +00:00
e51c7be9ba feat(dbal): add login gate + CLI mode to Query Console
- Login screen with admin token (default pre-configured for local dev)
- CLI mode: type dbal commands directly (list, read, create, update, delete, rest, ping)
- Clickable example commands for quick start
- CLI/GUI mode toggle
- Token persisted in localStorage, forwarded as Bearer auth
- History shows CLI commands with $ prefix
- Disconnect button to logout

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 22:33:57 +00:00