{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "list",
        "get",
        "create",
        "update_metadata",
        "list_comments",
        "get_agent_context",
        "create_comment",
        "resolve",
        "reopen",
        "list_shares",
        "share",
        "revoke_share",
        "remove_access"
      ],
      "description": "Operation to perform. Choose one advertised value; the remaining parameters are interpreted for that action."
    },
    "collaboration": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "polls": {
          "type": "boolean",
          "default": false,
          "description": "Whether to enable polls for the selected Web App Review action."
        },
        "consensus": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "enabled": {
              "type": "boolean",
              "default": false,
              "description": "Whether to enable enabled for the selected Web App Review action."
            },
            "rule": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "mode": {
                  "enum": [
                    "owner_decides",
                    "no_open_blockers",
                    "n_of_m",
                    "required_reviewers"
                  ],
                  "description": "Allowed mode value for the selected Web App Review action."
                },
                "agreementThreshold": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1000,
                  "description": "Agreement threshold used by the selected Web App Review action."
                },
                "minResponseCount": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1000,
                  "description": "Min response count used by the selected Web App Review action."
                },
                "requiredReviewerIds": {
                  "type": "array",
                  "maxItems": 1000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string"
                  },
                  "description": "Required reviewer ids values used by the selected Web App Review action."
                },
                "delegatedOwnerAgentParticipantId": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Stable delegated owner agent participant identifier used by the selected Web App Review action."
                },
                "requiredReviewerCondition": {
                  "enum": [
                    "all_required_agree",
                    "no_required_objects",
                    "owner_plus_one_required_agrees",
                    "threshold_no_blockers"
                  ],
                  "description": "Allowed required reviewer condition value for the selected Web App Review action."
                },
                "objectionPolicy": {
                  "enum": [
                    "block",
                    "owner_decision",
                    "ignore"
                  ],
                  "description": "Allowed objection policy value for the selected Web App Review action."
                },
                "countOwnerAgreement": {
                  "type": "boolean",
                  "description": "Whether to enable count owner agreement for the selected Web App Review action."
                },
                "countAgentSignals": {
                  "type": "boolean",
                  "default": false,
                  "description": "Whether to enable count agent signals for the selected Web App Review action."
                },
                "decisionPollCompletion": {
                  "enum": [
                    "closed",
                    "threshold"
                  ],
                  "default": "closed",
                  "description": "Allowed decision poll completion value for the selected Web App Review action."
                }
              },
              "description": "Rule object used by the selected Web App Review action."
            },
            "gate": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "minimumHumanApprovals": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 1000,
                  "description": "Minimum human approvals used by the selected Web App Review action."
                },
                "requiredReviewerIds": {
                  "type": "array",
                  "uniqueItems": true,
                  "maxItems": 1000,
                  "items": {
                    "type": "string"
                  },
                  "description": "Required reviewer ids values used by the selected Web App Review action."
                },
                "quorum": {
                  "anyOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "group": {
                          "enum": [
                            "owner",
                            "invited_reviewers",
                            "all_human_reviewers"
                          ]
                        },
                        "minimum": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 1000
                        }
                      },
                      "required": [
                        "group",
                        "minimum"
                      ],
                      "additionalProperties": false
                    }
                  ],
                  "description": "Quorum used by the selected Web App Review action."
                },
                "fileRequirement": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "mode": {
                          "enum": [
                            "none",
                            "all"
                          ]
                        }
                      },
                      "required": [
                        "mode"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "mode": {
                          "const": "selected"
                        },
                        "filePaths": {
                          "type": "array",
                          "maxItems": 10000,
                          "uniqueItems": true,
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "mode",
                        "filePaths"
                      ],
                      "additionalProperties": false
                    }
                  ],
                  "description": "File requirement used by the selected Web App Review action."
                },
                "agentMode": {
                  "enum": [
                    "prepare_only",
                    "wait_before_implementation"
                  ],
                  "description": "Allowed agent mode value for the selected Web App Review action."
                }
              },
              "description": "Gate object used by the selected Web App Review action."
            }
          },
          "description": "Consensus object used by the selected Web App Review action."
        }
      },
      "description": "Collaboration object used by the selected Web App Review action."
    },
    "requestDecision": {
      "type": "boolean",
      "description": "Whether to enable request decision for the selected Web App Review action."
    },
    "poll": {
      "type": "object",
      "description": "Poll object used by the selected Web App Review action."
    },
    "reviewId": {
      "type": "string",
      "description": "Stable Web App Review identifier."
    },
    "shareLinkId": {
      "type": "string",
      "description": "Stable share link identifier used by the selected Web App Review action."
    },
    "accessGrantId": {
      "type": "string",
      "description": "Stable access grant identifier used by the selected Web App Review action."
    },
    "audience": {
      "type": "string",
      "enum": [
        "anyone",
        "user"
      ],
      "description": "Allowed audience value for the selected Web App Review action."
    },
    "recipient": {
      "type": "string",
      "description": "User identity or recipient descriptor used by an explicitly selected sharing action."
    },
    "title": {
      "type": "string",
      "description": "Human-readable title for the created or updated artifact."
    },
    "sourceType": {
      "type": "string",
      "enum": [
        "deployed_url",
        "localhost"
      ],
      "description": "Origin classification for the created or resolved source artifact."
    },
    "previewUrl": {
      "type": "string",
      "description": "Absolute localhost or deployed preview URL to review."
    },
    "deliveryMode": {
      "type": "string",
      "enum": [
        "auto",
        "embedded",
        "new_tab"
      ],
      "description": "Allowed delivery mode value for the selected Web App Review action."
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "archived"
      ],
      "description": "Status filter or requested state supported by the selected action."
    },
    "repo": {
      "type": "object",
      "description": "Repository name without the owner prefix."
    },
    "externalMetadata": {
      "type": "object",
      "description": "External metadata object used by the selected Web App Review action."
    },
    "includeResolved": {
      "type": "boolean",
      "description": "Whether resolved review threads should be included."
    },
    "includeArchived": {
      "type": "boolean",
      "description": "Whether archived reviews or records should be included."
    },
    "includeImages": {
      "type": "boolean",
      "description": "Whether bounded screenshot bytes should be included; false returns metadata only."
    },
    "threadId": {
      "type": "string",
      "description": "Stable Commentary review-thread identifier."
    },
    "reviewSessionId": {
      "type": "string",
      "description": "Stable review session identifier associated with the target review."
    },
    "bodyMarkdown": {
      "type": "string",
      "description": "Markdown body for the comment, reply, note, or report produced by the selected action."
    },
    "body": {
      "type": "string",
      "description": "Plain-text body accepted by actions that support a non-Markdown alias."
    },
    "agentAlias": {
      "type": "string",
      "description": "Stable agent identifier for agent-authored activity. Agents should always provide this on state-changing calls; clientName is not a substitute."
    },
    "targetKind": {
      "type": "string",
      "enum": [
        "element",
        "screenshot",
        "general"
      ],
      "description": "Allowed target kind value for the selected Web App Review action."
    },
    "route": {
      "type": "string",
      "description": "Application route associated with the review comment."
    },
    "url": {
      "type": "string",
      "description": "Full reviewed page URL associated with the comment."
    },
    "origin": {
      "type": "string",
      "description": "Exact URL origin authorized for the Web App Review."
    },
    "selector": {
      "type": "string",
      "description": "Primary CSS selector supplied by the review SDK for the selected element."
    },
    "fallbackSelector": {
      "type": "string",
      "description": "Fallback CSS selector supplied by the review SDK when the primary selector no longer resolves."
    },
    "tagName": {
      "type": "string",
      "description": "Tag name used by the selected Web App Review action."
    },
    "role": {
      "type": "string",
      "description": "Role used by the selected Web App Review action."
    },
    "accessibleName": {
      "type": "string",
      "description": "Accessible name of the selected interface element."
    },
    "textSnippet": {
      "type": "string",
      "description": "Bounded visible-text snippet captured for the selected interface element."
    },
    "boundingRect": {
      "type": "object",
      "description": "Viewport-relative selected-element rectangle supplied by the review SDK."
    },
    "viewport": {
      "type": "object",
      "description": "Viewport dimensions associated with the captured review context."
    },
    "component": {
      "type": "object",
      "description": "Component object used by the selected Web App Review action."
    },
    "screenshot": {
      "type": "object",
      "description": "Bounded screenshot metadata and content accepted by screenshot-comment actions."
    },
    "commitSha": {
      "type": "string",
      "description": "Commit sha used by the selected Web App Review action."
    }
  },
  "required": [
    "action"
  ]
}