Files
blueprints/BLUEPRINT_SCHEMA_v1_0.json
EIOS Staging Bot 958521cbf2 feat(registry): initialize X-Frames Blueprint Registry with 4 demo blueprints
- Add security-assessment-v1, it-incident-triage-v1, common-grounds-deploy-v1, org-bootstrap-v1
- Add index.json registry index with full metadata
- Add BLUEPRINT_SCHEMA_v1_0.json validation schema
- Add SCHEMA.md reference docs

Co-Authored-By: Eyean (EOA0000) <eyean@eios.local>
2026-06-10 11:42:30 -04:00

333 lines
11 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://eios.xrayvu.com/schemas/blueprint/v1.0",
"title": "EIOS Blueprint Package Schema",
"description": "JSON Schema for all EIOS Blueprint packages — covers X-Frames display templates and Bridge agentic workflow packages.",
"version": "1.0",
"created": "2026-06-09",
"author": "EOA0000 (Eyean / EIOS IA)",
"type": "object",
"required": ["blueprint_id", "version", "name", "blueprint_type", "author", "license", "description"],
"additionalProperties": false,
"properties": {
"blueprint_id": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9/_-]{2,80}$",
"description": "Globally unique slug identifier. Format: <namespace>/<slug> for Bridge; <slug> for X-Frames. Example: healthcare/patient-discharge-summary-v1 or bp_minimal_dark_001",
"examples": ["healthcare/patient-discharge-summary-v1", "it/incident-triage-v1", "bp_minimal_dark_001"]
},
"version": {
"type": "string",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
"description": "Semantic version (MAJOR.MINOR.PATCH). Breaking parameter/API changes = MAJOR.",
"examples": ["1.0.0", "1.2.3", "2.0.0-beta.1"]
},
"name": {
"type": "string",
"minLength": 3,
"maxLength": 80,
"description": "Human-readable display name for marketplace listings."
},
"blueprint_type": {
"type": "string",
"enum": [
"xframes_template",
"bridge_workflow",
"bridge_system_selection",
"bridge_architecture",
"bridge_library",
"bridge_configuration",
"bridge_hybrid"
],
"description": "Discriminator for package structure interpretation. xframes_template = X-Frames room display template. bridge_* = Bridge platform agentic package types."
},
"author": {
"type": "object",
"required": ["entity_id", "display_name"],
"additionalProperties": false,
"properties": {
"entity_id": {
"type": "string",
"pattern": "^E[A-Z0-9]{2}[0-9]{4}$",
"description": "EIOS entity ID of the Blueprint creator (e.g. EOU0227, EOO9788)."
},
"display_name": {
"type": "string",
"description": "Public display name for marketplace attribution."
},
"url": {
"type": "string",
"format": "uri",
"description": "Optional: creator profile or repository URL."
}
}
},
"license": {
"type": "string",
"enum": ["MIT", "Apache-2.0", "GPL-3.0", "AGPL-3.0", "CC-BY-4.0", "CC-BY-SA-4.0", "proprietary", "commercial"],
"description": "OSI-approved license or proprietary/commercial for paid Blueprints."
},
"description": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "Short description for search result cards (≤300 chars)."
},
"long_description": {
"type": "string",
"description": "Full markdown description rendered on the Blueprint detail page."
},
"domain": {
"type": "string",
"enum": [
"healthcare",
"legal",
"finance",
"government",
"education",
"technology",
"infrastructure",
"security",
"devops",
"communications",
"hr",
"marketing",
"general"
],
"description": "Industry/functional domain for marketplace categorization."
},
"tags": {
"type": "array",
"items": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{0,30}$" },
"minItems": 1,
"maxItems": 15,
"uniqueItems": true,
"description": "Searchable tags. lowercase-hyphenated."
},
"certification": {
"type": "string",
"enum": ["community", "verified", "certified", "healthcare-certified"],
"default": "community",
"description": "Certification tier. community = free/unvetted; verified = $500 fee, basic review; certified = $2K, full audit; healthcare-certified = $5K, HIPAA/regulatory."
},
"pricing": {
"type": "object",
"required": ["model"],
"additionalProperties": false,
"properties": {
"model": {
"type": "string",
"enum": ["free", "one_time", "subscription", "usage"],
"description": "Pricing model. Free blueprints may still have a license fee."
},
"amount_credits": {
"type": "integer",
"minimum": 0,
"description": "Platform credits charged. 0 = free. For subscription: per-month. For one_time: total."
},
"usage_unit": {
"type": "string",
"description": "For usage model: what is billed per execution (e.g. 'per_run', 'per_document')."
},
"revenue_split": {
"type": "object",
"description": "Revenue distribution. Defaults to 70% creator / 30% platform.",
"properties": {
"creator_pct": { "type": "number", "minimum": 0, "maximum": 100 },
"platform_pct": { "type": "number", "minimum": 0, "maximum": 100 }
}
}
}
},
"requires": {
"type": "object",
"additionalProperties": false,
"properties": {
"eios_version": {
"type": "string",
"description": "Semver range constraint on EIOS platform version (e.g. '>=1.0.0 <2.0.0')."
},
"xframes_version": {
"type": "string",
"description": "Required for xframes_template type. Semver range."
},
"bridge_version": {
"type": "string",
"description": "Required for bridge_* types. Semver range."
},
"platform_features": {
"type": "array",
"items": { "type": "string" },
"description": "Named platform feature flags required (e.g. 'mem0', 'lightrag', 'otel')."
},
"actor_harnesses": {
"type": "array",
"items": {
"type": "string",
"enum": ["claude-code", "aider", "openhands", "gemini-cli", "browser-use", "custom"]
},
"description": "For bridge_workflow: harnesses that must be available to execute this blueprint."
}
}
},
"dependencies": {
"type": "array",
"items": {
"type": "object",
"required": ["blueprint_id", "version"],
"properties": {
"blueprint_id": { "type": "string" },
"version": { "type": "string" }
}
},
"description": "Other blueprints this one depends on (installed automatically)."
},
"parameters": {
"type": "object",
"description": "For bridge_* types: parameterizable inputs. Keys are parameter names; values are parameter specs.",
"additionalProperties": {
"type": "object",
"required": ["type", "description"],
"properties": {
"type": {
"type": "string",
"enum": ["string", "integer", "number", "boolean", "enum", "array", "object"]
},
"description": { "type": "string" },
"required": { "type": "boolean", "default": false },
"default": {},
"enum_values": {
"type": "array",
"description": "For type=enum: allowed values."
},
"sensitive": {
"type": "boolean",
"default": false,
"description": "If true: value is a credential/secret, never logged or transmitted."
}
}
}
},
"entry_point": {
"type": "string",
"description": "For bridge_workflow: relative path to the main workflow definition file (e.g. 'workflow.yaml' or 'main.py')."
},
"oss": {
"type": "object",
"additionalProperties": false,
"description": "OSS publishing metadata. Present if this blueprint is intended for public release.",
"properties": {
"publish_ready": { "type": "boolean" },
"target_repository": { "type": "string", "format": "uri" },
"tier": {
"type": "string",
"enum": ["tier1", "tier2", "tier3"],
"description": "tier1 = publish immediately; tier2 = after internal hardening; tier3 = keep proprietary."
},
"stripping_required": {
"type": "boolean",
"description": "If true: must strip EIOS-internal references before publishing."
}
}
},
"xframes": {
"type": "object",
"description": "X-Frames-specific fields. Required when blueprint_type = xframes_template.",
"required": ["template_name", "system_name", "category"],
"additionalProperties": false,
"properties": {
"template_name": { "type": "string" },
"system_name": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{1,40}$",
"description": "UPPER_SNAKE_CASE system identifier used in X-Frames runtime."
},
"category": {
"type": "string",
"enum": ["minimal", "standard", "verbose", "developer", "presentation", "custom"]
},
"platforms": {
"type": "array",
"items": { "type": "string", "enum": ["cli", "web", "mobile"] }
}
}
},
"marketplace": {
"type": "object",
"description": "Marketplace listing metadata (auto-populated/updated by platform).",
"additionalProperties": false,
"properties": {
"published_at": { "type": "string", "format": "date-time" },
"updated_at": { "type": "string", "format": "date-time" },
"downloads": { "type": "integer", "minimum": 0 },
"stars": { "type": "integer", "minimum": 0 },
"installs": { "type": "integer", "minimum": 0 },
"status": {
"type": "string",
"enum": ["draft", "submitted", "under_review", "published", "deprecated", "archived"]
}
}
},
"changelog": {
"type": "array",
"description": "Version history. Most recent first.",
"items": {
"type": "object",
"required": ["version", "date", "changes"],
"properties": {
"version": { "type": "string" },
"date": { "type": "string", "format": "date" },
"changes": { "type": "string" }
}
}
}
},
"if": {
"properties": { "blueprint_type": { "const": "xframes_template" } }
},
"then": {
"required": ["xframes"],
"properties": {
"requires": {
"required": ["xframes_version"]
}
}
},
"else": {
"if": {
"properties": { "blueprint_type": { "pattern": "^bridge_" } }
},
"then": {
"required": ["domain", "parameters"],
"properties": {
"requires": {
"required": ["bridge_version"]
}
}
}
}
}