CloudBoosterDocs

aws_resolve_composition

Resolve proposed components into a concrete composition

aws_resolve_composition

Resolve a list of proposed components into a concrete composition.

Takes the candidate list produced by aws_propose_components and returns a ResolvedPlan with auto-completed dependencies, deploy order, and any conflicts the planner detected.

  • Family: composition
  • Source: cbx-mcp/src/cbx_mcp/tools/compose.py::aws_resolve_composition
  • Backend: POST /v1/compose/aws/resolve

Input schema

{
  "type": "object",
  "properties": {
    "components": {
      "type": "array",
      "minItems": 1,
      "description": "Ranked component candidates to resolve. Must contain at least one item.",
      "items": {
        "type": "object",
        "properties": {
          "type_id":      { "type": "string" },
          "display_name": { "type": "string" },
          "explanation":  { "type": "string" },
          "rank_score":   { "type": "number" },
          "name":         { "type": ["string", "null"] },
          "desired_input": { "type": "object" }
        },
        "required": ["type_id", "display_name", "explanation", "rank_score"]
      }
    }
  },
  "required": ["components"]
}

Each item must be a full ComponentCandidate — the four fields type_id, display_name, explanation, and rank_score are required. The list itself must be non-empty (min_length=1 on the backend).

Output schema

{
  "type": "object",
  "properties": {
    "isError": { "type": "boolean" },
    "result": {
      "type": "object",
      "properties": {
        "plan": {
          "type": "object",
          "properties": {
            "components":     { "type": "array",  "items": { "type": "object" } },
            "deploy_order":   { "type": "array",  "items": { "type": "string" } },
            "errors":         { "type": "array",  "items": { "type": "string" } },
            "warnings":       { "type": "array",  "items": { "type": "string" } },
            "auto_completed": { "type": "array",  "items": { "type": "object" } },
            "conflicts":      { "type": "array",  "items": { "type": "string" } },
            "rule_set_hash":  { "type": ["string", "null"] }
          },
          "required": [
            "components",
            "deploy_order",
            "errors",
            "warnings",
            "auto_completed",
            "conflicts"
          ]
        }
      },
      "required": ["plan"]
    },
    "error": { "type": "string" }
  },
  "required": ["isError"]
}

Example call

{
  "name": "aws_resolve_composition",
  "arguments": {
    "components": [
      {
        "type_id": "aws:s3/bucket@v1",
        "display_name": "S3 Bucket",
        "explanation": "Object storage for static assets",
        "rank_score": 0.95
      }
    ]
  }
}

Example result

Illustrative — values follow the backend's published OpenAPI example for this route. auto_completed and conflicts are typically populated when the resolver injects implicit dependencies or detects rule-set violations.

{
  "isError": false,
  "result": {
    "plan": {
      "components": [
        { "type_id": "aws:s3/bucket@v1", "name": "bucket" }
      ],
      "deploy_order": ["bucket"],
      "errors": [],
      "warnings": [],
      "auto_completed": [],
      "conflicts": [],
      "rule_set_hash": null
    }
  }
}

On this page