Metadata-Version: 2.3
Name: agntcy-iomapper
Version: 0.2.1
Summary: A tool to transform output from one agent to the input of another.
License: Apache-2.0
Author: AGNTCY Internet of Agents Collective
Author-email: pypi@agntcy.io
Maintainer: AGNTCY Internet of Agents Collective
Maintainer-email: pypi@agntcy.io
Requires-Python: >=3.9.0,<4.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: langgraph
Provides-Extra: pydantic-ai
Requires-Dist: aiofiles (>=24.1.0,<25.0.0)
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
Requires-Dist: jsonpath-ng (>=1.7.0,<2.0.0)
Requires-Dist: jsonref (>=1.1.0,<2.0.0)
Requires-Dist: jsonschema[format] (>=4.23.0,<5.0.0)
Requires-Dist: langchain (>=0.3.19,<0.4.0) ; extra == "langgraph"
Requires-Dist: langchain-openai (>=0.3.6,<0.4.0) ; extra == "langgraph"
Requires-Dist: langgraph (>=0.3.16,<0.4.0) ; extra == "langgraph"
Requires-Dist: llama-index (>=0.12.20,<0.13.0)
Requires-Dist: openapi-pydantic (>=0.5.1,<0.6.0)
Requires-Dist: pydantic (>=2.10.6,<3.0.0)
Requires-Dist: pydantic-ai (>=0.0.23,<0.0.24) ; extra == "pydantic-ai"
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
Project-URL: Documentation, https://docs.agntcy.org/pages/semantic_sdk/io_mapper.html
Project-URL: Homepage, https://github.com/agntcy/iomapper-agnt
Project-URL: Issues, https://github.com/agntcy/iomapper-agnt/issues
Project-URL: Source, https://github.com/agntcy/iomapper-agnt
Description-Content-Type: text/markdown

# IO-Mapper Agent

[![Contributor-Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-fbab2c.svg)](https://github.com/agntcy/acp-sdk/blob/main/CODE_OF_CONDUCT.md)

## About The Project

When connecting agents in an application, the output of one agent needs to be compatible with the input of the following agent. This compatibility needs to be guaranteed at three different levels:

1. transport level: the two agents need to use the same transport protocol.
2. format level: the two agents need to carry information using the same format (e.g. same JSON data structures)
3. semantic level: the two agents need to “talk about the same thing”.

Communication between agents is not possible if there are discrepancies between the agents at any of the layers [1-3].

Ensuring that agents are semantically compatible, i.e., the output of the one agent contains the information needed
by later agents, is an problem of composition or planning in the application. This project, the IO Mapper Agent,
addresses level 2 and 3 compatibility. It is a component, implemented as an agent, that can make use of an LLM
to transform the output of one agent to become compatible to the input of another agent. Note that this may mean
many different things, for example:

- JSON structure transcoding: A JSON dictionary needs to be remapped into another JSON dictionary
- Text summarisation: A text needs to be summarised or some information needs to be removed
- Text translation: A text needs to be translated from one language to another
- Text manipulation: Part of the information of one text needs to be reformulated into another text
- Any combination of the above

The IO mapper Agent can be fed the schema definitions of inputs and outputs as defined by the [Agent Connect Protocol](https://github.com/agntcy/acp-spec).

## Getting Started

To get a local copy up and running follow these simple steps.

### Prerequisites

### Installation

1. Clone the repository

   ```sh
   git clone https://github.com/agntcy/iomapper-agnt.git
   ```

## Usage

Learn how to use our different Mappers
[USAGE.md](https://agntcy.github.io/iomapper-agnt/#_usage.md)

## Contributing

Contributions are what make the open source community such an amazing place to
learn, inspire, and create. Any contributions you make are **greatly
appreciated**. For detailed contributing guidelines, please see
[CONTRIBUTING.md](https://github.com/agntcy/acp-sdk/blob/main/docs/CONTRIBUTING.md)

## Copyright Notice

[Copyright Notice and License](./LICENSE)

Distributed under Apache 2.0 License. See LICENSE for more information.
Copyright AGNTCY Contributors (https://github.com/agntcy)

