diff --git a/docs/asset-engine/services.schema.json b/docs/asset-engine/services.schema.json index 4570cb9..ff63527 100644 --- a/docs/asset-engine/services.schema.json +++ b/docs/asset-engine/services.schema.json @@ -273,6 +273,40 @@ "title": "CatalogLatency", "type": "object" }, + "CatalogLifecycle": { + "additionalProperties": false, + "description": "Per-service orchestration metadata.\n\nPresence means \"asset_engine can start/stop this service from the UI\".\nAbsence (default) means \"managed externally \u2014 UI surfaces no controls.\"\nSee docs/contracts/orchestration.contract.md.\n\n - stack: directory name under /opt/docker/compose/ on the\n inference host (compose path derived).\n - vram_gb: VRAM the model needs at typical operating params.\n Used by the memory gate before docker compose up.\n - gpu_device_id: 0 or 1 to pin to a specific card, None if the\n service uses both GPUs / picks dynamically. None\n means the gate must clear on each device.", + "properties": { + "stack": { + "minLength": 1, + "title": "Stack", + "type": "string" + }, + "vram_gb": { + "exclusiveMinimum": 0, + "title": "Vram Gb", + "type": "number" + }, + "gpu_device_id": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Gpu Device Id" + } + }, + "required": [ + "stack", + "vram_gb" + ], + "title": "CatalogLifecycle", + "type": "object" + }, "CatalogModel": { "additionalProperties": false, "properties": { @@ -333,6 +367,18 @@ ], "default": null, "title": "Notes" + }, + "seed_field": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Seed Field" } }, "required": [ @@ -571,6 +617,17 @@ ], "default": null }, + "lifecycle": { + "anyOf": [ + { + "$ref": "#/$defs/CatalogLifecycle" + }, + { + "type": "null" + } + ], + "default": null + }, "license": { "title": "License", "type": "string"