Files
gstack/modules/loadouts.schema.json
T
garrytanandcapy-ai[bot] 00bd08f108 feat(modules): module catalog, per-model loadouts manifest and gstack-modules render (GSTA-140 PR 1a)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-28 16:46:20 +00:00

160 lines
3.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "gstack module loadouts",
"description": "Rungs, the model-id to rung table, pinned module ids and named loadouts. Validated by scripts/modules.ts validateLoadouts (bin/gstack-modules validate, test/module-loadouts.test.ts).",
"type": "object",
"required": [
"version",
"aliases",
"rungs",
"pinned",
"loadouts",
"default"
],
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string"
},
"version": {
"const": 1
},
"note": {
"type": "string"
},
"aliases": {
"type": "object",
"additionalProperties": {
"enum": [
"frontier",
"strong",
"mid",
"light"
]
}
},
"rungs": {
"type": "object",
"additionalProperties": false,
"required": [
"frontier",
"strong",
"mid",
"light"
],
"properties": {
"frontier": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9.-]+\\*?$"
}
},
"strong": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9.-]+\\*?$"
}
},
"mid": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9.-]+\\*?$"
}
},
"light": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9.-]+\\*?$"
}
}
}
},
"pinned": {
"type": "array",
"items": {
"type": "string"
}
},
"loadouts": {
"type": "object",
"required": [
"full"
],
"propertyNames": {
"pattern": "^[a-z0-9-]+$"
},
"additionalProperties": {
"type": "object",
"additionalProperties": false,
"properties": {
"base": {
"type": "string"
},
"include": {
"oneOf": [
{
"const": "*"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"exclude": {
"type": "array",
"items": {
"type": "string"
}
},
"preamble_tier_max": {
"enum": [
1,
2,
3,
4
]
},
"note": {
"type": "string"
}
}
}
},
"default": {
"type": "object",
"additionalProperties": false,
"required": [
"frontier",
"strong",
"mid",
"light",
"unknown"
],
"properties": {
"frontier": {
"type": "string"
},
"strong": {
"type": "string"
},
"mid": {
"type": "string"
},
"light": {
"type": "string"
},
"unknown": {
"type": "string"
}
}
}
}
}