#  Copyright (c) 2026 Cisco Systems, Inc. and its affiliates
#  SPDX-License-Identifier: Apache-2.0
# Effective bind — generated by mas-ctl compose; input to runtime/placement adapters
$schema: http://json-schema.org/draft-07/schema#
title: EffectiveBind
type: object
required: [mas_id, runtime_id, agents]
additionalProperties: false
properties:
  mas_id: { type: string }
  spec_revision: { type: string }
  runtime_id:
    type: string
    enum: [mas-runtime-py]
    description: Registered runtime id (component-registry.yaml)
  deployment_name: { type: string }
  bus_kind:
    type: string
    enum: [inproc, unix, grpc, k8s]
  agents:
    type: array
    minItems: 1
    items:
      type: object
      required: [agent_id]
      additionalProperties: false
      properties:
        agent_id: { type: string }
        pattern_plugin_id:
          type: string
          description: >
            Compose-resolved registry id (from agent spec.design_pattern.type/ref).
            Not user-authored; do not put in PlacementPlan.
        manifest_path: { type: string }
        bind_address: { type: string }
        framework_adapter:
          type: string
          enum: [native, langgraph, crewai]
        llm_ref: { type: string }
        tools_ref: { type: string }
  global_infra:
    type: object
    additionalProperties: { type: string }
