config: packages,json,metadata (6 files)

This commit is contained in:
Richard Ward
2025-12-30 23:10:57 +00:00
parent 49908089d7
commit 1ebcd93f7e
6 changed files with 264 additions and 52 deletions

View File

@@ -6,8 +6,13 @@
"icon": "static_content/icon.svg",
"author": "MetaBuilder",
"category": "ui",
"dependencies": ["ui_dialogs", "ui_permissions"],
"devDependencies": ["lua_test"],
"dependencies": [
"ui_dialogs",
"ui_permissions"
],
"devDependencies": [
"lua_test"
],
"exports": {
"components": []
},
@@ -21,5 +26,16 @@
"tests/components.cases.json"
]
},
"minLevel": 4
}
"minLevel": 4,
"primary": false,
"permissions": {
"admin.dialog.show": {
"minLevel": 4,
"description": "Display admin confirmation dialogs"
},
"admin.dialog.action": {
"minLevel": 4,
"description": "Execute admin dialog actions"
}
}
}

View File

@@ -6,8 +6,13 @@
"icon": "static_content/icon.svg",
"author": "MetaBuilder",
"category": "gaming",
"dependencies": ["ui_permissions", "dashboard"],
"devDependencies": ["lua_test"],
"dependencies": [
"ui_permissions",
"dashboard"
],
"devDependencies": [
"lua_test"
],
"exports": {
"components": []
},
@@ -21,5 +26,24 @@
"tests/components.cases.json"
]
},
"minLevel": 2
}
"minLevel": 2,
"primary": true,
"permissions": {
"arcade.lobby.view": {
"minLevel": 2,
"description": "View arcade lobby and game listings"
},
"arcade.party.create": {
"minLevel": 2,
"description": "Create party queues"
},
"arcade.tournament.join": {
"minLevel": 2,
"description": "Join tournaments"
},
"arcade.tournament.create": {
"minLevel": 3,
"description": "Create new tournaments"
}
}
}

View File

@@ -37,5 +37,20 @@
"tests/editor.cases.json"
]
},
"minLevel": 5
}
"minLevel": 5,
"primary": false,
"permissions": {
"editor.theme.apply": {
"minLevel": 5,
"description": "Apply editor themes"
},
"editor.code.edit": {
"minLevel": 5,
"description": "Edit code in editor"
},
"editor.code.view": {
"minLevel": 5,
"description": "View code in editor"
}
}
}

View File

@@ -7,7 +7,9 @@
"author": "MetaBuilder",
"category": "tools",
"dependencies": [],
"devDependencies": ["lua_test"],
"devDependencies": [
"lua_test"
],
"exports": {
"components": []
},
@@ -21,5 +23,20 @@
"tests/components.cases.json"
]
},
"minLevel": 5
}
"minLevel": 5,
"primary": true,
"permissions": {
"codegen.templates.create": {
"minLevel": 5,
"description": "Create custom templates"
},
"codegen.generate": {
"minLevel": 5,
"description": "Generate code from templates"
},
"codegen.templates.view": {
"minLevel": 5,
"description": "View available code templates"
}
}
}

View File

