Skip to content

pool

Class info

Classes

Name Children Inherits
PoolResourceProvider
llmling_agent.resource_providers.pool
Provider that exposes an AgentPool's resources.
    ResourceProvider
    llmling_agent.resource_providers.base
    Base class for resource providers.

    🛈 DocStrings

    PoolResourceProvider

    Bases: ResourceProvider

    Provider that exposes an AgentPool's resources.

    Source code in src/llmling_agent/resource_providers/pool.py
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    class PoolResourceProvider(ResourceProvider):
        """Provider that exposes an AgentPool's resources."""
    
        def __init__(
            self,
            pool: AgentPool[Any],
            name: str | None = None,
            zed_mode: bool = False,
        ):
            """Initialize provider with agent pool.
    
            Args:
                pool: Agent pool to expose resources from
                name: Optional name override (defaults to pool name)
                zed_mode: Whether to enable Zed mode
            """
            super().__init__(name=name or repr(pool))
            self.pool = pool
            self.zed_mode = zed_mode
    
        async def get_tools(self) -> list[ToolInfo]:
            """Get tools from all agents in pool."""
            tools: list[ToolInfo] = []
            for agent in self.pool.agents.values():
                try:
                    tool = agent.to_tool()
                    tools.append(tool)
                except Exception:
                    logger.exception("Failed to create tool from agent: %s", agent.name)
                    continue
            return tools
    
        async def get_prompts(self) -> list[BasePrompt]:
            """Get prompts from pool's manifest."""
            prompts: list[Any] = []
            # if self.pool.manifest.prompts:
            #     prompts.extend(self.pool.manifest.prompts.system_prompts.values())
    
            # if self.zed_mode:
            #     prompts = prepare_prompts_for_zed(prompts)
    
            return prompts
    
        async def get_resources(self) -> list[ResourceInfo]:
            """Get resources from pool's manifest."""
            # Here we could expose knowledge bases or other resources from manifest
            return []
    

    __init__

    __init__(pool: AgentPool[Any], name: str | None = None, zed_mode: bool = False)
    

    Initialize provider with agent pool.

    Parameters:

    Name Type Description Default
    pool AgentPool[Any]

    Agent pool to expose resources from

    required
    name str | None

    Optional name override (defaults to pool name)

    None
    zed_mode bool

    Whether to enable Zed mode

    False
    Source code in src/llmling_agent/resource_providers/pool.py
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    def __init__(
        self,
        pool: AgentPool[Any],
        name: str | None = None,
        zed_mode: bool = False,
    ):
        """Initialize provider with agent pool.
    
        Args:
            pool: Agent pool to expose resources from
            name: Optional name override (defaults to pool name)
            zed_mode: Whether to enable Zed mode
        """
        super().__init__(name=name or repr(pool))
        self.pool = pool
        self.zed_mode = zed_mode
    

    get_prompts async

    get_prompts() -> list[BasePrompt]
    

    Get prompts from pool's manifest.

    Source code in src/llmling_agent/resource_providers/pool.py
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    async def get_prompts(self) -> list[BasePrompt]:
        """Get prompts from pool's manifest."""
        prompts: list[Any] = []
        # if self.pool.manifest.prompts:
        #     prompts.extend(self.pool.manifest.prompts.system_prompts.values())
    
        # if self.zed_mode:
        #     prompts = prepare_prompts_for_zed(prompts)
    
        return prompts
    

    get_resources async

    get_resources() -> list[ResourceInfo]
    

    Get resources from pool's manifest.

    Source code in src/llmling_agent/resource_providers/pool.py
    62
    63
    64
    65
    async def get_resources(self) -> list[ResourceInfo]:
        """Get resources from pool's manifest."""
        # Here we could expose knowledge bases or other resources from manifest
        return []
    

    get_tools async

    get_tools() -> list[ToolInfo]
    

    Get tools from all agents in pool.

    Source code in src/llmling_agent/resource_providers/pool.py
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    async def get_tools(self) -> list[ToolInfo]:
        """Get tools from all agents in pool."""
        tools: list[ToolInfo] = []
        for agent in self.pool.agents.values():
            try:
                tool = agent.to_tool()
                tools.append(tool)
            except Exception:
                logger.exception("Failed to create tool from agent: %s", agent.name)
                continue
        return tools