---
sidebar:
  hidden: true
title: roboto.action_runtime.action_input.topic_resolver
---
## Module Contents

### InputTopicResolver

```python
class roboto.action_runtime.action_input.topic_resolver.InputTopicResolver(
    roboto_client: Optional[roboto.http.RobotoClient] = None,
    roboto_search: Optional[roboto.roboto_search.RobotoSearch] = None,
)
```

`from roboto.action_runtime.action_input import InputTopicResolver`

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/action_runtime/action_input/topic_resolver.py#L20-L87)

Looks up the topics an action invocation runs on, from the topic selectors declared as its inputs.

A selector names topics by ID, by name, or with a RoboQL query; every field it populates is looked up and the matches are returned together. `resolve_all` returns each topic once, while `resolve` repeats a topic that matches on more than one field.

**Parameters**

- **roboto_client** (`Optional[roboto.http.RobotoClient]`)
- **roboto_search** (`Optional[roboto.roboto_search.RobotoSearch]`)

**Attributes**

- **InputTopicResolver.roboto_client** = `None`
- **InputTopicResolver.roboto_search**

#### InputTopicResolver.resolve()

```python
def resolve(
    topic_selector: roboto.domain.actions.DataSelector,
) -> list[roboto.domain.topics.Topic]
```

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/action_runtime/action_input/topic_resolver.py#L52-L77)

Looks up the topics one selector names. A `dataset_id` on the selector is ignored, with a warning.

**Parameters**

- **topic_selector** (`roboto.domain.actions.DataSelector`)

**Returns**

- `list[roboto.domain.topics.Topic]`

#### InputTopicResolver.resolve_all()

```python
def resolve_all(
    topic_selectors: collections.abc.Sequence[roboto.domain.actions.DataSelector],
) -> list[roboto.domain.topics.Topic]
```

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/action_runtime/action_input/topic_resolver.py#L38-L50)

**Parameters**

- **topic_selectors** (`collections.abc.Sequence[roboto.domain.actions.DataSelector]`)

**Returns**

- `list[roboto.domain.topics.Topic]`

### log

```python
roboto.action_runtime.action_input.topic_resolver.log
```

`from roboto.action_runtime.action_input.topic_resolver import log`

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/action_runtime/action_input/topic_resolver.py#L17-L17)
