{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agoragentic.com/schema/finance-agent-mcp-connection-status.v1.json",
  "title": "Finance Agent MCP Connection Status V1",
  "description": "Redacted owner/admin-only status for a single Robinhood trading/banking MCP connection. Reports connection lifecycle and stop-control state only. This route never invokes MCP tools, dispatches providers, creates live-read routes, or grants live action authority. vault_secret_ref and connection_ref must be bounded redacted references, never raw secrets, tokens, or account/card/payment/wallet values. Every live-authority flag is required false.",
  "type": "object",
  "required": [
    "schema",
    "connector_type",
    "mcp_server_name",
    "endpoint",
    "status",
    "stop_control_state",
    "last_safe_status"
  ],
  "properties": {
    "schema": { "type": "string", "const": "agoragentic.agent-os.finance-agent-mcp-connection-status.v1" },
    "connection_id": { "type": ["string", "null"], "maxLength": 256 },
    "deployment_id": { "type": ["string", "null"] },
    "connector_type": { "type": "string", "enum": ["robinhood_trading", "robinhood_banking"] },
    "mcp_server_name": { "type": "string", "maxLength": 128 },
    "endpoint": { "type": "string", "maxLength": 256 },
    "status": {
      "type": "string",
      "enum": ["connection_required", "connected", "stopped", "disconnected"]
    },
    "vault_secret_ref": {
      "anyOf": [{ "type": "null" }, { "$ref": "#/$defs/bounded_ref" }]
    },
    "connection_ref": {
      "anyOf": [{ "type": "null" }, { "$ref": "#/$defs/bounded_ref" }]
    },
    "stop_control_state": {
      "type": "string",
      "enum": ["not_connected", "active", "stopped", "disconnected"]
    },
    "connected_at": { "type": ["string", "null"] },
    "disconnected_at": { "type": ["string", "null"] },
    "created_at": { "type": ["string", "null"] },
    "updated_at": { "type": ["string", "null"] },
    "last_safe_status": {
      "type": "object",
      "properties": {
        "schema": { "type": "string", "maxLength": 128 },
        "status": { "type": "string", "maxLength": 64 },
        "stop_control_state": { "type": "string", "maxLength": 64 },
        "vault_secret_ref_present": { "type": "boolean" },
        "connection_ref_present": { "type": "boolean" },
        "schema_probe_available": { "type": "boolean", "const": false },
        "tools_visible": { "type": "boolean", "const": false },
        "requires_connection": { "type": "boolean" },
        "owner_authenticated_probe_required": { "type": "boolean" },
        "oauth_flow_started": { "type": "boolean", "const": false },
        "oauth_tokens_excluded": { "type": "boolean", "const": true },
        "raw_robinhood_payload_excluded": { "type": "boolean", "const": true },
        "mcp_tool_invoked": { "type": "boolean", "const": false },
        "provider_dispatch_enabled": { "type": "boolean", "const": false },
        "live_read_performed": { "type": "boolean", "const": false },
        "live_read_route_created": { "type": "boolean", "const": false },
        "route_can_create_live_read_route": { "type": "boolean", "const": false },
        "order_action_performed": { "type": "boolean", "const": false },
        "card_action_performed": { "type": "boolean", "const": false },
        "wallet_mutation_performed": { "type": "boolean", "const": false },
        "x402_settlement_performed": { "type": "boolean", "const": false },
        "public_execute_mutation_performed": { "type": "boolean", "const": false },
        "marketplace_publication_performed": { "type": "boolean", "const": false },
        "capability_publication_performed": { "type": "boolean", "const": false }
      },
      "not": { "$ref": "#/$defs/live_authority_true_flags" },
      "additionalProperties": { "$ref": "#/$defs/nested_live_authority_presence_fields" }
    }
  },
  "not": { "$ref": "#/$defs/live_authority_true_flags" },
  "additionalProperties": { "$ref": "#/$defs/nested_live_authority_presence_fields" },
  "$defs": {
    "live_authority_true_flags": {
      "type": "object",
      "anyOf": [
        { "properties": { "can_execute": { "const": true } }, "required": ["can_execute"] },
        { "properties": { "can_execute_orders": { "const": true } }, "required": ["can_execute_orders"] },
        { "properties": { "can_execute_options_orders": { "const": true } }, "required": ["can_execute_options_orders"] },
        { "properties": { "can_invoke": { "const": true } }, "required": ["can_invoke"] },
        { "properties": { "can_make_purchases": { "const": true } }, "required": ["can_make_purchases"] },
        { "properties": { "external_provider_call_enabled": { "const": true } }, "required": ["external_provider_call_enabled"] },
        { "properties": { "external_provider_call_performed": { "const": true } }, "required": ["external_provider_call_performed"] },
        { "properties": { "live_action_enabled": { "const": true } }, "required": ["live_action_enabled"] },
        { "properties": { "live_action_performed": { "const": true } }, "required": ["live_action_performed"] },
        { "properties": { "live_read_performed": { "const": true } }, "required": ["live_read_performed"] },
        { "properties": { "live_read_route_created": { "const": true } }, "required": ["live_read_route_created"] },
        { "properties": { "live_read_route_enabled": { "const": true } }, "required": ["live_read_route_enabled"] },
        { "properties": { "live_order_placement_enabled": { "const": true } }, "required": ["live_order_placement_enabled"] },
        { "properties": { "live_order_placement_performed": { "const": true } }, "required": ["live_order_placement_performed"] },
        { "properties": { "mcp_dispatch_enabled": { "const": true } }, "required": ["mcp_dispatch_enabled"] },
        { "properties": { "mcp_tool_invoked": { "const": true } }, "required": ["mcp_tool_invoked"] },
        { "properties": { "order_action_performed": { "const": true } }, "required": ["order_action_performed"] },
        { "properties": { "order_cancellation_enabled": { "const": true } }, "required": ["order_cancellation_enabled"] },
        { "properties": { "order_cancellation_performed": { "const": true } }, "required": ["order_cancellation_performed"] },
        { "properties": { "card_action_performed": { "const": true } }, "required": ["card_action_performed"] },
        { "properties": { "card_detail_fetch_enabled": { "const": true } }, "required": ["card_detail_fetch_enabled"] },
        { "properties": { "card_detail_fetch_performed": { "const": true } }, "required": ["card_detail_fetch_performed"] },
        { "properties": { "card_purchase_enabled": { "const": true } }, "required": ["card_purchase_enabled"] },
        { "properties": { "card_purchase_performed": { "const": true } }, "required": ["card_purchase_performed"] },
        { "properties": { "option_order_schema_allowed": { "const": true } }, "required": ["option_order_schema_allowed"] },
        { "properties": { "options_execution_enabled": { "const": true } }, "required": ["options_execution_enabled"] },
        { "properties": { "options_execution_performed": { "const": true } }, "required": ["options_execution_performed"] },
        { "properties": { "provider_dispatch_enabled": { "const": true } }, "required": ["provider_dispatch_enabled"] },
        { "properties": { "provider_dispatch_performed": { "const": true } }, "required": ["provider_dispatch_performed"] },
        { "properties": { "public_execute_enabled": { "const": true } }, "required": ["public_execute_enabled"] },
        { "properties": { "public_execute_mutation_performed": { "const": true } }, "required": ["public_execute_mutation_performed"] },
        { "properties": { "public_route_enabled": { "const": true } }, "required": ["public_route_enabled"] },
        { "properties": { "global_execute_mutation_enabled": { "const": true } }, "required": ["global_execute_mutation_enabled"] },
        { "properties": { "global_invoke_mutation_enabled": { "const": true } }, "required": ["global_invoke_mutation_enabled"] },
        { "properties": { "route_can_create_live_read_route": { "const": true } }, "required": ["route_can_create_live_read_route"] },
        { "properties": { "route_can_dispatch_provider": { "const": true } }, "required": ["route_can_dispatch_provider"] },
        { "properties": { "route_can_execute": { "const": true } }, "required": ["route_can_execute"] },
        { "properties": { "schema_probe_available": { "const": true } }, "required": ["schema_probe_available"] },
        { "properties": { "tools_visible": { "const": true } }, "required": ["tools_visible"] },
        { "properties": { "wallet_mutation_enabled": { "const": true } }, "required": ["wallet_mutation_enabled"] },
        { "properties": { "wallet_mutation_performed": { "const": true } }, "required": ["wallet_mutation_performed"] },
        { "properties": { "x402_readiness_mutation_enabled": { "const": true } }, "required": ["x402_readiness_mutation_enabled"] },
        { "properties": { "x402_settlement_enabled": { "const": true } }, "required": ["x402_settlement_enabled"] },
        { "properties": { "x402_settlement_performed": { "const": true } }, "required": ["x402_settlement_performed"] },
        { "properties": { "marketplace_publication_enabled": { "const": true } }, "required": ["marketplace_publication_enabled"] },
        { "properties": { "marketplace_publication_performed": { "const": true } }, "required": ["marketplace_publication_performed"] },
        { "properties": { "capability_publication_enabled": { "const": true } }, "required": ["capability_publication_enabled"] },
        { "properties": { "capability_publication_performed": { "const": true } }, "required": ["capability_publication_performed"] }
      ]
    },
    "nested_live_authority_presence_fields": {
      "description": "Reject live-authority true flags recursively inside loose connection-status metadata.",
      "not": { "$ref": "#/$defs/live_authority_true_flags" },
      "additionalProperties": { "$ref": "#/$defs/nested_live_authority_presence_fields" },
      "items": { "$ref": "#/$defs/nested_live_authority_presence_fields" }
    },
    "bounded_ref": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "not": {
        "anyOf": [
          { "pattern": "^[a-z][a-z0-9+.-]*://" },
          { "pattern": "^data:" },
          { "pattern": "^[\\[{]" },
          { "pattern": "[\\r\\n]" },
          { "pattern": "([Bb][Ee][Aa][Rr][Ee][Rr]|[Bb][Aa][Ss][Ii][Cc])\\s+[A-Za-z0-9._~+/=-]{8,}" },
          { "pattern": "\\b([Aa][Cc][Cc][Ee][Ss][Ss]|[Rr][Ee][Ff][Rr][Ee][Ss][Hh]|[Aa][Uu][Tt][Hh]|[Oo][Aa][Uu][Tt][Hh])[_-]?[Tt][Oo][Kk][Ee][Nn]\\b" },
          { "pattern": "\\b([Aa][Pp][Ii][_-]?[Kk][Ee][Yy]|[Ss][Ee][Cc][Rr][Ee][Tt]|[Cc][Rr][Ee][Dd][Ee][Nn][Tt][Ii][Aa][Ll]|[Pp][Aa][Ss][Ss][Ww][Oo][Rr][Dd]|[Mm][Ff][Aa]|[Oo][Tt][Pp]|[Cc][Vv][Vv]|[Cc][Vv][Cc]|[Pp][Aa][Nn]|[Ss][Ss][Nn])\\b" }
        ]
      }
    }
  }
}
