;; Title: Miniforge.ai
;; Subtitle: An agentic SDLC / fleet-control platform
;; Author: Christopher Lester
;; Line: Founder, Miniforge.ai (project)
;; Copyright 2025-2026 Christopher Lester (christopher@miniforge.ai)
;;
;; Licensed under the Apache License, Version 2.0 (the "License");
;; you may not use this file except in compliance with the License.
;; You may obtain a copy of the License at
;;
;;     http://www.apache.org/licenses/LICENSE-2.0
;;
;; Unless required by applicable law or agreed to in writing, software
;; distributed under the License is distributed on an "AS IS" BASIS,
;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
;; See the License for the specific language governing permissions and
;; limitations under the License.

(ns ai.miniforge.agent.interface.protocols
  "Protocol and configuration re-exports for the agent public API."
  (:require
   [ai.miniforge.agent.core :as core]
   [ai.miniforge.agent.interface.protocols.agent :as agent-proto]
   [ai.miniforge.agent.interface.protocols.memory :as mem-proto]
   [ai.miniforge.agent.interface.protocols.messaging :as msg-proto]))

;------------------------------------------------------------------------------ Layer 0
;; Protocol and configuration re-exports

(def Agent agent-proto/Agent)
(def AgentLifecycle agent-proto/AgentLifecycle)
(def AgentExecutor agent-proto/AgentExecutor)
(def LLMBackend agent-proto/LLMBackend)
(def Memory mem-proto/Memory)
(def MemoryStore mem-proto/MemoryStore)
(def InterAgentMessaging msg-proto/InterAgentMessaging)
(def MessageRouter msg-proto/MessageRouter)
(def MessageValidator msg-proto/MessageValidator)

(def default-role-configs core/default-role-configs)
(def role-capabilities core/role-capabilities)
(def role-system-prompts core/role-system-prompts)
