{
  "schema": "ausca.mcp_tools.v1",
  "source": "contracts/vendor/openapi.yaml",
  "source_digest": "sha256:fb567a683d462a611ce0664813521630b6cdb6cf5d6c561e6c6dd76b88bfe7cd",
  "server": {
    "name": "ausca",
    "title": "Ausca",
    "version": "1.0.1",
    "description": "Agent infrastructure on demand: discover and control metered, keyless services with explicit pricing, bounded payment authority, and receipt-backed results.",
    "instructions": "Use search and get to resolve an immutable offer before acting. The public MCP transport does not accept wallets or payment credentials and omits the disabled paid-invocation tool. Follow the selected service SKILL.md and use the canonical HTTP invocation resource for paid execution.",
    "website_url": "https://ausca.com",
    "icon_source": "https://ausca.com/favicon.svg",
    "icon_mime_type": "image/svg+xml",
    "icon_size": "any",
    "registry_name": "com.ausca/agent-services",
    "registry_description": "Pay-per-call APIs and MCP services for agents, no accounts or keys, with verifiable receipts."
  },
  "tools": [
    {
      "operation_id": "CancelInvocation",
      "name": "ausca_cancel_invocation",
      "title": "Request bounded cancellation",
      "description": "Request bounded cancellation of one invocation. Cancellation is idempotent, may be refused, and may lose a race with terminal completion.",
      "input_schema": "#/components/schemas/CancelInvocationInput",
      "input_fields": [
        "invocation_id"
      ],
      "result_schema": "#/components/schemas/CancelInvocationResult",
      "input_json_schema": {
        "$defs": {
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          }
        },
        "$id": "urn:ausca:mcp:CancelInvocation:input:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "invocation_id": {
            "$ref": "#/$defs/Identifier"
          }
        },
        "required": [
          "invocation_id"
        ],
        "type": "object"
      },
      "output_json_schema": {
        "$defs": {
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          },
          "InvocationState": {
            "additionalProperties": false,
            "properties": {
              "invocation_id": {
                "$ref": "#/$defs/Identifier"
              },
              "offer_revision_digest": {
                "$ref": "#/$defs/Digest"
              },
              "output": {},
              "output_digest": {
                "$ref": "#/$defs/Digest"
              },
              "receipt_ref": {
                "$ref": "#/$defs/ReceiptReference"
              },
              "state": {
                "enum": [
                  "admitted",
                  "running",
                  "succeeded",
                  "failed",
                  "cancellation_requested",
                  "cancelled"
                ],
                "type": "string"
              },
              "updated_at": {
                "format": "date-time",
                "type": "string"
              }
            },
            "required": [
              "invocation_id",
              "offer_revision_digest",
              "state",
              "updated_at"
            ],
            "type": "object"
          },
          "ReceiptReference": {
            "additionalProperties": false,
            "properties": {
              "type": {
                "const": "receipt"
              },
              "uri": {
                "maxLength": 512,
                "minLength": 14,
                "pattern": "^runx:receipt:.+$",
                "type": "string"
              }
            },
            "required": [
              "type",
              "uri"
            ],
            "type": "object"
          },
          "RefusedResult": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "enum": [
                  "offer_unavailable",
                  "schema_mismatch",
                  "quote_expired",
                  "terms_changed",
                  "replay_conflict",
                  "payment_authority_required",
                  "payment_not_authorized",
                  "capacity_unavailable",
                  "not_found",
                  "cancellation_not_available",
                  "artifact_gone"
                ],
                "type": "string"
              },
              "reason": {
                "maxLength": 512,
                "minLength": 1,
                "type": "string"
              },
              "status": {
                "const": "refused"
              }
            },
            "required": [
              "status",
              "code",
              "reason"
            ],
            "type": "object"
          }
        },
        "$id": "urn:ausca:mcp:CancelInvocation:output:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "invocation": {
                "$ref": "#/$defs/InvocationState"
              },
              "status": {
                "enum": [
                  "cancellation_requested",
                  "already_terminal"
                ],
                "type": "string"
              }
            },
            "required": [
              "status",
              "invocation"
            ],
            "type": "object"
          },
          {
            "$ref": "#/$defs/RefusedResult"
          }
        ],
        "type": "object"
      },
      "read_only": false,
      "destructive": true,
      "idempotent": true,
      "open_world": true,
      "enabled_by_default": true
    },
    {
      "operation_id": "GetInvocation",
      "name": "ausca_get_invocation",
      "title": "Read authoritative invocation state",
      "description": "Read the authoritative durable state, output commitment, and receipt reference for one invocation without creating a new purchase or retry identity.",
      "input_schema": "#/components/schemas/GetInvocationInput",
      "input_fields": [
        "invocation_id"
      ],
      "result_schema": "#/components/schemas/GetInvocationResult",
      "input_json_schema": {
        "$defs": {
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          }
        },
        "$id": "urn:ausca:mcp:GetInvocation:input:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "invocation_id": {
            "$ref": "#/$defs/Identifier"
          }
        },
        "required": [
          "invocation_id"
        ],
        "type": "object"
      },
      "output_json_schema": {
        "$defs": {
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          },
          "InvocationState": {
            "additionalProperties": false,
            "properties": {
              "invocation_id": {
                "$ref": "#/$defs/Identifier"
              },
              "offer_revision_digest": {
                "$ref": "#/$defs/Digest"
              },
              "output": {},
              "output_digest": {
                "$ref": "#/$defs/Digest"
              },
              "receipt_ref": {
                "$ref": "#/$defs/ReceiptReference"
              },
              "state": {
                "enum": [
                  "admitted",
                  "running",
                  "succeeded",
                  "failed",
                  "cancellation_requested",
                  "cancelled"
                ],
                "type": "string"
              },
              "updated_at": {
                "format": "date-time",
                "type": "string"
              }
            },
            "required": [
              "invocation_id",
              "offer_revision_digest",
              "state",
              "updated_at"
            ],
            "type": "object"
          },
          "ReceiptReference": {
            "additionalProperties": false,
            "properties": {
              "type": {
                "const": "receipt"
              },
              "uri": {
                "maxLength": 512,
                "minLength": 14,
                "pattern": "^runx:receipt:.+$",
                "type": "string"
              }
            },
            "required": [
              "type",
              "uri"
            ],
            "type": "object"
          },
          "RefusedResult": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "enum": [
                  "offer_unavailable",
                  "schema_mismatch",
                  "quote_expired",
                  "terms_changed",
                  "replay_conflict",
                  "payment_authority_required",
                  "payment_not_authorized",
                  "capacity_unavailable",
                  "not_found",
                  "cancellation_not_available",
                  "artifact_gone"
                ],
                "type": "string"
              },
              "reason": {
                "maxLength": 512,
                "minLength": 1,
                "type": "string"
              },
              "status": {
                "const": "refused"
              }
            },
            "required": [
              "status",
              "code",
              "reason"
            ],
            "type": "object"
          }
        },
        "$id": "urn:ausca:mcp:GetInvocation:output:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "invocation": {
                "$ref": "#/$defs/InvocationState"
              },
              "status": {
                "const": "ok"
              }
            },
            "required": [
              "status",
              "invocation"
            ],
            "type": "object"
          },
          {
            "$ref": "#/$defs/RefusedResult"
          }
        ],
        "type": "object"
      },
      "read_only": true,
      "destructive": false,
      "idempotent": true,
      "open_world": false,
      "enabled_by_default": true
    },
    {
      "operation_id": "GetOffer",
      "name": "ausca_get_offer",
      "title": "Resolve an active or pinned offer revision",
      "description": "Resolve one active offer or an exact immutable revision, including the schema and revision digests required to construct a valid invocation envelope.",
      "input_schema": "#/components/schemas/GetOfferInput",
      "input_fields": [
        "offer_id",
        "revision_digest"
      ],
      "result_schema": "#/components/schemas/GetOfferResult",
      "input_json_schema": {
        "$defs": {
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          }
        },
        "$id": "urn:ausca:mcp:GetOffer:input:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "offer_id": {
            "$ref": "#/$defs/Identifier"
          },
          "revision_digest": {
            "$ref": "#/$defs/Digest"
          }
        },
        "required": [
          "offer_id"
        ],
        "type": "object"
      },
      "output_json_schema": {
        "$defs": {
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          },
          "OfferSummary": {
            "additionalProperties": false,
            "properties": {
              "description": {
                "maxLength": 2000,
                "type": "string"
              },
              "input_schema_digest": {
                "$ref": "#/$defs/Digest"
              },
              "offer_id": {
                "$ref": "#/$defs/Identifier"
              },
              "offer_revision": {
                "$ref": "#/$defs/Identifier"
              },
              "offer_revision_digest": {
                "$ref": "#/$defs/Digest"
              },
              "output_schema_digest": {
                "$ref": "#/$defs/Digest"
              },
              "title": {
                "maxLength": 120,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "offer_id",
              "offer_revision",
              "offer_revision_digest",
              "input_schema_digest",
              "output_schema_digest",
              "title"
            ],
            "type": "object"
          }
        },
        "$id": "urn:ausca:mcp:GetOffer:output:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "offer": {
            "$ref": "#/$defs/OfferSummary"
          },
          "status": {
            "const": "ok"
          }
        },
        "required": [
          "status",
          "offer"
        ],
        "type": "object"
      },
      "read_only": true,
      "destructive": false,
      "idempotent": true,
      "open_world": false,
      "enabled_by_default": true
    },
    {
      "operation_id": "InvokeOffer",
      "name": "ausca_invoke_offer",
      "title": "Admit or replay one invocation",
      "description": "Admit or replay one idempotent paid invocation when settlement authority is supplied by the host boundary. The public MCP transport keeps this tool disabled; paid callers use the canonical HTTP resource.",
      "input_schema": "#/components/schemas/InvokeOfferRequest",
      "input_fields": [
        "canonicalizer_version",
        "idempotency_key",
        "input",
        "input_schema_digest",
        "offer_id",
        "offer_revision",
        "offer_revision_digest",
        "output_schema_digest",
        "parent_binding"
      ],
      "result_schema": "#/components/schemas/InvokeOfferResult",
      "input_json_schema": {
        "$defs": {
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          },
          "ParentBinding": {
            "additionalProperties": false,
            "properties": {
              "execution_digest": {
                "$ref": "#/$defs/Digest"
              },
              "invocation_id": {
                "$ref": "#/$defs/Identifier"
              }
            },
            "required": [
              "invocation_id",
              "execution_digest"
            ],
            "type": "object"
          }
        },
        "$id": "urn:ausca:mcp:InvokeOffer:input:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "canonicalizer_version": {
            "const": "runx.receipt.c14n.v1"
          },
          "idempotency_key": {
            "maxLength": 128,
            "minLength": 16,
            "type": "string"
          },
          "input": {},
          "input_schema_digest": {
            "$ref": "#/$defs/Digest"
          },
          "offer_id": {
            "$ref": "#/$defs/Identifier"
          },
          "offer_revision": {
            "$ref": "#/$defs/Identifier"
          },
          "offer_revision_digest": {
            "$ref": "#/$defs/Digest"
          },
          "output_schema_digest": {
            "$ref": "#/$defs/Digest"
          },
          "parent_binding": {
            "$ref": "#/$defs/ParentBinding"
          }
        },
        "required": [
          "offer_id",
          "offer_revision",
          "offer_revision_digest",
          "input_schema_digest",
          "output_schema_digest",
          "canonicalizer_version",
          "input",
          "idempotency_key"
        ],
        "type": "object"
      },
      "output_json_schema": {
        "$defs": {
          "AcceptedInvocation": {
            "additionalProperties": false,
            "properties": {
              "invocation": {
                "$ref": "#/$defs/InvocationState"
              },
              "status": {
                "const": "accepted"
              }
            },
            "required": [
              "status",
              "invocation"
            ],
            "type": "object"
          },
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          },
          "InvocationState": {
            "additionalProperties": false,
            "properties": {
              "invocation_id": {
                "$ref": "#/$defs/Identifier"
              },
              "offer_revision_digest": {
                "$ref": "#/$defs/Digest"
              },
              "output": {},
              "output_digest": {
                "$ref": "#/$defs/Digest"
              },
              "receipt_ref": {
                "$ref": "#/$defs/ReceiptReference"
              },
              "state": {
                "enum": [
                  "admitted",
                  "running",
                  "succeeded",
                  "failed",
                  "cancellation_requested",
                  "cancelled"
                ],
                "type": "string"
              },
              "updated_at": {
                "format": "date-time",
                "type": "string"
              }
            },
            "required": [
              "invocation_id",
              "offer_revision_digest",
              "state",
              "updated_at"
            ],
            "type": "object"
          },
          "ReceiptReference": {
            "additionalProperties": false,
            "properties": {
              "type": {
                "const": "receipt"
              },
              "uri": {
                "maxLength": 512,
                "minLength": 14,
                "pattern": "^runx:receipt:.+$",
                "type": "string"
              }
            },
            "required": [
              "type",
              "uri"
            ],
            "type": "object"
          },
          "RefusedResult": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "enum": [
                  "offer_unavailable",
                  "schema_mismatch",
                  "quote_expired",
                  "terms_changed",
                  "replay_conflict",
                  "payment_authority_required",
                  "payment_not_authorized",
                  "capacity_unavailable",
                  "not_found",
                  "cancellation_not_available",
                  "artifact_gone"
                ],
                "type": "string"
              },
              "reason": {
                "maxLength": 512,
                "minLength": 1,
                "type": "string"
              },
              "status": {
                "const": "refused"
              }
            },
            "required": [
              "status",
              "code",
              "reason"
            ],
            "type": "object"
          },
          "ReplayedInvocation": {
            "additionalProperties": false,
            "properties": {
              "invocation": {
                "$ref": "#/$defs/InvocationState"
              },
              "status": {
                "const": "replayed"
              }
            },
            "required": [
              "status",
              "invocation"
            ],
            "type": "object"
          }
        },
        "$id": "urn:ausca:mcp:InvokeOffer:output:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "$ref": "#/$defs/AcceptedInvocation"
          },
          {
            "$ref": "#/$defs/ReplayedInvocation"
          },
          {
            "$ref": "#/$defs/RefusedResult"
          }
        ],
        "type": "object"
      },
      "read_only": false,
      "destructive": true,
      "idempotent": true,
      "open_world": true,
      "enabled_by_default": false
    },
    {
      "operation_id": "PrepareInvocation",
      "name": "ausca_prepare_invocation",
      "title": "Validate invocation input and return binding terms",
      "description": "Validate one exact invocation envelope and return immutable preparation terms or a typed refusal. Preparation never accepts payment material from model-authored tool arguments.",
      "input_schema": "#/components/schemas/PrepareInvocationRequest",
      "input_fields": [
        "canonicalizer_version",
        "idempotency_key",
        "input",
        "input_schema_digest",
        "offer_id",
        "offer_revision",
        "offer_revision_digest",
        "output_schema_digest",
        "parent_binding"
      ],
      "result_schema": "#/components/schemas/PrepareInvocationResult",
      "input_json_schema": {
        "$defs": {
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          },
          "ParentBinding": {
            "additionalProperties": false,
            "properties": {
              "execution_digest": {
                "$ref": "#/$defs/Digest"
              },
              "invocation_id": {
                "$ref": "#/$defs/Identifier"
              }
            },
            "required": [
              "invocation_id",
              "execution_digest"
            ],
            "type": "object"
          }
        },
        "$id": "urn:ausca:mcp:PrepareInvocation:input:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "canonicalizer_version": {
            "const": "runx.receipt.c14n.v1"
          },
          "idempotency_key": {
            "maxLength": 128,
            "minLength": 16,
            "type": "string"
          },
          "input": {},
          "input_schema_digest": {
            "$ref": "#/$defs/Digest"
          },
          "offer_id": {
            "$ref": "#/$defs/Identifier"
          },
          "offer_revision": {
            "$ref": "#/$defs/Identifier"
          },
          "offer_revision_digest": {
            "$ref": "#/$defs/Digest"
          },
          "output_schema_digest": {
            "$ref": "#/$defs/Digest"
          },
          "parent_binding": {
            "$ref": "#/$defs/ParentBinding"
          }
        },
        "required": [
          "offer_id",
          "offer_revision",
          "offer_revision_digest",
          "input_schema_digest",
          "output_schema_digest",
          "canonicalizer_version",
          "input",
          "idempotency_key"
        ],
        "type": "object"
      },
      "output_json_schema": {
        "$defs": {
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          },
          "PaymentChallenge": {
            "additionalProperties": false,
            "properties": {
              "media_type": {
                "maxLength": 128,
                "minLength": 1,
                "type": "string"
              },
              "payload": {},
              "payload_digest": {
                "$ref": "#/$defs/Digest"
              },
              "protocol_version": {
                "maxLength": 32,
                "minLength": 1,
                "type": "string"
              },
              "quote_expires_at": {
                "format": "date-time",
                "type": "string"
              },
              "quote_ref": {
                "$ref": "#/$defs/Identifier"
              },
              "settlement_family": {
                "maxLength": 64,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "settlement_family",
              "protocol_version",
              "media_type",
              "payload",
              "payload_digest",
              "quote_ref",
              "quote_expires_at"
            ],
            "type": "object"
          },
          "PreparedInvocation": {
            "additionalProperties": false,
            "properties": {
              "challenge": {
                "$ref": "#/$defs/PaymentChallenge"
              },
              "invocation_id": {
                "$ref": "#/$defs/Identifier"
              },
              "status": {
                "const": "prepared"
              }
            },
            "required": [
              "status",
              "invocation_id",
              "challenge"
            ],
            "type": "object"
          },
          "RefusedResult": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "enum": [
                  "offer_unavailable",
                  "schema_mismatch",
                  "quote_expired",
                  "terms_changed",
                  "replay_conflict",
                  "payment_authority_required",
                  "payment_not_authorized",
                  "capacity_unavailable",
                  "not_found",
                  "cancellation_not_available",
                  "artifact_gone"
                ],
                "type": "string"
              },
              "reason": {
                "maxLength": 512,
                "minLength": 1,
                "type": "string"
              },
              "status": {
                "const": "refused"
              }
            },
            "required": [
              "status",
              "code",
              "reason"
            ],
            "type": "object"
          }
        },
        "$id": "urn:ausca:mcp:PrepareInvocation:output:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "$ref": "#/$defs/PreparedInvocation"
          },
          {
            "$ref": "#/$defs/RefusedResult"
          }
        ],
        "type": "object"
      },
      "read_only": false,
      "destructive": false,
      "idempotent": true,
      "open_world": true,
      "enabled_by_default": true
    },
    {
      "operation_id": "SearchOffers",
      "name": "ausca_search_offers",
      "title": "Search immutable offers",
      "description": "Search the current immutable Ausca offer catalog by free-text query. Returns stable offer identities and revision digests without creating product or payment state.",
      "input_schema": "#/components/schemas/SearchOffersInput",
      "input_fields": [
        "cursor",
        "limit",
        "q"
      ],
      "result_schema": "#/components/schemas/SearchOffersResult",
      "input_json_schema": {
        "$defs": {
          "CatalogCursor": {
            "description": "Opaque, catalog-snapshot-bound continuation. Callers must not construct or modify it.",
            "maxLength": 512,
            "minLength": 1,
            "pattern": "^ausca:catalog-cursor:v1:[a-f0-9]{64}:[a-f0-9]{64}:[A-Za-z0-9_-]{2,171}$",
            "type": "string"
          },
          "SearchLimit": {
            "default": 20,
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "SearchQuery": {
            "maxLength": 256,
            "minLength": 1,
            "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
            "type": "string"
          }
        },
        "$id": "urn:ausca:mcp:SearchOffers:input:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "$ref": "#/$defs/CatalogCursor"
          },
          "limit": {
            "$ref": "#/$defs/SearchLimit"
          },
          "q": {
            "$ref": "#/$defs/SearchQuery"
          }
        },
        "type": "object"
      },
      "output_json_schema": {
        "$defs": {
          "CatalogCursor": {
            "description": "Opaque, catalog-snapshot-bound continuation. Callers must not construct or modify it.",
            "maxLength": 512,
            "minLength": 1,
            "pattern": "^ausca:catalog-cursor:v1:[a-f0-9]{64}:[a-f0-9]{64}:[A-Za-z0-9_-]{2,171}$",
            "type": "string"
          },
          "Digest": {
            "pattern": "^sha256:[a-f0-9]{64}$",
            "type": "string"
          },
          "Identifier": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "type": "string"
          },
          "OfferSummary": {
            "additionalProperties": false,
            "properties": {
              "description": {
                "maxLength": 2000,
                "type": "string"
              },
              "input_schema_digest": {
                "$ref": "#/$defs/Digest"
              },
              "offer_id": {
                "$ref": "#/$defs/Identifier"
              },
              "offer_revision": {
                "$ref": "#/$defs/Identifier"
              },
              "offer_revision_digest": {
                "$ref": "#/$defs/Digest"
              },
              "output_schema_digest": {
                "$ref": "#/$defs/Digest"
              },
              "title": {
                "maxLength": 120,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "offer_id",
              "offer_revision",
              "offer_revision_digest",
              "input_schema_digest",
              "output_schema_digest",
              "title"
            ],
            "type": "object"
          }
        },
        "$id": "urn:ausca:mcp:SearchOffers:output:v1",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "next_cursor": {
            "$ref": "#/$defs/CatalogCursor"
          },
          "offers": {
            "items": {
              "$ref": "#/$defs/OfferSummary"
            },
            "maxItems": 100,
            "type": "array"
          },
          "status": {
            "const": "ok"
          }
        },
        "required": [
          "status",
          "offers"
        ],
        "type": "object"
      },
      "read_only": true,
      "destructive": false,
      "idempotent": true,
      "open_world": false,
      "enabled_by_default": true
    }
  ]
}
