fix(openmaus): use supported portable requirements
This commit is contained in:
parent
b2ce17814d
commit
f47e73044d
3 changed files with 15 additions and 9 deletions
|
|
@ -18,13 +18,8 @@
|
|||
],
|
||||
"setupMinutes": 10,
|
||||
"requirements": {
|
||||
"apps": [
|
||||
"MegaDash purchasing MCP connection"
|
||||
],
|
||||
"capabilities": [
|
||||
"View scanned images and PDFs",
|
||||
"Save local review reports"
|
||||
]
|
||||
"apps": [],
|
||||
"capabilities": []
|
||||
},
|
||||
"team": {
|
||||
"name": "Dash Foreman"
|
||||
|
|
|
|||
|
|
@ -42,8 +42,10 @@ def main():
|
|||
],
|
||||
'setupMinutes': 10,
|
||||
'requirements': {
|
||||
'apps': ['MegaDash purchasing MCP connection'],
|
||||
'capabilities': ['View scanned images and PDFs', 'Save local review reports'],
|
||||
# Registry-specific requirement entries are not free-text labels.
|
||||
# Manual MCP/image/report setup stays in the packaged skills.
|
||||
'apps': [],
|
||||
'capabilities': [],
|
||||
},
|
||||
'team': {'name': 'Dash Foreman'},
|
||||
'agents': [{
|
||||
|
|
|
|||
|
|
@ -21,6 +21,15 @@ def main(path):
|
|||
p = d.get("package", {})
|
||||
for k in ["id","release","name","tagline","summary","category","author","license","outcomes","requirements","team","agents"]:
|
||||
if k not in p: errs.append(f"package.{k} missing")
|
||||
# The supplied template/export examples establish empty requirement arrays.
|
||||
# Nonempty registry requirements need the actual app schema, not free text.
|
||||
requirements = p.get("requirements", {})
|
||||
if not isinstance(requirements, dict):
|
||||
errs.append("package.requirements must be an object")
|
||||
else:
|
||||
for field in ("apps", "capabilities"):
|
||||
if requirements.get(field) != []:
|
||||
errs.append(f"package.requirements.{field}: this portable generator supports [] only; put manual setup in skills until registry requirements are verified")
|
||||
kebab = re.compile(r"^[a-z0-9]+(-[a-z0-9]+)*$")
|
||||
if not kebab.match(p.get("id","")): errs.append("package.id must be kebab-case")
|
||||
if not re.match(r"^\d+\.\d+\.\d+$", p.get("release","")): errs.append("release must be semver")
|
||||
|
|
|
|||
Loading…
Reference in a new issue