{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/flyfish-dev/file-viewer/releases/download/v2.0.1/release-status.schema.json", "title": "Flyfish File Viewer release status", "type": "object", "additionalProperties": false, "required": [ "schemaVersion", "generatedAt", "version", "sourcePolicy", "openSourcePolicy", "sourceBaseline", "local", "sourceRemote", "openSourceMain", "githubRelease", "componentRepositories", "npmPackages", "gaps", "gapSummary", "gapDetails", "nextActions" ], "properties": { "schemaVersion": { "type": "integer", "const": 1 }, "generatedAt": { "type": "string" }, "version": { "type": "string" }, "sourcePolicy": { "type": "string", "const": "private-complete-original-workspace" }, "openSourcePolicy": { "type": "string", "const": "public-open-source-main-repository" }, "sourceBaseline": { "type": "object", "additionalProperties": false, "required": [ "repository", "branch", "policy", "authoritativeCommit", "localBranch", "localCommit", "inSync", "note" ], "properties": { "repository": { "type": "string" }, "branch": { "type": "string", "const": "main" }, "policy": { "type": "string", "const": "private-complete-original-workspace" }, "authoritativeCommit": { "type": "string" }, "localBranch": { "type": "string" }, "localCommit": { "type": "string" }, "inSync": { "type": "boolean" }, "note": { "type": "string" } } }, "local": { "type": "object", "additionalProperties": false, "required": ["branch", "commit", "shortCommit", "dirty"], "properties": { "branch": { "type": "string" }, "commit": { "type": "string" }, "shortCommit": { "type": "string" }, "dirty": { "type": "boolean" } } }, "sourceRemote": { "$ref": "#/$defs/remoteHead" }, "openSourceMain": { "type": "object", "additionalProperties": false, "required": [ "github", "gitee", "inSync", "syncMode", "treeChecked", "referenceTree", "giteeTree", "treeError", "reportHashNote" ], "properties": { "github": { "$ref": "#/$defs/remoteHead" }, "gitee": { "$ref": "#/$defs/remoteHead" }, "inSync": { "type": "boolean" }, "syncMode": { "type": "string", "enum": ["commit", "tree", "stale", "missing", "unchecked"] }, "treeChecked": { "type": "boolean" }, "referenceTree": { "type": "string" }, "giteeTree": { "type": "string" }, "treeError": { "type": "string" }, "reportHashNote": { "type": "string" } } }, "githubRelease": { "type": "object", "additionalProperties": false, "required": ["ok", "tag", "url", "assetCount", "hasManifest", "hasStatus", "hasSchema", "error"], "properties": { "ok": { "type": "boolean" }, "tag": { "type": "string" }, "url": { "type": "string" }, "assetCount": { "type": "integer" }, "hasManifest": { "type": "boolean" }, "hasStatus": { "type": "boolean" }, "hasSchema": { "type": "boolean" }, "error": { "type": "string" } } }, "componentRepositories": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["id", "packageName", "github", "gitee"], "properties": { "id": { "type": "string" }, "packageName": { "type": "string" }, "github": { "$ref": "#/$defs/remoteHead" }, "gitee": { "$ref": "#/$defs/remoteHead" } } } }, "npmPackages": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["packageName", "expectedVersion", "publishedVersion", "ok", "error"], "properties": { "packageName": { "type": "string" }, "expectedVersion": { "type": "string" }, "publishedVersion": { "type": ["string", "null"] }, "ok": { "type": "boolean" }, "error": { "type": "string" } } } }, "gaps": { "type": "array", "items": { "type": "string" } }, "gapSummary": { "type": "object", "additionalProperties": false, "required": [ "total", "externalBlockers", "localActionable", "byChannel", "externalBlockerChannels", "localActionableChannels" ], "properties": { "total": { "type": "integer" }, "externalBlockers": { "type": "integer" }, "localActionable": { "type": "integer" }, "byChannel": { "type": "object", "additionalProperties": { "type": "integer" } }, "externalBlockerChannels": { "type": "array", "items": { "type": "string" } }, "localActionableChannels": { "type": "array", "items": { "type": "string" } } } }, "gapDetails": { "type": "array", "items": { "$ref": "#/$defs/gapDetail" } }, "nextActions": { "type": "array", "items": { "type": "string" } } }, "$defs": { "remoteHead": { "type": "object", "additionalProperties": false, "required": ["url", "branch", "ok", "hash", "error"], "properties": { "url": { "type": "string" }, "branch": { "type": "string" }, "ok": { "type": "boolean" }, "hash": { "type": "string" }, "error": { "type": "string" } } }, "gapDetail": { "type": "object", "additionalProperties": false, "required": ["id", "channel", "scope", "externalBlocker", "message", "nextAction"], "properties": { "id": { "type": "string" }, "channel": { "type": "string", "enum": [ "source-worktree", "source-remote", "github", "github-release", "gitee", "npm", "unknown" ] }, "scope": { "type": "string" }, "externalBlocker": { "type": "boolean" }, "message": { "type": "string" }, "nextAction": { "type": "string" } } } } }