{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/stormmcp/json-schema/stormmcp-approval-tool-scope-request-schema.json",
  "title": "ApprovalToolScopeRequest",
  "description": "One principal's tool scope on a library (MCPG-1649, PRD AS5): the App Settings tool\nselector's per-view save. The enum reaches the TypeScript client by DTO reference —\ndeliberately NOT registered in `StandaloneEnumSchemaProcessor`.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stormmcp-approvals-api-openapi.yml#/components/schemas/ApprovalToolScopeRequest",
  "required": [
    "toolMode"
  ],
  "type": "object",
  "properties": {
    "toolMode": {
      "description": "Gets the tool scope. ApprovalToolMode.All is symbolic and must carry an\nempty IReadOnlyList&lt;string&gt; ApprovalToolScopeRequest.SelectedToolNames.",
      "$ref": "#/$defs/ApprovalToolMode"
    },
    "selectedToolNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Gets the selected upstream tool names — canonicalized (trim / dedupe / sort) at the\nwrite boundary; meaningful only when ApprovalToolMode ApprovalToolScopeRequest.ToolMode is\nApprovalToolMode.Selected."
    }
  },
  "$defs": {
    "ApprovalToolMode": {
      "type": "integer"
    }
  }
}