{
  "version": "1.0.0",
  "kind": "olonjs-page-contract",
  "slug": "home",
  "title": "OlonJS — Contract Layer for the Agentic Web",
  "description": "OlonJS is a TypeScript framework for building JSON-driven websites with a deterministic data contract. Every section is typed, validated, and structurally addressable.",
  "manifestHref": "/mcp-manifests/home.json",
  "systemPrompt": "You are operating the \"OlonJS — Contract Layer for the Agentic Web\" page in OlonJS Studio. Use only the declared tools and keep mutations valid against the section schema.",
  "sectionTypes": [
    "header",
    "footer",
    "olon-hero",
    "olon-why",
    "olon-architecture",
    "olon-example",
    "olon-getstarted"
  ],
  "sectionInstances": [
    {
      "id": "global-header",
      "type": "header",
      "scope": "global",
      "label": "header"
    },
    {
      "id": "global-footer",
      "type": "footer",
      "scope": "global",
      "label": "footer"
    },
    {
      "id": "hero-main",
      "type": "olon-hero",
      "scope": "local",
      "label": "olon-hero"
    },
    {
      "id": "why-olon",
      "type": "olon-why",
      "scope": "local",
      "label": "Why OlonJS"
    },
    {
      "id": "architecture-protocols",
      "type": "olon-architecture",
      "scope": "local",
      "label": "Architecture"
    },
    {
      "id": "example-steps",
      "type": "olon-example",
      "scope": "local",
      "label": "Quick Example"
    },
    {
      "id": "getstarted-cards",
      "type": "olon-getstarted",
      "scope": "local",
      "label": "Get Started"
    }
  ],
  "sectionSchemas": {
    "header": {
      "type": "object",
      "properties": {
        "logoText": {
          "type": "string",
          "description": "ui:text"
        },
        "logoHighlight": {
          "type": "string",
          "description": "ui:text"
        },
        "logoIconText": {
          "type": "string",
          "description": "ui:text"
        },
        "badge": {
          "type": "string",
          "description": "ui:text"
        },
        "signinHref": {
          "type": "string",
          "description": "ui:text"
        },
        "ctaHref": {
          "type": "string",
          "description": "ui:text"
        },
        "ctaLabel": {
          "type": "string",
          "description": "ui:text"
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string",
                "description": "ui:text"
              },
              "href": {
                "type": "string",
                "description": "ui:text"
              },
              "isCta": {
                "type": "boolean",
                "description": "ui:checkbox",
                "default": false
              },
              "external": {
                "type": "boolean",
                "description": "ui:checkbox",
                "default": false
              }
            },
            "additionalProperties": false,
            "required": [
              "label",
              "href"
            ]
          },
          "description": "ui:list"
        }
      },
      "additionalProperties": false,
      "required": [
        "logoText",
        "links"
      ]
    },
    "footer": {
      "type": "object",
      "properties": {
        "brandText": {
          "type": "string",
          "description": "ui:text"
        },
        "copyright": {
          "type": "string",
          "description": "ui:text"
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string",
                "description": "ui:text"
              },
              "href": {
                "type": "string",
                "description": "ui:text"
              }
            },
            "additionalProperties": false,
            "required": [
              "label",
              "href"
            ]
          },
          "description": "ui:list"
        },
        "designSystemHref": {
          "type": "string",
          "description": "ui:text"
        }
      },
      "additionalProperties": false,
      "required": [
        "brandText",
        "copyright"
      ]
    },
    "olon-hero": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "eyebrow": {
          "type": "string",
          "default": "CONTRACT LAYER · V1.5 · OPEN CORE"
        },
        "headline": {
          "type": "string",
          "default": "Contract Layer"
        },
        "subline": {
          "type": "string",
          "default": "for the agentic web."
        },
        "body": {
          "type": "string",
          "default": ""
        },
        "primaryCta": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "label": {
              "type": "string",
              "description": "ui:text"
            },
            "href": {
              "type": "string",
              "description": "ui:text"
            },
            "variant": {
              "type": "string",
              "enum": [
                "primary",
                "secondary",
                "accent"
              ],
              "description": "ui:select",
              "default": "primary"
            }
          },
          "additionalProperties": false,
          "required": [
            "label",
            "href"
          ]
        },
        "secondaryCta": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "label": {
              "type": "string",
              "description": "ui:text"
            },
            "href": {
              "type": "string",
              "description": "ui:text"
            },
            "variant": {
              "type": "string",
              "enum": [
                "primary",
                "secondary",
                "accent"
              ],
              "description": "ui:select",
              "default": "primary"
            }
          },
          "additionalProperties": false,
          "required": [
            "label",
            "href"
          ]
        },
        "ghostCta": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "label": {
              "type": "string",
              "description": "ui:text"
            },
            "href": {
              "type": "string",
              "description": "ui:text"
            },
            "variant": {
              "type": "string",
              "enum": [
                "primary",
                "secondary",
                "accent"
              ],
              "description": "ui:select",
              "default": "primary"
            }
          },
          "additionalProperties": false,
          "required": [
            "label",
            "href"
          ]
        },
        "image": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            },
            "alt": {
              "type": "string"
            }
          },
          "additionalProperties": false,
          "required": [
            "url"
          ],
          "description": "ui:image-picker",
          "default": {
            "url": "/assets/images/plug-graded-square.jpg",
            "alt": "Olon interface port engraved into a dark stone surface"
          }
        }
      },
      "additionalProperties": false
    },
    "olon-why": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "label": {
          "type": "string",
          "default": "Why OlonJS"
        },
        "headline": {
          "type": "string",
          "default": "A Meaningful Web"
        },
        "subline": {
          "type": "string",
          "default": "Whole in itself, part of something greater."
        },
        "body": {
          "type": "string",
          "default": ""
        },
        "pillars": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "body": {
                "type": "string"
              },
              "icon": {
                "type": "string",
                "enum": [
                  "contract",
                  "holon",
                  "generated"
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "title",
              "body",
              "icon"
            ]
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "pillars"
      ]
    },
    "olon-architecture": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "label": {
          "type": "string",
          "default": "Architecture"
        },
        "headline": {
          "type": "string",
          "default": "Six governing protocols."
        },
        "body": {
          "type": "string",
          "default": ""
        },
        "specHref": {
          "type": "string",
          "default": ""
        },
        "protocols": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "version": {
                "type": "string"
              },
              "acronym": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "desc": {
                "type": "string"
              },
              "specHref": {
                "type": "string"
              },
              "icon": {
                "type": "string",
                "enum": [
                  "mtrp",
                  "tbp",
                  "jsp",
                  "idac",
                  "bsds",
                  "pss"
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "version",
              "acronym",
              "name",
              "desc",
              "specHref",
              "icon"
            ]
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "protocols"
      ]
    },
    "olon-example": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "label": {
          "type": "string",
          "default": "Quick Example"
        },
        "headline": {
          "type": "string",
          "default": "Two steps. One contract."
        },
        "body": {
          "type": "string",
          "default": ""
        },
        "note": {
          "type": "string",
          "default": ""
        },
        "noteHref": {
          "type": "string",
          "default": ""
        },
        "steps": {}
      },
      "additionalProperties": false,
      "required": [
        "steps"
      ]
    },
    "olon-getstarted": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "anchorId": {
          "type": "string",
          "description": "ui:text"
        },
        "label": {
          "type": "string",
          "default": "Get Started"
        },
        "headline": {
          "type": "string",
          "default": "Three paths in."
        },
        "body": {
          "type": "string",
          "default": ""
        },
        "cards": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "badge": {
                "type": "string"
              },
              "badgeStyle": {
                "type": "string",
                "enum": [
                  "oss",
                  "cli",
                  "deploy"
                ]
              },
              "title": {
                "type": "string"
              },
              "body": {
                "type": "string"
              },
              "code": {
                "type": "string"
              },
              "linkLabel": {
                "type": "string"
              },
              "linkHref": {
                "type": "string"
              },
              "deployLabel": {
                "type": "string"
              },
              "deployHref": {
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "badge",
              "badgeStyle",
              "title",
              "body",
              "linkLabel",
              "linkHref"
            ]
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "cards"
      ]
    }
  },
  "tools": [
    {
      "name": "update-section",
      "description": "Update a section field in the Studio draft. Does not persist — call save when all updates are complete. Use sectionType to select the matching schema from sectionSchemas.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "slug": {
            "type": "string",
            "description": "Canonical page slug currently open in Studio."
          },
          "sectionId": {
            "type": "string",
            "description": "Concrete section instance id inside the current draft."
          },
          "sectionType": {
            "type": "string",
            "description": "Section type being updated (for example \"hero\" or \"header\"). Used to select the correct validation schema."
          },
          "scope": {
            "type": "string",
            "enum": [
              "local",
              "global"
            ],
            "default": "local"
          },
          "data": {
            "type": "object",
            "description": "Full replacement payload validated against the schema declared for sectionType."
          },
          "itemPath": {
            "type": "array",
            "description": "Optional root-to-leaf selection path for targeted field mutation.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "fieldKey": {
                  "type": "string"
                },
                "itemId": {
                  "type": "string"
                }
              },
              "required": [
                "fieldKey"
              ]
            }
          },
          "value": {
            "description": "Value written to the final field targeted by itemPath."
          },
          "fieldKey": {
            "type": "string",
            "description": "Shorthand for a top-level scalar field update when itemPath is omitted."
          }
        },
        "required": [
          "sectionId"
        ],
        "oneOf": [
          {
            "required": [
              "data"
            ]
          },
          {
            "required": [
              "itemPath",
              "value"
            ]
          },
          {
            "required": [
              "fieldKey",
              "value"
            ]
          }
        ]
      }
    },
    {
      "name": "save",
      "description": "Persist all pending draft changes using the active save mode (local file, hot save, or save2repo). Call once after all update-section calls are complete.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      }
    }
  ]
}
