# _protocols

URL: /milo-cli/api/milo/_protocols/
Section: milo
Description: Protocols — stdlib/typing only, no internal imports.

---

> For a complete page index, fetch /milo-cli/llms.txt.

Open LLM text
(/milo-cli/api/milo/_protocols/index.txt)

Share with AI

Ask Claude
(https://claude.ai/new?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fmilo-cli%2Fapi%2Fmilo%2F_protocols%2Findex.txt)

Ask ChatGPT
(https://chatgpt.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fmilo-cli%2Fapi%2Fmilo%2F_protocols%2Findex.txt)

Ask Gemini
(https://gemini.google.com/app?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fmilo-cli%2Fapi%2Fmilo%2F_protocols%2Findex.txt)

Ask Copilot
(https://copilot.microsoft.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fmilo-cli%2Fapi%2Fmilo%2F_protocols%2Findex.txt)

Module

#
`_protocols`

Protocols — stdlib/typing only, no internal imports.

6Classes

## Classes

`Reducer`

1

▼

#### Methods

Internal Methods
1

▼

`__call__`

2

`Any | ReducerResult`

▼

`def __call__(self, state: Any, action: Action) -> Any | ReducerResult`

##### Parameters

Name
Type
Description

`state`
`—`

`action`
`—`

##### Returns

`Any | ReducerResult`

`Saga`

1

▼

#### Methods

Internal Methods
1

▼

`__call__`

2

`Any`

▼

`def __call__(self, *args: Any, **kwargs: Any) -> Any`

##### Parameters

Name
Type
Description

`*args`
`—`

`**kwargs`
`—`

##### Returns

`Any`

`DispatchFn`

1

▼

#### Methods

Internal Methods
1

▼

`__call__`

1

▼

`def __call__(self, action: Action) -> None`

##### Parameters

Name
Type
Description

`action`
`—`

`Middleware`

1

▼

#### Methods

Internal Methods
1

▼

`__call__`

2

`DispatchFn`

▼

`def __call__(self, dispatch: DispatchFn, get_state: GetStateFn) -> DispatchFn`

##### Parameters

Name
Type
Description

`dispatch`
`—`

`get_state`
`—`

##### Returns

`DispatchFn`

`GetStateFn`

1

▼

#### Methods

Internal Methods
1

▼

`__call__`

0

`Any`

▼

`def __call__(self) -> Any`

##### Returns

`Any`

`FieldValidator`

1

▼

#### Methods

Internal Methods
1

▼

`__call__`

1

`tuple[bool, str]`

▼

`def __call__(self, value: Any) -> tuple[bool, str]`

##### Parameters

Name
Type
Description

`value`
`—`

##### Returns

`tuple[bool, str]`
