idun-agent-schema 0.1.4__tar.gz → 0.1.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of idun-agent-schema might be problematic. Click here for more details.

Files changed (23) hide show
  1. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/.gitignore +206 -206
  2. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/PKG-INFO +1 -1
  3. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/README.md +18 -18
  4. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/pyproject.toml +1 -1
  5. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/__init__.py +10 -10
  6. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/engine/__init__.py +11 -12
  7. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/engine/agent.py +16 -16
  8. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/engine/api.py +29 -29
  9. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/engine/config.py +5 -9
  10. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/engine/haystack.py +13 -13
  11. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/engine/langgraph.py +47 -47
  12. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/engine/server.py +15 -15
  13. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/manager/__init__.py +50 -50
  14. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/manager/api.py +158 -158
  15. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/manager/deployments.py +12 -12
  16. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/manager/deps.py +14 -14
  17. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/manager/domain.py +276 -276
  18. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/manager/dto.py +131 -131
  19. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/manager/errors.py +22 -22
  20. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/manager/settings.py +161 -161
  21. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/shared/__init__.py +5 -5
  22. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/shared/observability.py +56 -56
  23. {idun_agent_schema-0.1.4 → idun_agent_schema-0.1.5}/src/idun_agent_schema/py.typed +0 -0
@@ -1,206 +1,206 @@
1
- # Byte-compiled / optimized / DLL files
2
- __pycache__/
3
- *.py[cod]
4
- *$py.class
5
-
6
- # C extensions
7
- *.so
8
- .DS_Store
9
- # Distribution / packaging
10
- .Python
11
- build/
12
- develop-eggs/
13
- dist/
14
- downloads/
15
- eggs/
16
- .eggs/
17
- lib/
18
- lib64/
19
- parts/
20
- sdist/
21
- var/
22
- wheels/
23
- share/python-wheels/
24
- *.egg-info/
25
- .installed.cfg
26
- *.egg
27
- MANIFEST
28
-
29
- # PyInstaller
30
- # Usually these files are written by a python script from a template
31
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
- *.manifest
33
- *.spec
34
-
35
- # Installer logs
36
- pip-log.txt
37
- pip-delete-this-directory.txt
38
-
39
- # Unit test / coverage reports
40
- htmlcov/
41
- .tox/
42
- .nox/
43
- .coverage
44
- .coverage.*
45
- .cache
46
- nosetests.xml
47
- coverage.xml
48
- *.cover
49
- *.py,cover
50
- .hypothesis/
51
- .pytest_cache/
52
- cover/
53
-
54
- # Translations
55
- *.mo
56
- *.pot
57
-
58
- # Django stuff:
59
- *.log
60
- local_settings.py
61
- db.sqlite3
62
- db.sqlite3-journal
63
-
64
- # Flask stuff:
65
- instance/
66
- .webassets-cache
67
-
68
- # Scrapy stuff:
69
- .scrapy
70
-
71
- # Sphinx documentation
72
- docs/_build/
73
-
74
- # PyBuilder
75
- .pybuilder/
76
- target/
77
-
78
- # Jupyter Notebook
79
- .ipynb_checkpoints
80
-
81
- # IPython
82
- profile_default/
83
- ipython_config.py
84
-
85
- # pyenv
86
- # For a library or package, you might want to ignore these files since the code is
87
- # intended to run in multiple environments; otherwise, check them in:
88
- # .python-version
89
-
90
- # pipenv
91
- # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
- # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
- # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
- # install all needed dependencies.
95
- #Pipfile.lock
96
-
97
- # UV
98
- # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99
- # This is especially recommended for binary packages to ensure reproducibility, and is more
100
- # commonly ignored for libraries.
101
- #uv.lock
102
-
103
- # poetry
104
- # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
- # This is especially recommended for binary packages to ensure reproducibility, and is more
106
- # commonly ignored for libraries.
107
- # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
- #poetry.lock
109
-
110
- # pdm
111
- # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112
- #pdm.lock
113
- # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114
- # in version control.
115
- # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116
- .pdm.toml
117
- .pdm-python
118
- .pdm-build/
119
-
120
- # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121
- __pypackages__/
122
-
123
- # Celery stuff
124
- celerybeat-schedule
125
- celerybeat.pid
126
-
127
- # SageMath parsed files
128
- *.sage.py
129
-
130
- # Environments
131
- .env
132
- .venv
133
- env/
134
- venv/
135
- ENV/
136
- env.bak/
137
- venv.bak/
138
-
139
- # Spyder project settings
140
- .spyderproject
141
- .spyproject
142
-
143
- # Rope project settings
144
- .ropeproject
145
-
146
- # mkdocs documentation
147
- /site
148
-
149
- # mypy
150
- .mypy_cache/
151
- .dmypy.json
152
- dmypy.json
153
-
154
- # Pyre type checker
155
- .pyre/
156
-
157
- # pytype static type analyzer
158
- .pytype/
159
-
160
- # Cython debug symbols
161
- cython_debug/
162
-
163
- # PyCharm
164
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166
- # and can be added to the global gitignore or merged into this file. For a more nuclear
167
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
168
- #.idea/
169
-
170
- # Ruff stuff:
171
- .ruff_cache/
172
-
173
- # PyPI configuration file
174
- .pypirc
175
-
176
- # Database files
177
- *.db
178
- *.db-shm
179
- *.db-wai
180
- *.db-journal*
181
- *.sqlite
182
- *.sqlite3
183
- agents.db
184
- checkpoint_async.db
185
-
186
- # Python virtual environment
187
- .venv/
188
- venv/
189
- ENV/
190
-
191
- # Python cache
192
- __pycache__/
193
- *.pyc
194
- *.pyo
195
- *.pyd
196
-
197
- # Poetry
198
- poetry.lock
199
-
200
- # Environment variables
201
- .env
202
-
203
- # Custom Gitignore for Idun
204
- *.db-wal
205
- .DS_Store
206
- *.DS_Store
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+ .DS_Store
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # UV
98
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ #uv.lock
102
+
103
+ # poetry
104
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
+ #poetry.lock
109
+
110
+ # pdm
111
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112
+ #pdm.lock
113
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114
+ # in version control.
115
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116
+ .pdm.toml
117
+ .pdm-python
118
+ .pdm-build/
119
+
120
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121
+ __pypackages__/
122
+
123
+ # Celery stuff
124
+ celerybeat-schedule
125
+ celerybeat.pid
126
+
127
+ # SageMath parsed files
128
+ *.sage.py
129
+
130
+ # Environments
131
+ .env
132
+ .venv
133
+ env/
134
+ venv/
135
+ ENV/
136
+ env.bak/
137
+ venv.bak/
138
+
139
+ # Spyder project settings
140
+ .spyderproject
141
+ .spyproject
142
+
143
+ # Rope project settings
144
+ .ropeproject
145
+
146
+ # mkdocs documentation
147
+ /site
148
+
149
+ # mypy
150
+ .mypy_cache/
151
+ .dmypy.json
152
+ dmypy.json
153
+
154
+ # Pyre type checker
155
+ .pyre/
156
+
157
+ # pytype static type analyzer
158
+ .pytype/
159
+
160
+ # Cython debug symbols
161
+ cython_debug/
162
+
163
+ # PyCharm
164
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
167
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
168
+ #.idea/
169
+
170
+ # Ruff stuff:
171
+ .ruff_cache/
172
+
173
+ # PyPI configuration file
174
+ .pypirc
175
+
176
+ # Database files
177
+ *.db
178
+ *.db-shm
179
+ *.db-wai
180
+ *.db-journal*
181
+ *.sqlite
182
+ *.sqlite3
183
+ agents.db
184
+ checkpoint_async.db
185
+
186
+ # Python virtual environment
187
+ .venv/
188
+ venv/
189
+ ENV/
190
+
191
+ # Python cache
192
+ __pycache__/
193
+ *.pyc
194
+ *.pyo
195
+ *.pyd
196
+
197
+ # Poetry
198
+ poetry.lock
199
+
200
+ # Environment variables
201
+ .env
202
+
203
+ # Custom Gitignore for Idun
204
+ *.db-wal
205
+ .DS_Store
206
+ *.DS_Store
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: idun-agent-schema
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Centralized Pydantic schema library for Idun Agent Engine and Manager
5
5
  Project-URL: Homepage, https://github.com/geoffreyharrazi/idun-agent-platform
