# Copyright 2026 zhaoxi826 # # 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. from pydantic import Field from kilostar.core.work.workflow.workflow import WorkflowStep from kilostar.utils.agent_model import ResponseModel, InputModel, DepsModel class ControlNodeResponse(ResponseModel): """控制节点回复的基类""" pass class ControlNodeInput(InputModel): """ControlNodeInput 核心组件类。 这是一个系统执行节点类,作为多智能体架构中的独立处理单元。它能够接收工作流上下文,根据内置的大模型策略进行意图理解和自主决策,从而驱动特定阶段的任务闭环。""" pass class ControlNodeDeps(DepsModel): """ControlNodeDeps 核心组件类。 这是一个系统执行节点类,作为多智能体架构中的独立处理单元。它能够接收工作流上下文,根据内置的大模型策略进行意图理解和自主决策,从而驱动特定阶段的任务闭环。""" workflow_step: WorkflowStep workflow_step: WorkflowStep # In the future, this can be dynamically populated with tools specific to the current task execution class ForWorkflow(ControlNodeResponse): """ForWorkflow 核心组件类。 这是一个领域数据模型或功能封装类,承载了 ForWorkflow 相关的内聚属性定义与状态维护。它的存在隔离了局部的业务复杂性,并对外提供了类型安全的访问接口。""" output: str = Field( ..., description="控制节点执行特定工作流步骤的结果。包含执行细节和输出数据。" ) class ForWorkflowInput(ControlNodeInput): """ForWorkflowInput 核心组件类。 这是一个领域数据模型或功能封装类,承载了 ForWorkflowInput 相关的内聚属性定义与状态维护。它的存在隔离了局部的业务复杂性,并对外提供了类型安全的访问接口。""" workflow_step: WorkflowStep