{
  "schemaVersion": "mamaki-space-manifest-v1",
  "id": "space_tic_tac_toe",
  "owner": {
    "kind": "mamaki",
    "id": "mamaki",
    "handle": "mamaki",
    "displayName": "Mamaki"
  },
  "slug": "tic-tac-toe",
  "version": "0.1.0",
  "status": "live",
  "audience": "family",
  "trustTier": "isolated-worker",
  "artifact": {
    "kind": "cloudflare-artifact",
    "repo": "mamaki-fun",
    "ref": "refs/heads/main",
    "commit": "pending",
    "manifestPath": "src/spaces/catalog.ts",
    "manifestHash": "tic-tac-toe-0.1.0"
  },
  "copy": {
    "title": "Tic Tac Toe",
    "tagline": "A tiny shared board powered by Agent state sync.",
    "lede": "Play a quick shared game of tic tac toe. Every move updates the Agent state for the room, so another browser in the same room sees the board change in real time.",
    "description": "A free shared tic tac toe game for testing Cloudflare Agent state sync on Mamaki Spaces."
  },
  "presentation": {
    "swatch": "linear-gradient(135deg, #e8f3ff, #fff1bc 52%, #dff8e9)",
    "emoji": "XO",
    "doodle": "star",
    "thumbnail": "/spaces/tic-tac-toe/thumbnail.svg"
  },
  "capabilities": [
    "play",
    "save",
    "multiplayer"
  ],
  "safety": {
    "audience": "family",
    "promptMode": "preset-only",
    "maxPromptChars": 0,
    "persistence": "saved",
    "moderation": "allowlist",
    "rateLimits": []
  },
  "runtimes": [
    {
      "kind": "agent",
      "className": "TicTacToeAgent",
      "binding": "TicTacToeAgent",
      "routePrefix": "/agents/tic-tac-toe-agent/",
      "storage": "sqlite"
    },
    {
      "kind": "dynamic-worker",
      "dispatchNamespace": "mamaki-spaces",
      "workerName": "space-tic-tac-toe",
      "publicOrigin": "https://tic-tac-toe.mamaki.fun",
      "routePrefix": "/spaces/tic-tac-toe/",
      "isolation": "trusted",
      "grants": [
        {
          "kind": "ai",
          "models": [
            "@cf/moonshotai/kimi-k2.6"
          ]
        }
      ]
    }
  ],
  "actions": [
    {
      "name": "play_tic_tac_toe",
      "title": "Play Tic Tac Toe",
      "description": "Open the shared tic tac toe board for one Agent-backed room.",
      "visibility": "app-only",
      "capabilities": [
        "play",
        "save",
        "multiplayer"
      ],
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "room": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "opened": {
            "type": "boolean"
          }
        }
      }
    }
  ],
  "examples": [
    {
      "id": "shared-room",
      "title": "Shared room",
      "action": "play_tic_tac_toe",
      "input": {
        "room": "family-board"
      },
      "inputPreview": [
        {
          "kind": "image",
          "src": "/spaces/tic-tac-toe/thumbnail.svg",
          "alt": "Tic Tac Toe shared game board thumbnail",
          "mimeType": "image/svg+xml"
        }
      ],
      "tags": [
        "game",
        "agent-state",
        "multiplayer"
      ]
    }
  ],
  "publishing": {
    "canonicalPath": "/agents/tic-tac-toe/",
    "aliases": [
      {
        "path": "/spaces/tic-tac-toe/",
        "kind": "legacy",
        "redirectToCanonical": true
      }
    ],
    "indexable": false,
    "sitemap": false,
    "homepageTile": false,
    "displayMode": "fullscreen",
    "runtimeBridge": "none"
  }
}