@@ -1,39 +1,28 @@
{
"packageId": "package_validator",
"name": "Package Validator",
"version": "1.0.0",
"description": "Validates package structure including JSON schemas, Lua files, and folder organization",
"icon": "static_content/icon.svg",
"author": "MetaBuilder",
"category": "tools",
"dependencies": [],
"devDependencies": [
"lua_test"
],
"exports": {
"components": [],
"scripts": [
"validate",
"metadata_schema",
"component_schema",
"lua_validator",
"structure_validator",
"cli"
]
},
"tests": {
"scripts": [
"tests/metadata.test.lua",
"tests/component.test.lua",
"tests/validate.test.lua",
"tests/lua_validator.test.lua",
"tests/structure_validator.test.lua",
"tests/devdependencies.test.lua",
"tests/parameterized.test.lua"
],
"cases": [
"tests/cases.json"
]
},
"minLevel": 5
{
"packageId": "package_validator",
"name": "Package Validator",
"version": "1.0.0",
"description": "Validates package structure including JSON schemas, Lua files, and folder organization",
"icon": "static_content/icon.svg",
"author": "MetaBuilder",
"category": "tools",
"primary": true,
"dependencies": [],
"devDependencies": ["lua_test"],
"exports": {
"components": [],
"scripts": ["validate", "metadata_schema", "component_schema", "lua_validator", "structure_validator", "cli"]
},
"tests": {
"scripts": ["tests/metadata.test.lua", "tests/component.test.lua", "tests/validate.test.lua", "tests/lua_validator.test.lua", "tests/structure_validator.test.lua", "tests/devdependencies.test.lua", "tests/parameterized.test.lua"],
"cases": ["tests/cases.json"]
},
"minLevel": 5,
"permissions": {
"package.validate": { "minLevel": 5, "description": "Run package validation checks" },
"package.validate.metadata": { "minLevel": 5, "description": "Validate metadata.json schemas" },
"package.validate.lua": { "minLevel": 5, "description": "Validate Lua script syntax" },
"package.validate.structure": { "minLevel": 5, "description": "Validate package folder structure" },
"package.validate.components": { "minLevel": 5, "description": "Validate component definitions" }
}
}

View File

@@ -1 +1,152 @@
[]
[
{
"id": "level5_layout",
"type": "Box",
"props": { "className": "min-h-screen bg-gradient-to-br from-purple-950 via-slate-900 to-indigo-950" },
"children": [
{
"id": "level5_header",
"type": "AppHeader",
"children": [
{
"type": "Toolbar",
"children": [
{ "type": "Typography", "props": { "variant": "h6", "text": "Level 5 - God Panel" } },
{ "type": "Box", "props": { "className": "flex-grow" } },
{ "type": "Typography", "props": { "variant": "body2", "text": "{{user.username}}" } }
]
}
]
},
{
"id": "level5_content",
"type": "Container",
"props": { "className": "max-w-7xl mx-auto px-4 py-8 space-y-8" },
"children": [
{
"id": "level5_intro",
"type": "Stack",
"props": { "className": "space-y-4" },
"children": [
{ "type": "Typography", "props": { "variant": "overline", "text": "Level 5" } },
{ "type": "Typography", "props": { "variant": "h2", "text": "Super God Panel", "className": "text-white" } },
{ "type": "Typography", "props": { "variant": "body1", "text": "Govern tenants and manage cross-level operations.", "className": "text-gray-300" } }
]
},
{
"id": "level5_tabs",
"type": "Card",
"children": [
{
"type": "Tabs",
"props": { "items": [
{ "value": "tenants", "label": "Tenants" },
{ "value": "gods", "label": "God Users" },
{ "value": "transfer", "label": "Transfer" }
]}
}
]
}
]
}
]
},
{
"id": "tenants_panel",
"type": "Card",
"children": [
{
"type": "CardHeader",
"children": [
{ "type": "Typography", "props": { "variant": "h5", "text": "Tenant Management" } },
{ "type": "Typography", "props": { "variant": "body2", "text": "Create, edit, and manage tenants across the platform.", "className": "text-muted-foreground" } }
]
},
{
"type": "CardContent",
"children": [
{
"type": "Table",
"props": {
"columns": [
{ "field": "name", "headerName": "Name" },
{ "field": "slug", "headerName": "Slug" },
{ "field": "users", "headerName": "Users" },
{ "field": "status", "headerName": "Status" }
],
"rows": [
{ "name": "Acme Corp", "slug": "acme", "users": 42, "status": "Active" },
{ "name": "Beta Inc", "slug": "beta", "users": 18, "status": "Active" },
{ "name": "Test Tenant", "slug": "test", "users": 3, "status": "Inactive" }
]
}
}
]
}
]
},
{
"id": "gods_panel",
"type": "Card",
"children": [
{
"type": "CardHeader",
"children": [
{ "type": "Typography", "props": { "variant": "h5", "text": "God Users" } },
{ "type": "Typography", "props": { "variant": "body2", "text": "Users with elevated cross-tenant privileges.", "className": "text-muted-foreground" } }
]
},
{
"type": "CardContent",
"children": [
{
"type": "List",
"children": [
{
"type": "ListItem",
"children": [
{ "type": "Avatar", "props": { "alt": "Admin" } },
{ "type": "ListItemText", "props": { "primary": "admin@metabuilder.dev", "secondary": "Level 5 - God" } }
]
},
{
"type": "ListItem",
"children": [
{ "type": "Avatar", "props": { "alt": "System" } },
{ "type": "ListItemText", "props": { "primary": "system@metabuilder.dev", "secondary": "Level 6 - Supergod" } }
]
}
]
}
]
}
]
},
{
"id": "transfer_panel",
"type": "Card",
"children": [
{
"type": "CardHeader",
"children": [
{ "type": "Typography", "props": { "variant": "h5", "text": "Data Transfer" } },
{ "type": "Typography", "props": { "variant": "body2", "text": "Transfer data and configurations between tenants.", "className": "text-muted-foreground" } }
]
},
{
"type": "CardContent",
"children": [
{
"type": "Stack",
"props": { "className": "space-y-4" },
"children": [
{ "type": "Select", "props": { "label": "Source Tenant", "options": [{ "value": "acme", "label": "Acme Corp" }, { "value": "beta", "label": "Beta Inc" }] } },
{ "type": "Select", "props": { "label": "Target Tenant", "options": [{ "value": "acme", "label": "Acme Corp" }, { "value": "beta", "label": "Beta Inc" }] } },
{ "type": "Button", "props": { "variant": "contained", "children": "Start Transfer" } }
]
}
]
}
]
}
]