app.ocho.plugin.defs

ocho-lexicons.ocho.app

{
  "id": "app.ocho.plugin.defs",
  "defs": {
    "db": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the database."
        }
      }
    },
    "ios": {
      "type": "object",
      "properties": {
        "supportsTablet": {
          "type": "boolean",
          "description": "Whether the app supports iPad."
        }
      }
    },
    "web": {
      "type": "object",
      "properties": {
        "output": {
          "enum": [
            "static",
            "server",
            "single"
          ],
          "type": "string",
          "description": "The output directory for the web app."
        },
        "bundler": {
          "enum": [
            "webpack",
            "metro"
          ],
          "type": "string",
          "description": "The bundler used for the web app."
        },
        "favicon": {
          "type": "string",
          "description": "The URL to the favicon for the web app."
        },
        "faviconBlob": {
          "type": "blob"
        }
      }
    },
    "asset": {
      "type": "object",
      "required": [
        "hash",
        "blob",
        "type"
      ],
      "properties": {
        "blob": {
          "type": "blob",
          "description": "The blob of the asset"
        },
        "hash": {
          "type": "string",
          "description": "The hash of the asset"
        },
        "type": {
          "type": "string",
          "description": "The type of the asset"
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "The date and time when this asset was last updated. Used to reset the jetstream cache, among other things."
        }
      }
    },
    "expoGo": {
      "type": "object",
      "required": [
        "developer"
      ],
      "properties": {
        "developer": {
          "ref": "#developer",
          "type": "ref",
          "description": "Developer-specific configuration for the Expo Go app."
        }
      }
    },
    "plugin": {
      "type": "array",
      "items": {
        "refs": [
          "#stringId",
          "#pluginConfig"
        ],
        "type": "union"
      }
    },
    "android": {
      "type": "object",
      "properties": {
        "adaptiveIcon": {
          "ref": "#adaptiveIcon",
          "type": "ref",
          "description": "Configuration for the adaptive icon on Android."
        },
        "edgeToEdgeEnabled": {
          "type": "boolean",
          "description": "Whether edge-to-edge mode is enabled for the app."
        }
      }
    },
    "manifest": {
      "type": "object",
      "required": [
        "id",
        "createdAt",
        "runtimeVersion",
        "launchAsset",
        "metadata",
        "extra"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for this plugin manifest."
        },
        "extra": {
          "ref": "app.ocho.plugin.defs#manifestExtra",
          "type": "ref",
          "description": "Additional metadata for the plugin, including Expo client and Go configurations."
        },
        "metadata": {
          "type": "unknown"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "The date and time when this plugin manifest was created."
        },
        "launchAsset": {
          "ref": "app.ocho.plugin.defs#launchAsset",
          "type": "ref",
          "description": "The launch asset for the plugin (the main javascipt bundle)."
        },
        "runtimeVersion": {
          "type": "string",
          "description": "The version of the Expo runtime this plugin is compatible with."
        }
      }
    },
    "stringId": {
      "type": "string",
      "description": "A string identifier for a plugin, used to reference it in the app."
    },
    "developer": {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool used for development, e.g., 'expo-cli'."
        }
      }
    },
    "expoClient": {
      "type": "object",
      "required": [
        "name",
        "slug"
      ],
      "properties": {
        "ios": {
          "ref": "#ios",
          "type": "ref",
          "description": "ios-specific configuration for the app."
        },
        "web": {
          "ref": "#web",
          "type": "ref",
          "description": "Web-specific configuration for the app."
        },
        "icon": {
          "type": "string",
          "description": "The URL to the app icon."
        },
        "name": {
          "type": "string",
          "description": "The name of the Expo client application."
        },
        "slug": {
          "type": "string",
          "description": "A URL-friendly identifier for the app."
        },
        "extra": {
          "type": "unknown",
          "description": "Additional configuration for the app."
        },
        "scheme": {
          "type": "string",
          "description": "The custom URI scheme for deep linking."
        },
        "android": {
          "ref": "#android",
          "type": "ref",
          "description": "Android-specific configuration for the app."
        },
        "locales": {
          "type": "unknown",
          "description": "Localization settings for the app."
        },
        "plugins": {
          "type": "unknown",
          "description": "A list of plugins used by the app."
        },
        "version": {
          "type": "string",
          "description": "The version of the app."
        },
        "platforms": {
          "type": "array",
          "items": {
            "enum": [
              "ios",
              "android",
              "web"
            ],
            "type": "string"
          },
          "description": "The platforms supported by the app."
        },
        "sdkVersion": {
          "type": "string",
          "description": "The SDK version of the Expo client."
        },
        "expirements": {
          "type": "unknown",
          "description": "Experimental features enabled for the app."
        },
        "orientation": {
          "enum": [
            "portrait",
            "landscape",
            "default"
          ],
          "type": "string",
          "description": "The default orientation of the app."
        },
        "newArchEnabled": {
          "type": "boolean",
          "description": "Whether the new architecture is enabled for the app."
        },
        "androidStatusBar": {
          "ref": "#androidStatusBar",
          "type": "ref",
          "description": "Configuration for the Android status bar."
        },
        "userInterfaceStyle": {
          "type": "string",
          "description": "The default user interface style."
        }
      }
    },
    "launchAsset": {
      "type": "object",
      "required": [
        "key",
        "contentType",
        "url"
      ],
      "properties": {
        "key": {
          "type": "string",
          "description": "The unique key for this asset, used to reference it in the plugin."
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "The URL where the asset can be accessed."
        },
        "contentType": {
          "type": "string",
          "description": "The MIME type of the asset, e.g., 'image/png'."
        }
      }
    },
    "adaptiveIcon": {
      "type": "object",
      "properties": {
        "backgroundColor": {
          "type": "string",
          "description": "The background color of the adaptive icon."
        },
        "foregroundImage": {
          "type": "string",
          "description": "The URL to the foreground image of the adaptive icon."
        },
        "foregroundImageBlob": {
          "type": "blob"
        }
      }
    },
    "pluginConfig": {
      "type": "unknown",
      "description": "Configuration object for a plugin, can be any valid JSON object."
    },
    "manifestExtra": {
      "type": "object",
      "required": [
        "expoClient",
        "expoGo"
      ],
      "properties": {
        "expoGo": {
          "ref": "#expoGo",
          "type": "ref"
        },
        "expoClient": {
          "ref": "#expoClient",
          "type": "ref"
        }
      }
    },
    "androidStatusBar": {
      "type": "object",
      "properties": {
        "backgroundColor": {
          "type": "string",
          "description": "The background color of the Android status bar."
        }
      },
      "description": "Android status bar configuration."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against app.ocho.plugin.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:jm4zwg4raokwfysioe7767zh
CID
bafyreiape4jgsxt4gehinxurr7lv3we4ayke53plg23ok4vwd75s4jrhlu
Indexed At
2026-01-12 09:39 UTC
AT-URI
at://did:plc:jm4zwg4raokwfysioe7767zh/com.atproto.lexicon.schema/app.ocho.plugin.defs

Lexicon Garden

@