AbstractAgent 0.3.6__tar.gz → 0.3.8__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.
- {abstractagent-0.3.6/src/abstractagent.egg-info → abstractagent-0.3.8}/PKG-INFO +11 -11
- {abstractagent-0.3.6 → abstractagent-0.3.8}/pyproject.toml +12 -11
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/adapters/generation_params.py +7 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8/src/abstractagent.egg-info}/PKG-INFO +11 -11
- abstractagent-0.3.8/src/abstractagent.egg-info/requires.txt +24 -0
- abstractagent-0.3.8/tests/test_generation_params_media_policies.py +51 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_packaging_profiles.py +10 -10
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_loop_context_transcript_levels.py +10 -3
- abstractagent-0.3.6/src/abstractagent.egg-info/requires.txt +0 -24
- abstractagent-0.3.6/tests/test_generation_params_media_policies.py +0 -28
- {abstractagent-0.3.6 → abstractagent-0.3.8}/LICENSE +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/README.md +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/setup.cfg +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/__init__.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/adapters/__init__.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/adapters/codeact_runtime.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/adapters/media.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/adapters/memact_runtime.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/adapters/react_runtime.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/agents/__init__.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/agents/base.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/agents/codeact.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/agents/memact.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/agents/react.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/logic/__init__.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/logic/builtins.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/logic/codeact.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/logic/memact.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/logic/react.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/logic/types.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/repl.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/sandbox/__init__.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/sandbox/interface.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/sandbox/local.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/scripts/__init__.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/scripts/lmstudio_tool_eval.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/tools/__init__.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/tools/code_execution.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent/tools/self_improve.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent.egg-info/SOURCES.txt +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent.egg-info/dependency_links.txt +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent.egg-info/entry_points.txt +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/src/abstractagent.egg-info/top_level.txt +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_active_context_policy_adoption.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_agent_plan_review_modes.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_agents_integration_llm.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_base_agent_trace_accessors.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_builtin_tool_specs_optional_defaults.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_codeact_logic.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_codeact_runtime_verifier_policy.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_llm_call_payload_requires_prompt_or_messages.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_memact_session_memory.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_memact_workflow.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_memory_recall_tool.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_open_attachment_tool_available.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_active_attachments_disable_tools_first_iteration.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_adapter_forwards_context_attachments_media.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_delegate_agent_tool.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_logic.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_loop_followthrough_retry.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_loop_side_effect_dedupe_comms.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_loop_truncated_output_retry.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_max_iterations_concludes.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_planish_heuristic.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_workflow_system_prompt_and_tools_override.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_workflow_toolset_refresh.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_run_start_seeds_runtime_provider_model.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_session_memory.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_tool_observe_emits_result_for_tui.py +0 -0
- {abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_tools_editing.py +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractagent
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8
|
|
4
4
|
Summary: Agent implementations using AbstractRuntime and AbstractCore
|
|
5
5
|
Requires-Python: >=3.10
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
7
|
License-File: LICENSE
|
|
8
|
-
Requires-Dist: abstractcore[tools]>=2.13.
|
|
9
|
-
Requires-Dist: abstractruntime>=0.4.
|
|
8
|
+
Requires-Dist: abstractcore[tools]>=2.13.28
|
|
9
|
+
Requires-Dist: abstractruntime>=0.4.23
|
|
10
10
|
Provides-Extra: apple
|
|
11
|
-
Requires-Dist: abstractcore[apple]>=2.13.
|
|
12
|
-
Requires-Dist: abstractruntime[apple]>=0.4.
|
|
11
|
+
Requires-Dist: abstractcore[apple]>=2.13.28; extra == "apple"
|
|
12
|
+
Requires-Dist: abstractruntime[apple]>=0.4.23; extra == "apple"
|
|
13
13
|
Provides-Extra: gpu
|
|
14
|
-
Requires-Dist: abstractcore[gpu]>=2.13.
|
|
15
|
-
Requires-Dist: abstractruntime[gpu]>=0.4.
|
|
14
|
+
Requires-Dist: abstractcore[gpu]>=2.13.28; extra == "gpu"
|
|
15
|
+
Requires-Dist: abstractruntime[gpu]>=0.4.23; extra == "gpu"
|
|
16
16
|
Provides-Extra: all-apple
|
|
17
|
-
Requires-Dist: abstractcore[all-apple]>=2.13.
|
|
18
|
-
Requires-Dist: abstractruntime[all-apple]>=0.4.
|
|
17
|
+
Requires-Dist: abstractcore[all-apple]>=2.13.28; extra == "all-apple"
|
|
18
|
+
Requires-Dist: abstractruntime[all-apple]>=0.4.23; extra == "all-apple"
|
|
19
19
|
Provides-Extra: all-gpu
|
|
20
|
-
Requires-Dist: abstractcore[all-gpu]>=2.13.
|
|
21
|
-
Requires-Dist: abstractruntime[all-gpu]>=0.4.
|
|
20
|
+
Requires-Dist: abstractcore[all-gpu]>=2.13.28; extra == "all-gpu"
|
|
21
|
+
Requires-Dist: abstractruntime[all-gpu]>=0.4.23; extra == "all-gpu"
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
24
24
|
Provides-Extra: test
|
|
@@ -4,31 +4,31 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "abstractagent"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.8"
|
|
8
8
|
description = "Agent implementations using AbstractRuntime and AbstractCore"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
11
11
|
dependencies = [
|
|
12
|
-
"abstractcore[tools]>=2.13.
|
|
13
|
-
"abstractruntime>=0.4.
|
|
12
|
+
"abstractcore[tools]>=2.13.28",
|
|
13
|
+
"abstractruntime>=0.4.23",
|
|
14
14
|
]
|
|
15
15
|
|
|
16
16
|
[project.optional-dependencies]
|
|
17
17
|
apple = [
|
|
18
|
-
"abstractcore[apple]>=2.13.
|
|
19
|
-
"abstractruntime[apple]>=0.4.
|
|
18
|
+
"abstractcore[apple]>=2.13.28",
|
|
19
|
+
"abstractruntime[apple]>=0.4.23",
|
|
20
20
|
]
|
|
21
21
|
gpu = [
|
|
22
|
-
"abstractcore[gpu]>=2.13.
|
|
23
|
-
"abstractruntime[gpu]>=0.4.
|
|
22
|
+
"abstractcore[gpu]>=2.13.28",
|
|
23
|
+
"abstractruntime[gpu]>=0.4.23",
|
|
24
24
|
]
|
|
25
25
|
all-apple = [
|
|
26
|
-
"abstractcore[all-apple]>=2.13.
|
|
27
|
-
"abstractruntime[all-apple]>=0.4.
|
|
26
|
+
"abstractcore[all-apple]>=2.13.28",
|
|
27
|
+
"abstractruntime[all-apple]>=0.4.23",
|
|
28
28
|
]
|
|
29
29
|
all-gpu = [
|
|
30
|
-
"abstractcore[all-gpu]>=2.13.
|
|
31
|
-
"abstractruntime[all-gpu]>=0.4.
|
|
30
|
+
"abstractcore[all-gpu]>=2.13.28",
|
|
31
|
+
"abstractruntime[all-gpu]>=0.4.23",
|
|
32
32
|
]
|
|
33
33
|
dev = [
|
|
34
34
|
"pytest>=7.0",
|
|
@@ -44,6 +44,7 @@ where = ["src"]
|
|
|
44
44
|
react-agent = "abstractagent.repl:main"
|
|
45
45
|
|
|
46
46
|
[tool.pytest.ini_options]
|
|
47
|
+
pythonpath = ["src"]
|
|
47
48
|
markers = [
|
|
48
49
|
"basic: Level A (contract/unit) tests",
|
|
49
50
|
"integration: Level B (integration/local) tests",
|
|
@@ -79,4 +79,11 @@ def runtime_llm_params(
|
|
|
79
79
|
if "stt_language" not in out and isinstance(stt_language, str) and stt_language.strip():
|
|
80
80
|
out["stt_language"] = stt_language.strip()
|
|
81
81
|
|
|
82
|
+
binding = runtime_ns.get("prompt_cache_binding")
|
|
83
|
+
if "prompt_cache_binding" not in out:
|
|
84
|
+
if isinstance(binding, dict) and binding:
|
|
85
|
+
out["prompt_cache_binding"] = dict(binding)
|
|
86
|
+
elif isinstance(binding, str) and binding.strip():
|
|
87
|
+
out["prompt_cache_binding"] = binding.strip()
|
|
88
|
+
|
|
82
89
|
return out
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractagent
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8
|
|
4
4
|
Summary: Agent implementations using AbstractRuntime and AbstractCore
|
|
5
5
|
Requires-Python: >=3.10
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
7
|
License-File: LICENSE
|
|
8
|
-
Requires-Dist: abstractcore[tools]>=2.13.
|
|
9
|
-
Requires-Dist: abstractruntime>=0.4.
|
|
8
|
+
Requires-Dist: abstractcore[tools]>=2.13.28
|
|
9
|
+
Requires-Dist: abstractruntime>=0.4.23
|
|
10
10
|
Provides-Extra: apple
|
|
11
|
-
Requires-Dist: abstractcore[apple]>=2.13.
|
|
12
|
-
Requires-Dist: abstractruntime[apple]>=0.4.
|
|
11
|
+
Requires-Dist: abstractcore[apple]>=2.13.28; extra == "apple"
|
|
12
|
+
Requires-Dist: abstractruntime[apple]>=0.4.23; extra == "apple"
|
|
13
13
|
Provides-Extra: gpu
|
|
14
|
-
Requires-Dist: abstractcore[gpu]>=2.13.
|
|
15
|
-
Requires-Dist: abstractruntime[gpu]>=0.4.
|
|
14
|
+
Requires-Dist: abstractcore[gpu]>=2.13.28; extra == "gpu"
|
|
15
|
+
Requires-Dist: abstractruntime[gpu]>=0.4.23; extra == "gpu"
|
|
16
16
|
Provides-Extra: all-apple
|
|
17
|
-
Requires-Dist: abstractcore[all-apple]>=2.13.
|
|
18
|
-
Requires-Dist: abstractruntime[all-apple]>=0.4.
|
|
17
|
+
Requires-Dist: abstractcore[all-apple]>=2.13.28; extra == "all-apple"
|
|
18
|
+
Requires-Dist: abstractruntime[all-apple]>=0.4.23; extra == "all-apple"
|
|
19
19
|
Provides-Extra: all-gpu
|
|
20
|
-
Requires-Dist: abstractcore[all-gpu]>=2.13.
|
|
21
|
-
Requires-Dist: abstractruntime[all-gpu]>=0.4.
|
|
20
|
+
Requires-Dist: abstractcore[all-gpu]>=2.13.28; extra == "all-gpu"
|
|
21
|
+
Requires-Dist: abstractruntime[all-gpu]>=0.4.23; extra == "all-gpu"
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
24
24
|
Provides-Extra: test
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
abstractcore[tools]>=2.13.28
|
|
2
|
+
abstractruntime>=0.4.23
|
|
3
|
+
|
|
4
|
+
[all-apple]
|
|
5
|
+
abstractcore[all-apple]>=2.13.28
|
|
6
|
+
abstractruntime[all-apple]>=0.4.23
|
|
7
|
+
|
|
8
|
+
[all-gpu]
|
|
9
|
+
abstractcore[all-gpu]>=2.13.28
|
|
10
|
+
abstractruntime[all-gpu]>=0.4.23
|
|
11
|
+
|
|
12
|
+
[apple]
|
|
13
|
+
abstractcore[apple]>=2.13.28
|
|
14
|
+
abstractruntime[apple]>=0.4.23
|
|
15
|
+
|
|
16
|
+
[dev]
|
|
17
|
+
pytest>=7.0
|
|
18
|
+
|
|
19
|
+
[gpu]
|
|
20
|
+
abstractcore[gpu]>=2.13.28
|
|
21
|
+
abstractruntime[gpu]>=0.4.23
|
|
22
|
+
|
|
23
|
+
[test]
|
|
24
|
+
pytest>=7.0
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
@pytest.mark.basic
|
|
5
|
+
def test_runtime_llm_params_includes_audio_policy_and_stt_language_from_runtime_ns() -> None:
|
|
6
|
+
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
7
|
+
|
|
8
|
+
out = runtime_llm_params(
|
|
9
|
+
{"audio_policy": "auto", "stt_language": "fr"},
|
|
10
|
+
extra={"temperature": 0.2},
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
assert out["audio_policy"] == "auto"
|
|
14
|
+
assert out["stt_language"] == "fr"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@pytest.mark.basic
|
|
18
|
+
def test_runtime_llm_params_does_not_override_explicit_policy_in_extra() -> None:
|
|
19
|
+
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
20
|
+
|
|
21
|
+
out = runtime_llm_params(
|
|
22
|
+
{"audio_policy": "auto", "stt_language": "fr"},
|
|
23
|
+
extra={"audio_policy": "native_only", "stt_language": "en"},
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
assert out["audio_policy"] == "native_only"
|
|
27
|
+
assert out["stt_language"] == "en"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@pytest.mark.basic
|
|
31
|
+
def test_runtime_llm_params_forwards_prompt_cache_binding_from_runtime_ns() -> None:
|
|
32
|
+
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
33
|
+
|
|
34
|
+
binding = {"binding_id": "bind-1", "key": "work:orbit"}
|
|
35
|
+
|
|
36
|
+
out = runtime_llm_params({"prompt_cache_binding": binding}, extra={"temperature": 0.2})
|
|
37
|
+
|
|
38
|
+
assert out["prompt_cache_binding"] == binding
|
|
39
|
+
assert out["prompt_cache_binding"] is not binding
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@pytest.mark.basic
|
|
43
|
+
def test_runtime_llm_params_keeps_explicit_prompt_cache_binding_override() -> None:
|
|
44
|
+
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
45
|
+
|
|
46
|
+
out = runtime_llm_params(
|
|
47
|
+
{"prompt_cache_binding": {"binding_id": "runtime"}},
|
|
48
|
+
extra={"prompt_cache_binding": "explicit-binding-id"},
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
assert out["prompt_cache_binding"] == "explicit-binding-id"
|
|
@@ -18,26 +18,26 @@ def _project() -> dict:
|
|
|
18
18
|
def test_base_dependency_floors_match_gateway_alignment() -> None:
|
|
19
19
|
deps = set(_project()["dependencies"])
|
|
20
20
|
|
|
21
|
-
assert "abstractcore[tools]>=2.13.
|
|
22
|
-
assert "abstractruntime>=0.4.
|
|
21
|
+
assert "abstractcore[tools]>=2.13.28" in deps
|
|
22
|
+
assert "abstractruntime>=0.4.23" in deps
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
def test_hardware_profile_extras_are_core_runtime_cascades() -> None:
|
|
26
26
|
extras = _project()["optional-dependencies"]
|
|
27
27
|
|
|
28
28
|
assert set(extras["apple"]) == {
|
|
29
|
-
"abstractcore[apple]>=2.13.
|
|
30
|
-
"abstractruntime[apple]>=0.4.
|
|
29
|
+
"abstractcore[apple]>=2.13.28",
|
|
30
|
+
"abstractruntime[apple]>=0.4.23",
|
|
31
31
|
}
|
|
32
32
|
assert set(extras["gpu"]) == {
|
|
33
|
-
"abstractcore[gpu]>=2.13.
|
|
34
|
-
"abstractruntime[gpu]>=0.4.
|
|
33
|
+
"abstractcore[gpu]>=2.13.28",
|
|
34
|
+
"abstractruntime[gpu]>=0.4.23",
|
|
35
35
|
}
|
|
36
36
|
assert set(extras["all-apple"]) == {
|
|
37
|
-
"abstractcore[all-apple]>=2.13.
|
|
38
|
-
"abstractruntime[all-apple]>=0.4.
|
|
37
|
+
"abstractcore[all-apple]>=2.13.28",
|
|
38
|
+
"abstractruntime[all-apple]>=0.4.23",
|
|
39
39
|
}
|
|
40
40
|
assert set(extras["all-gpu"]) == {
|
|
41
|
-
"abstractcore[all-gpu]>=2.13.
|
|
42
|
-
"abstractruntime[all-gpu]>=0.4.
|
|
41
|
+
"abstractcore[all-gpu]>=2.13.28",
|
|
42
|
+
"abstractruntime[all-gpu]>=0.4.23",
|
|
43
43
|
}
|
{abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_loop_context_transcript_levels.py
RENAMED
|
@@ -24,6 +24,15 @@ def _base_vars(*, task: str) -> Dict[str, Any]:
|
|
|
24
24
|
return {"context": {"task": task, "messages": []}, "_runtime": {"inbox": []}}
|
|
25
25
|
|
|
26
26
|
|
|
27
|
+
def _strip_runtime_prefixes(content: str) -> str:
|
|
28
|
+
text = str(content or "")
|
|
29
|
+
if text.startswith("<runtime_metadata>") and "</runtime_metadata>" in text:
|
|
30
|
+
text = text.split("</runtime_metadata>", 1)[1].lstrip()
|
|
31
|
+
if text.startswith("[") and "]" in text:
|
|
32
|
+
text = text.split("]", 1)[1].lstrip()
|
|
33
|
+
return text
|
|
34
|
+
|
|
35
|
+
|
|
27
36
|
@pytest.mark.basic
|
|
28
37
|
def test_react_loop_context_transcript_level_a_basic() -> None:
|
|
29
38
|
captured_llm_payloads: list[dict[str, Any]] = []
|
|
@@ -114,9 +123,7 @@ def test_react_loop_context_transcript_level_a_basic() -> None:
|
|
|
114
123
|
first_msgs = first.get("messages")
|
|
115
124
|
assert isinstance(first_msgs, list) and first_msgs
|
|
116
125
|
assert first_msgs[0].get("role") == "user"
|
|
117
|
-
first_content = str(first_msgs[0].get("content") or "")
|
|
118
|
-
if first_content.startswith("[") and "]" in first_content:
|
|
119
|
-
first_content = first_content.split("]", 1)[1].lstrip()
|
|
126
|
+
first_content = _strip_runtime_prefixes(str(first_msgs[0].get("content") or ""))
|
|
120
127
|
assert first_content == "Create a project folder"
|
|
121
128
|
params1 = first.get("params") if isinstance(first.get("params"), dict) else {}
|
|
122
129
|
assert "max_tokens" not in params1, "ReAct should not enforce tiny per-step output caps by default"
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
abstractcore[tools]>=2.13.12
|
|
2
|
-
abstractruntime>=0.4.9
|
|
3
|
-
|
|
4
|
-
[all-apple]
|
|
5
|
-
abstractcore[all-apple]>=2.13.12
|
|
6
|
-
abstractruntime[all-apple]>=0.4.9
|
|
7
|
-
|
|
8
|
-
[all-gpu]
|
|
9
|
-
abstractcore[all-gpu]>=2.13.12
|
|
10
|
-
abstractruntime[all-gpu]>=0.4.9
|
|
11
|
-
|
|
12
|
-
[apple]
|
|
13
|
-
abstractcore[apple]>=2.13.12
|
|
14
|
-
abstractruntime[apple]>=0.4.9
|
|
15
|
-
|
|
16
|
-
[dev]
|
|
17
|
-
pytest>=7.0
|
|
18
|
-
|
|
19
|
-
[gpu]
|
|
20
|
-
abstractcore[gpu]>=2.13.12
|
|
21
|
-
abstractruntime[gpu]>=0.4.9
|
|
22
|
-
|
|
23
|
-
[test]
|
|
24
|
-
pytest>=7.0
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import pytest
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
@pytest.mark.basic
|
|
5
|
-
def test_runtime_llm_params_includes_audio_policy_and_stt_language_from_runtime_ns() -> None:
|
|
6
|
-
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
7
|
-
|
|
8
|
-
out = runtime_llm_params(
|
|
9
|
-
{"audio_policy": "auto", "stt_language": "fr"},
|
|
10
|
-
extra={"temperature": 0.2},
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
assert out["audio_policy"] == "auto"
|
|
14
|
-
assert out["stt_language"] == "fr"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.basic
|
|
18
|
-
def test_runtime_llm_params_does_not_override_explicit_policy_in_extra() -> None:
|
|
19
|
-
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
20
|
-
|
|
21
|
-
out = runtime_llm_params(
|
|
22
|
-
{"audio_policy": "auto", "stt_language": "fr"},
|
|
23
|
-
extra={"audio_policy": "native_only", "stt_language": "en"},
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
assert out["audio_policy"] == "native_only"
|
|
27
|
-
assert out["stt_language"] == "en"
|
|
28
|
-
|
|
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
|
|
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
|
{abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_builtin_tool_specs_optional_defaults.py
RENAMED
|
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
|
{abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_react_loop_side_effect_dedupe_comms.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractagent-0.3.6 → abstractagent-0.3.8}/tests/test_run_start_seeds_runtime_provider_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|