{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$defs": { "Trip": { "type": "object", "properties": { "destination": { "type": "string" }, "startDate": { "type": "string" }, "endDate": { "type": "string" }, "travelers": { "type": "array", "items": { "type": "string" } }, "notes": { "type": "string" } }, "required": ["destination", "startDate", "endDate", "travelers"] }, "Item": { "type": "object", "properties": { "label": { "type": "string", "maxLength": 120 }, "forPerson": { "type": "string" }, "category": { "type": "string", "enum": ["clothes", "toiletries", "documents", "baby", "electronics", "other"] }, "packed": { "type": "boolean" }, "essential": { "type": "boolean" } }, "required": ["label", "forPerson", "category", "packed", "essential"] } }, "x-homespun-manifest": { "app": { "name": "Trip Packing List", "description": "A shared, per-person packing list your AI builds and checks at the door.", "icon": "\ud83e\uddf3" }, "collections": { "trip": { "schema": { "$ref": "#/$defs/Trip" }, "write": ["agent", "owner", "member"], "delete": ["agent", "owner"], "appendOnly": false }, "items": { "schema": { "$ref": "#/$defs/Item" }, "write": ["agent", "owner", "member"], "delete": ["agent", "owner", "member"], "appendOnly": false } } } }