6
6
  Project-URL: Repository, https://github.com/geoffreyharrazi/idun-agent-platform
@@ -1,18 +1,18 @@
1
- # Idun Agent Schema
2
-
3
- Centralized Pydantic schema library shared by Idun Agent Engine and Idun Agent Manager.
4
-
5
- ## Install
6
-
7
- ```bash
8
- pip install idun-agent-schema
9
- ```
10
-
11
- ## Usage
12
-
13
- ```python
14
- from idun_agent_schema.engine import EngineConfig
15
- from idun_agent_schema.manager.api import AgentCreateRequest
16
- ```
17
-
18
- This package re-exports stable schema namespaces to avoid breaking existing imports. Prefer importing from this package directly going forward.
1
+ # Idun Agent Schema
2
+
3
+ Centralized Pydantic schema library shared by Idun Agent Engine and Idun Agent Manager.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pip install idun-agent-schema
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```python
14
+ from idun_agent_schema.engine import EngineConfig
15
+ from idun_agent_schema.manager.api import AgentCreateRequest
16
+ ```
17
+
18
+ This package re-exports stable schema namespaces to avoid breaking existing imports. Prefer importing from this package directly going forward.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "idun-agent-schema"
3
- version = "0.1.4"
3
+ version = "0.1.5"
4
4
  description = "Centralized Pydantic schema library for Idun Agent Engine and Manager"
