agent-pack-haystack 0.0.1__tar.gz → 0.0.2__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.
- agent_pack_haystack-0.0.2/CHANGELOG.md +14 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/PKG-INFO +4 -3
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/README.md +1 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/pyproject.toml +2 -1
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/deep_research/agent.py +3 -26
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/deep_research/test_agent.py +5 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/.gitignore +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/LICENSE.txt +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/examples/advanced_rag_eval.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/pydoc/config_docusaurus.yml +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/__init__.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/advanced_rag/__init__.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/advanced_rag/agent.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/advanced_rag/hooks.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/advanced_rag/prompts.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/advanced_rag/tools.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/deep_research/__init__.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/deep_research/hooks.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/deep_research/prompts.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/deep_research/tools.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/src/haystack_integrations/agent_pack/py.typed +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/__init__.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/advanced_rag/__init__.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/advanced_rag/test_agent.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/advanced_rag/test_hooks.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/advanced_rag/test_tools.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/deep_research/__init__.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/deep_research/test_hooks.py +0 -0
- {agent_pack_haystack-0.0.1 → agent_pack_haystack-0.0.2}/tests/deep_research/test_tools.py +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [integrations/agent_pack-v0.0.1] - 2026-07-20
|
|
4
|
+
|
|
5
|
+
### 🚀 Features
|
|
6
|
+
|
|
7
|
+
- Add advanced rag agent (#3600)
|
|
8
|
+
|
|
9
|
+
### 🧹 Chores
|
|
10
|
+
|
|
11
|
+
- Move agent pack to core integrations (#3591)
|
|
12
|
+
- Prepare Agent pack for 3.0 release (#3611)
|
|
13
|
+
|
|
14
|
+
<!-- generated by git-cliff -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: agent-pack-haystack
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.2
|
|
4
4
|
Summary: Pre-configured Haystack Agents
|
|
5
5
|
Project-URL: Documentation, https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/agent_pack#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/deepset-ai/haystack-core-integrations/issues
|
|
@@ -20,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
20
20
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
21
21
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
22
22
|
Requires-Python: >=3.10
|
|
23
|
-
Requires-Dist: haystack-ai>=3.
|
|
23
|
+
Requires-Dist: haystack-ai>=3.1.0
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
|
|
26
26
|
# agent-pack-haystack
|
|
@@ -28,6 +28,7 @@ Description-Content-Type: text/markdown
|
|
|
28
28
|
[](https://pypi.org/project/agent-pack-haystack)
|
|
29
29
|
[](https://pypi.org/project/agent-pack-haystack)
|
|
30
30
|
|
|
31
|
+
- [Integration page](https://docs.haystack.deepset.ai/docs/agent-pack)
|
|
31
32
|
- [Changelog](https://github.com/deepset-ai/haystack-core-integrations/blob/main/integrations/agent_pack/CHANGELOG.md)
|
|
32
33
|
|
|
33
34
|
---
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
[](https://pypi.org/project/agent-pack-haystack)
|
|
4
4
|
[](https://pypi.org/project/agent-pack-haystack)
|
|
5
5
|
|
|
6
|
+
- [Integration page](https://docs.haystack.deepset.ai/docs/agent-pack)
|
|
6
7
|
- [Changelog](https://github.com/deepset-ai/haystack-core-integrations/blob/main/integrations/agent_pack/CHANGELOG.md)
|
|
7
8
|
|
|
8
9
|
---
|
|
@@ -23,7 +23,7 @@ classifiers = [
|
|
|
23
23
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
24
24
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
25
25
|
]
|
|
26
|
-
dependencies = ["haystack-ai>=3.
|
|
26
|
+
dependencies = ["haystack-ai>=3.1.0"]
|
|
27
27
|
|
|
28
28
|
[project.urls]
|
|
29
29
|
Documentation = "https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/agent_pack#readme"
|
|
@@ -133,6 +133,7 @@ ignore = [
|
|
|
133
133
|
"PLR0912",
|
|
134
134
|
"PLR0913",
|
|
135
135
|
"PLR0915",
|
|
136
|
+
"PLR0917",
|
|
136
137
|
# Allow `Any` type - used legitimately for dynamic types and SDK boundaries
|
|
137
138
|
"ANN401",
|
|
138
139
|
]
|
|
@@ -18,7 +18,7 @@ from haystack.components.generators.chat import OpenAIResponsesChatGenerator
|
|
|
18
18
|
from haystack.components.generators.chat.types import ChatGenerator
|
|
19
19
|
from haystack.dataclasses import ChatMessage
|
|
20
20
|
from haystack.lazy_imports import LazyImport
|
|
21
|
-
from haystack.tools import
|
|
21
|
+
from haystack.tools import AgentTool
|
|
22
22
|
|
|
23
23
|
from haystack_integrations.agent_pack.deep_research import prompts
|
|
24
24
|
from haystack_integrations.agent_pack.deep_research.hooks import ScopeHook, WriteHook
|
|
@@ -82,27 +82,6 @@ def _make_researcher_agent(
|
|
|
82
82
|
)
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
# Minimal input schema for the research_subtopic tool
|
|
86
|
-
_RESEARCH_SUBTOPIC_PARAMS = {
|
|
87
|
-
"type": "object",
|
|
88
|
-
"properties": {
|
|
89
|
-
"messages": {
|
|
90
|
-
"type": "array",
|
|
91
|
-
"description": "Exactly one user message whose content is the sub-question to research.",
|
|
92
|
-
"items": {
|
|
93
|
-
"type": "object",
|
|
94
|
-
"properties": {
|
|
95
|
-
"role": {"type": "string", "enum": ["user"]},
|
|
96
|
-
"content": {"type": "string", "description": "The sub-question to research."},
|
|
97
|
-
},
|
|
98
|
-
"required": ["role", "content"],
|
|
99
|
-
},
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
"required": ["messages"],
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
85
|
def create_deep_research_agent(
|
|
107
86
|
*,
|
|
108
87
|
scope_llm: ChatGenerator | None = None,
|
|
@@ -156,16 +135,14 @@ def create_deep_research_agent(
|
|
|
156
135
|
max_content_length=max_content_length,
|
|
157
136
|
)
|
|
158
137
|
|
|
159
|
-
research_subtopic =
|
|
160
|
-
|
|
138
|
+
research_subtopic = AgentTool(
|
|
139
|
+
agent=researcher,
|
|
161
140
|
name="research_subtopic",
|
|
162
141
|
description=(
|
|
163
142
|
"Research ONE focused sub-question in an isolated context. "
|
|
164
143
|
"Pass the sub-question as a user message. "
|
|
165
144
|
"Returns a compressed, cited summary of the findings."
|
|
166
145
|
),
|
|
167
|
-
parameters=_RESEARCH_SUBTOPIC_PARAMS,
|
|
168
|
-
outputs_to_string={"source": "last_message"},
|
|
169
146
|
outputs_to_state={"notes": {"source": "last_message", "handler": _collect_note}},
|
|
170
147
|
)
|
|
171
148
|
|
|
@@ -5,6 +5,7 @@ from haystack.components.agents import Agent
|
|
|
5
5
|
from haystack.components.generators.chat import MockChatGenerator, OpenAIResponsesChatGenerator
|
|
6
6
|
from haystack.core.serialization import allow_deserialization_module
|
|
7
7
|
from haystack.dataclasses import ChatMessage, ToolCall
|
|
8
|
+
from haystack.tools import AgentTool
|
|
8
9
|
|
|
9
10
|
from haystack_integrations.agent_pack.deep_research.agent import (
|
|
10
11
|
_collect_note,
|
|
@@ -69,6 +70,9 @@ def test_create_deep_research_agent():
|
|
|
69
70
|
max_orchestrator_steps=6,
|
|
70
71
|
)
|
|
71
72
|
assert [t.name for t in agent.tools] == ["research_subtopic", "think_tool"]
|
|
73
|
+
assert isinstance(agent.tools[0], AgentTool)
|
|
74
|
+
assert agent.tools[0].parameters["properties"]["messages"]["minItems"] == 1
|
|
75
|
+
assert agent.tools[0].parameters["properties"]["messages"]["maxItems"] == 1
|
|
72
76
|
assert agent.exit_conditions == ["text"]
|
|
73
77
|
assert agent.max_agent_steps == 6
|
|
74
78
|
assert agent.tool_concurrency_limit == 2
|
|
@@ -115,6 +119,7 @@ def test_create_deep_research_agent_serialization_roundtrip():
|
|
|
115
119
|
|
|
116
120
|
assert isinstance(restored, Agent)
|
|
117
121
|
assert [t.name for t in restored.tools] == ["research_subtopic", "think_tool"]
|
|
122
|
+
assert isinstance(restored.tools[0], AgentTool)
|
|
118
123
|
assert [type(h) for h in restored.hooks["before_run"]] == [ScopeHook]
|
|
119
124
|
assert [type(h) for h in restored.hooks["after_run"]] == [WriteHook]
|
|
120
125
|
assert set(restored.state_schema) >= {"notes", "brief", "report"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|