mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
config: packages,metadata,json (6 files)
This commit is contained in:
@@ -5,4 +5,11 @@
|
||||
|
||||
export interface TenantContext {
|
||||
tenantId: string;
|
||||
canRead?: boolean;
|
||||
canWrite?: boolean;
|
||||
canDelete?: boolean;
|
||||
canCreateRecord?: boolean;
|
||||
canAddToList?: boolean;
|
||||
quota?: { used: number; limit: number };
|
||||
namespace?: string;
|
||||
}
|
||||
|
||||
@@ -82,20 +82,24 @@ function validateComponentsJson(seedPath) {
|
||||
|
||||
try {
|
||||
const content = fs.readFileSync(componentsPath, 'utf-8')
|
||||
const components = JSON.parse(content)
|
||||
|
||||
if (!Array.isArray(components)) {
|
||||
errors.push('components.json must be an array')
|
||||
const parsed = JSON.parse(content)
|
||||
|
||||
// Accept both formats: bare array or { components: [...] }
|
||||
const components = Array.isArray(parsed) ? parsed : parsed.components
|
||||
|
||||
if (!components || !Array.isArray(components)) {
|
||||
errors.push('components.json must be an array or have a "components" array property')
|
||||
return { valid: false, errors, warnings }
|
||||
}
|
||||
|
||||
for (let i = 0; i < components.length; i++) {
|
||||
const comp = components[i]
|
||||
if (!comp.id) {
|
||||
errors.push(`Component at index ${i} missing required field: id`)
|
||||
// Accept either "id" or "name" for component identifier
|
||||
if (!comp.id && !comp.name) {
|
||||
errors.push(`Component at index ${i} missing required field: id or name`)
|
||||
}
|
||||
if (!comp.type) {
|
||||
errors.push(`Component at index ${i} missing required field: type`)
|
||||
if (!comp.type && !comp.description) {
|
||||
warnings.push(`Component at index ${i} has no type or description`)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"id": "github_tools",
|
||||
"packageId": "github_tools",
|
||||
"name": "GitHub Tools",
|
||||
"description": "GitHub integration tools including Actions viewer, run analysis, and workflow management",
|
||||
"version": "1.0.0",
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"id": "media_center",
|
||||
"packageId": "media_center",
|
||||
"name": "Media Center",
|
||||
"version": "1.1.0",
|
||||
"description": "Media processing dashboard with job queue, radio, TV, document conversion, and retro gaming",
|
||||
"author": "MetaBuilder",
|
||||
"category": "media",
|
||||
"minLevel": 3,
|
||||
"tags": ["media", "streaming", "radio", "tv", "transcoding", "documents", "pdf", "retro", "gaming", "emulation"],
|
||||
"dependencies": ["notification_center", "data_table"],
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"name": "screenshot_analyzer",
|
||||
"packageId": "screenshot_analyzer",
|
||||
"name": "Screenshot Analyzer",
|
||||
"version": "1.0.0",
|
||||
"description": "Screenshot Analyzer - Capture and analyze the current page",
|
||||
"author": "MetaBuilder",
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"name": "shared",
|
||||
"packageId": "shared",
|
||||
"name": "Shared Utilities",
|
||||
"version": "1.1.0",
|
||||
"description": "Shared types, utilities, and permission system for all Lua packages",
|
||||
"author": "MetaBuilder",
|
||||
"category": "core",
|
||||
"exports": [
|
||||
"types.ui_types",
|
||||
"permissions"
|
||||
|
||||
Reference in New Issue
Block a user