5
5
  authors = [{ name = "Idun Team", email = "team@idun.com" }]
6
6
  readme = "README.md"
@@ -1,10 +1,10 @@
1
- """Idun Agent Schema - Centralized Pydantic schemas.
2
-
3
- Public namespaces:
4
- - idun_agent_schema.engine: Engine-related schemas
5
- - idun_agent_schema.manager: Manager-related schemas
6
- - idun_agent_schema.shared: Shared cross-cutting schemas
7
- """
8
-
9
- # Re-export key types for convenience
10
- from .shared.observability import ObservabilityConfig # noqa: F401
1
+ """Idun Agent Schema - Centralized Pydantic schemas.
2
+
3
+ Public namespaces:
4
+ - idun_agent_schema.engine: Engine-related schemas
5
+ - idun_agent_schema.manager: Manager-related schemas
6
+ - idun_agent_schema.shared: Shared cross-cutting schemas
7
+ """
8
+
9
+ # Re-export key types for convenience
10
+ from .shared.observability import ObservabilityConfig # noqa: F401
@@ -1,12 +1,11 @@
1
- """Engine-related schemas."""
2
-
3
- from .agent import BaseAgentConfig # noqa: F401
4
- from .api import ChatRequest, ChatResponse # noqa: F401
5
- from .config import AgentConfig, EngineConfig # noqa: F401
6
- from .haystack import HaystackAgentConfig
7
- from .langgraph import ( # noqa: F401
8
- CheckpointConfig,
9
- LangGraphAgentConfig,
10
- SqliteCheckpointConfig,
11
- )
12
- from .server import ServerAPIConfig, ServerConfig # noqa: F401
1
+ """Engine-related schemas."""
2
+
3
+ from .agent import BaseAgentConfig # noqa: F401
4
+ from .api import ChatRequest, ChatResponse # noqa: F401
5
+ from .config import AgentConfig, EngineConfig # noqa: F401
6
+ from .langgraph import ( # noqa: F401
7
+ CheckpointConfig,
8
+ LangGraphAgentConfig,
9
+ SqliteCheckpointConfig,
10
+ )
11
+ from .server import ServerAPIConfig, ServerConfig # noqa: F401
@@ -1,16 +1,16 @@
1
- """Common agent model definitions (engine)."""
2
-
3
- from typing import Any
4
-
5
- from pydantic import BaseModel, Field
6
-
7
- from idun_agent_schema.shared import ObservabilityConfig
8
-
9
-
10
- class BaseAgentConfig(BaseModel):
11
- """Base model for agent configurations. Extend for specific frameworks."""
12
-
13
- name: str | None = Field(default="Unnamed Agent")
14
- input_schema_definition: dict[str, Any] | None = Field(default_factory=dict)
15
- output_schema_definition: dict[str, Any] | None = Field(default_factory=dict)
16
- observability: ObservabilityConfig | None = Field(default=None)
1
+ """Common agent model definitions (engine)."""
2
+
3
+ from typing import Any
4
+
5
+ from pydantic import BaseModel, Field
6
+
7
+ from idun_agent_schema.shared import ObservabilityConfig
8
+
9
+
10
+ class BaseAgentConfig(BaseModel):
11
+ """Base model for agent configurations. Extend for specific frameworks."""
12
+
13
+ name: str | None = Field(default="Unnamed Agent")
14
+ input_schema_definition: dict[str, Any] | None = Field(default_factory=dict)
15
+ output_schema_definition: dict[str, Any] | None = Field(default_factory=dict)
16
+ observability: ObservabilityConfig | None = Field(default=None)
@@ -1,29 +1,29 @@
1
- """Schemas for engine HTTP API request/response payloads."""
2
-
3
- from pydantic import BaseModel
4
-
5
-
6
- class ChatRequest(BaseModel):
7
- """Request payload for synchronous and streaming chat endpoints.
8
-
9
- Attributes:
10
- session_id: Client-provided session identifier for routing state.
11
- query: Natural language prompt or input for the agent.
12
-
13
- """
14
-
15
- session_id: str
16
- query: str
17
-
18
-
19
- class ChatResponse(BaseModel):
20
- """Response payload for chat endpoints.
21
-
22
- Attributes:
23
- session_id: Echoed session identifier.
24
- response: Agent's textual response.
25
-
26
- """
27
-
28
- session_id: str
29
- response: str
1
+ """Schemas for engine HTTP API request/response payloads."""
2
+
3
+ from pydantic import BaseModel
4
+
5
+
6
+ class ChatRequest(BaseModel):
7
+ """Request payload for synchronous and streaming chat endpoints.
8
+
9
+ Attributes:
10
+ session_id: Client-provided session identifier for routing state.
11
+ query: Natural language prompt or input for the agent.
12
+
13
+ """
14
+
15
+ session_id: str
16
+ query: str
17
+
18
+
19
+ class ChatResponse(BaseModel):
20
+ """Response payload for chat endpoints.
21
+
22
+ Attributes:
23
+ session_id: Echoed session identifier.
24
+ response: Agent's textual response.
25
+
26
+ """
27
+
28
+ session_id: str
29
+ response: str
@@ -1,13 +1,12 @@
1
1
  """Top-level engine configuration models."""
