Skip to content

Latest commit

 

History

History
73 lines (43 loc) · 4.33 KB

File metadata and controls

73 lines (43 loc) · 4.33 KB
graph LR
    FridayExecutor["FridayExecutor"]
    ToolManager["ToolManager"]
    ActionNode["ActionNode"]
    ApiTools["ApiTools"]
    BasicTools["BasicTools"]
    GeneratedTools["GeneratedTools"]
    FridayExecutor -- "generates" --> ActionNode
    FridayExecutor -- "stores tools in" --> GeneratedTools
    ToolManager -- "manages tools in" --> ApiTools
    ToolManager -- "manages tools in" --> BasicTools
    ToolManager -- "manages tools in" --> GeneratedTools
    ToolManager -- "utilizes" --> ActionNode
    ActionNode -- "defines metadata for" --> ApiTools
    ActionNode -- "defines metadata for" --> BasicTools
    ActionNode -- "defines metadata for" --> GeneratedTools
Loading

CodeBoardingDemoContact

Details

The oscopilot tool management subsystem is designed for dynamic tool handling, centered around the FridayExecutor for initial tool generation and the ToolManager for comprehensive tool lifecycle management. FridayExecutor is responsible for creating and preparing tools, which are standardized as ActionNode instances, and subsequently storing them in the GeneratedTools repository. The ToolManager acts as the central access point, overseeing tools categorized into ApiTools (for external API interactions), BasicTools (for core utilities), and GeneratedTools (for dynamically created tools). All tools, regardless of their origin, are represented by ActionNode to ensure consistent metadata and interaction patterns throughout the system. This architecture facilitates a flexible and extensible tool ecosystem, allowing the agent to adapt and expand its capabilities.

FridayExecutor

Orchestrates the initial lifecycle of tools, focusing on their generation from specifications, repair, and initial storage. It acts as the primary interface for creating and preparing tools, especially those dynamically generated by the agent.

Related Classes/Methods:

ToolManager

Manages the central repository of tools. It provides core functionalities for adding new tools, deleting existing ones, and checking for a tool's existence, ensuring the agent has a discoverable and manageable set of tools. It acts as the primary interface for tool retrieval.

Related Classes/Methods:

ActionNode

Acts as a standardized data structure to represent individual actions or tools. It encapsulates essential metadata such as status, name, type, return value, and description, providing a consistent way to describe tools within the system.

Related Classes/Methods:

ApiTools

A repository for concrete implementations of tools designed to interact with external APIs. These are executable units that extend the agent's reach to external services.

Related Classes/Methods: None

BasicTools

A repository housing fundamental, general-purpose tools that provide core functionalities not necessarily tied to external APIs. These are foundational utilities for the agent's operations.

Related Classes/Methods: None

GeneratedTools

A repository serving as the storage location for tools that are dynamically created by the agent itself during runtime. This enables the agent to learn and adapt by extending its own toolset, a key aspect of self-improvement.

Related Classes/Methods: None