2
2
 
3
- from typing import Literal, Any
3
+ from typing import Literal
4
4
 
5
5
  from pydantic import BaseModel, Field
6
6
 
7
- from idun_agent_schema.engine.haystack import HaystackAgentConfig
8
-
9
7
  from .agent import BaseAgentConfig
10
8
  from .langgraph import LangGraphAgentConfig
9
+ from .haystack import HaystackAgentConfig
11
10
  from .server import ServerConfig
12
11
 
13
12
 
@@ -15,12 +14,9 @@ class AgentConfig(BaseModel):
15
14
  """Configuration for agent specification and settings."""
16
15
 
17
16
  type: Literal["langgraph", "ADK", "CREWAI", "haystack"] = Field(default="langgraph")
18
- config: Any = Field(description="Specific agent config")
19
-
20
-
21
- config: BaseAgentConfig | HaystackAgentConfig | LangGraphAgentConfig = Field(
22
- default_factory=BaseAgentConfig
23
- )
17
+ config: BaseAgentConfig | HaystackAgentConfig | LangGraphAgentConfig = Field(
18
+ default_factory=BaseAgentConfig
19
+ )
24
20
 
25
21
 
26
22
  class EngineConfig(BaseModel):
@@ -1,13 +1,13 @@
1
- """Configuration models for Haystack agents."""
2
-
3
- from typing import Literal
4
-
5
- from .agent import BaseAgentConfig
6
-
7
-
8
- class HaystackAgentConfig(BaseAgentConfig):
9
- """Configuration model for Haystack Agents."""
10
-
11
- type: Literal["haystack"] = "haystack"
12
- component_type: Literal["pipeline", "agent"]
13
- component_definition: str
1
+ """Configuration models for Haystack agents."""
2
+
3
+ from typing import Literal
4
+
5
+ from idun_agent_engine.core.engine_config import BaseAgentConfig
6
+
7
+
8
+ class HaystackAgentConfig(BaseAgentConfig):
9
+ """Configuration model for Haystack Agents."""
10
+
11
+ type: Literal["haystack"] = "haystack"
12
+ component_type: Literal["pipeline", "agent"]
13
+ component_definition: str