AbstractAgent 0.3.9__tar.gz → 0.3.12__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.9/src/abstractagent.egg-info → abstractagent-0.3.12}/PKG-INFO +12 -16
- {abstractagent-0.3.9 → abstractagent-0.3.12}/README.md +5 -3
- {abstractagent-0.3.9 → abstractagent-0.3.12}/pyproject.toml +7 -15
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/adapters/generation_params.py +27 -1
- {abstractagent-0.3.9 → abstractagent-0.3.12/src/abstractagent.egg-info}/PKG-INFO +12 -16
- abstractagent-0.3.12/src/abstractagent.egg-info/requires.txt +16 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_generation_params_media_policies.py +27 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_packaging_profiles.py +8 -14
- abstractagent-0.3.9/src/abstractagent.egg-info/requires.txt +0 -24
- {abstractagent-0.3.9 → abstractagent-0.3.12}/LICENSE +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/setup.cfg +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/__init__.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/adapters/__init__.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/adapters/codeact_runtime.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/adapters/media.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/adapters/memact_runtime.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/adapters/react_runtime.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/agents/__init__.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/agents/base.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/agents/codeact.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/agents/memact.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/agents/react.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/logic/__init__.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/logic/builtins.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/logic/codeact.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/logic/memact.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/logic/react.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/logic/types.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/repl.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/sandbox/__init__.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/sandbox/interface.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/sandbox/local.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/scripts/__init__.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/scripts/lmstudio_tool_eval.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/tools/__init__.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/tools/code_execution.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/tools/self_improve.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent.egg-info/SOURCES.txt +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent.egg-info/dependency_links.txt +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent.egg-info/entry_points.txt +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent.egg-info/top_level.txt +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_active_context_policy_adoption.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_agent_plan_review_modes.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_agents_integration_llm.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_base_agent_trace_accessors.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_builtin_tool_specs_optional_defaults.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_codeact_logic.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_codeact_runtime_verifier_policy.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_llm_call_payload_requires_prompt_or_messages.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_memact_session_memory.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_memact_workflow.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_memory_recall_tool.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_open_attachment_tool_available.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_active_attachments_disable_tools_first_iteration.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_adapter_forwards_context_attachments_media.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_delegate_agent_tool.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_logic.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_loop_context_transcript_levels.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_loop_followthrough_retry.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_loop_side_effect_dedupe_comms.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_loop_truncated_output_retry.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_max_iterations_concludes.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_planish_heuristic.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_workflow_system_prompt_and_tools_override.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_workflow_toolset_refresh.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_run_start_seeds_runtime_provider_model.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_session_memory.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_tool_observe_emits_result_for_tui.py +0 -0
- {abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_tools_editing.py +0 -0
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractagent
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.12
|
|
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.38
|
|
9
|
+
Requires-Dist: abstractruntime>=0.4.29
|
|
10
10
|
Provides-Extra: apple
|
|
11
|
-
Requires-Dist: abstractcore[apple]>=2.13.
|
|
12
|
-
Requires-Dist: abstractruntime[apple]>=0.4.
|
|
11
|
+
Requires-Dist: abstractcore[all-apple]>=2.13.38; extra == "apple"
|
|
12
|
+
Requires-Dist: abstractruntime[apple]>=0.4.29; extra == "apple"
|
|
13
13
|
Provides-Extra: gpu
|
|
14
|
-
Requires-Dist: abstractcore[gpu]>=2.13.
|
|
15
|
-
Requires-Dist: abstractruntime[gpu]>=0.4.
|
|
16
|
-
Provides-Extra: all-apple
|
|
17
|
-
Requires-Dist: abstractcore[all-apple]>=2.13.30; extra == "all-apple"
|
|
18
|
-
Requires-Dist: abstractruntime[all-apple]>=0.4.25; extra == "all-apple"
|
|
19
|
-
Provides-Extra: all-gpu
|
|
20
|
-
Requires-Dist: abstractcore[all-gpu]>=2.13.30; extra == "all-gpu"
|
|
21
|
-
Requires-Dist: abstractruntime[all-gpu]>=0.4.25; extra == "all-gpu"
|
|
14
|
+
Requires-Dist: abstractcore[all-gpu]>=2.13.38; extra == "gpu"
|
|
15
|
+
Requires-Dist: abstractruntime[gpu]>=0.4.29; extra == "gpu"
|
|
22
16
|
Provides-Extra: dev
|
|
23
17
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
24
18
|
Provides-Extra: test
|
|
@@ -65,6 +59,8 @@ flowchart LR
|
|
|
65
59
|
- **MemAct**: memory-enhanced agent using runtime-owned Active Memory
|
|
66
60
|
- **Durable runs**: pause/resume via `run_id` + runtime stores
|
|
67
61
|
- **Tool control**: explicit tool bundles + per-run allowlists
|
|
62
|
+
- **Generation controls**: temperature, seed, media policy, prompt-cache binding,
|
|
63
|
+
and Core `thinking` are normalized before LLM calls
|
|
68
64
|
- **Observability**: durable ledger of LLM calls, tool calls, and waits
|
|
69
65
|
|
|
70
66
|
Where this lives in code (source of truth):
|
|
@@ -98,9 +94,9 @@ pip install abstractagent
|
|
|
98
94
|
```
|
|
99
95
|
|
|
100
96
|
Native Python hardware profile cascades are available for deployment manifests:
|
|
101
|
-
`abstractagent[apple]
|
|
102
|
-
|
|
103
|
-
|
|
97
|
+
`abstractagent[apple]` and `abstractagent[gpu]`. These delegate to the matching
|
|
98
|
+
AbstractCore and AbstractRuntime profiles; AbstractAgent itself remains
|
|
99
|
+
provider/runtime agnostic.
|
|
104
100
|
|
|
105
101
|
Note: the repository may be ahead of the latest published PyPI release. To verify what you installed:
|
|
106
102
|
|
|
@@ -38,6 +38,8 @@ flowchart LR
|
|
|
38
38
|
- **MemAct**: memory-enhanced agent using runtime-owned Active Memory
|
|
39
39
|
- **Durable runs**: pause/resume via `run_id` + runtime stores
|
|
40
40
|
- **Tool control**: explicit tool bundles + per-run allowlists
|
|
41
|
+
- **Generation controls**: temperature, seed, media policy, prompt-cache binding,
|
|
42
|
+
and Core `thinking` are normalized before LLM calls
|
|
41
43
|
- **Observability**: durable ledger of LLM calls, tool calls, and waits
|
|
42
44
|
|
|
43
45
|
Where this lives in code (source of truth):
|
|
@@ -71,9 +73,9 @@ pip install abstractagent
|
|
|
71
73
|
```
|
|
72
74
|
|
|
73
75
|
Native Python hardware profile cascades are available for deployment manifests:
|
|
74
|
-
`abstractagent[apple]
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
`abstractagent[apple]` and `abstractagent[gpu]`. These delegate to the matching
|
|
77
|
+
AbstractCore and AbstractRuntime profiles; AbstractAgent itself remains
|
|
78
|
+
provider/runtime agnostic.
|
|
77
79
|
|
|
78
80
|
Note: the repository may be ahead of the latest published PyPI release. To verify what you installed:
|
|
79
81
|
|
|
@@ -4,31 +4,23 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "abstractagent"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.12"
|
|
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.38",
|
|
13
|
+
"abstractruntime>=0.4.29",
|
|
14
14
|
]
|
|
15
15
|
|
|
16
16
|
[project.optional-dependencies]
|
|
17
17
|
apple = [
|
|
18
|
-
"abstractcore[apple]>=2.13.
|
|
19
|
-
"abstractruntime[apple]>=0.4.
|
|
18
|
+
"abstractcore[all-apple]>=2.13.38",
|
|
19
|
+
"abstractruntime[apple]>=0.4.29",
|
|
20
20
|
]
|
|
21
21
|
gpu = [
|
|
22
|
-
"abstractcore[gpu]>=2.13.
|
|
23
|
-
"abstractruntime[gpu]>=0.4.
|
|
24
|
-
]
|
|
25
|
-
all-apple = [
|
|
26
|
-
"abstractcore[all-apple]>=2.13.30",
|
|
27
|
-
"abstractruntime[all-apple]>=0.4.25",
|
|
28
|
-
]
|
|
29
|
-
all-gpu = [
|
|
30
|
-
"abstractcore[all-gpu]>=2.13.30",
|
|
31
|
-
"abstractruntime[all-gpu]>=0.4.25",
|
|
22
|
+
"abstractcore[all-gpu]>=2.13.38",
|
|
23
|
+
"abstractruntime[gpu]>=0.4.29",
|
|
32
24
|
]
|
|
33
25
|
dev = [
|
|
34
26
|
"pytest>=7.0",
|
{abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent/adapters/generation_params.py
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Helpers for consistent generation params in AbstractAgent adapters.
|
|
2
2
|
|
|
3
3
|
These adapters build `EffectType.LLM_CALL` payloads for AbstractRuntime. We want
|
|
4
|
-
to expose a uniform `(temperature, seed)` interface across agents while keeping
|
|
4
|
+
to expose a uniform `(temperature, seed, thinking)` interface across agents while keeping
|
|
5
5
|
backward compatibility with older runs that may not have these keys in
|
|
6
6
|
`vars["_runtime"]`.
|
|
7
7
|
"""
|
|
@@ -28,6 +28,20 @@ def normalize_seed(seed: Any) -> Optional[int]:
|
|
|
28
28
|
return None
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
def normalize_thinking(value: Any) -> Any:
|
|
32
|
+
"""Return a provider-ready thinking value or None when unset.
|
|
33
|
+
|
|
34
|
+
Core owns provider-specific validation. Agent adapters only preserve explicit
|
|
35
|
+
booleans or non-empty strings and avoid sending empty UI values.
|
|
36
|
+
"""
|
|
37
|
+
if isinstance(value, bool):
|
|
38
|
+
return value
|
|
39
|
+
if isinstance(value, str):
|
|
40
|
+
clean = value.strip()
|
|
41
|
+
return clean or None
|
|
42
|
+
return None
|
|
43
|
+
|
|
44
|
+
|
|
31
45
|
def runtime_llm_params(
|
|
32
46
|
runtime_ns: Dict[str, Any],
|
|
33
47
|
*,
|
|
@@ -40,6 +54,9 @@ def runtime_llm_params(
|
|
|
40
54
|
1) `runtime_ns.temperature` / `runtime_ns.seed` when present
|
|
41
55
|
2) `extra.temperature` / `extra.seed` (step-specific defaults)
|
|
42
56
|
3) `default_temperature` (only for temperature)
|
|
57
|
+
|
|
58
|
+
`thinking` is copied from `extra.thinking` when explicitly set, otherwise
|
|
59
|
+
from `runtime_ns.thinking`. Empty strings are treated as unset.
|
|
43
60
|
"""
|
|
44
61
|
out: Dict[str, Any] = dict(extra or {})
|
|
45
62
|
|
|
@@ -64,6 +81,15 @@ def runtime_llm_params(
|
|
|
64
81
|
else:
|
|
65
82
|
out.pop("seed", None)
|
|
66
83
|
|
|
84
|
+
thinking_val = out.get("thinking")
|
|
85
|
+
thinking_norm = normalize_thinking(thinking_val)
|
|
86
|
+
if thinking_norm is None and isinstance(runtime_ns, dict):
|
|
87
|
+
thinking_norm = normalize_thinking(runtime_ns.get("thinking"))
|
|
88
|
+
if thinking_norm is not None:
|
|
89
|
+
out["thinking"] = thinking_norm
|
|
90
|
+
else:
|
|
91
|
+
out.pop("thinking", None)
|
|
92
|
+
|
|
67
93
|
# Pass-through media policies (runtime-owned defaults).
|
|
68
94
|
#
|
|
69
95
|
# This keeps thin clients simple: they can set `_runtime.audio_policy` (and
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractagent
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.12
|
|
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.38
|
|
9
|
+
Requires-Dist: abstractruntime>=0.4.29
|
|
10
10
|
Provides-Extra: apple
|
|
11
|
-
Requires-Dist: abstractcore[apple]>=2.13.
|
|
12
|
-
Requires-Dist: abstractruntime[apple]>=0.4.
|
|
11
|
+
Requires-Dist: abstractcore[all-apple]>=2.13.38; extra == "apple"
|
|
12
|
+
Requires-Dist: abstractruntime[apple]>=0.4.29; extra == "apple"
|
|
13
13
|
Provides-Extra: gpu
|
|
14
|
-
Requires-Dist: abstractcore[gpu]>=2.13.
|
|
15
|
-
Requires-Dist: abstractruntime[gpu]>=0.4.
|
|
16
|
-
Provides-Extra: all-apple
|
|
17
|
-
Requires-Dist: abstractcore[all-apple]>=2.13.30; extra == "all-apple"
|
|
18
|
-
Requires-Dist: abstractruntime[all-apple]>=0.4.25; extra == "all-apple"
|
|
19
|
-
Provides-Extra: all-gpu
|
|
20
|
-
Requires-Dist: abstractcore[all-gpu]>=2.13.30; extra == "all-gpu"
|
|
21
|
-
Requires-Dist: abstractruntime[all-gpu]>=0.4.25; extra == "all-gpu"
|
|
14
|
+
Requires-Dist: abstractcore[all-gpu]>=2.13.38; extra == "gpu"
|
|
15
|
+
Requires-Dist: abstractruntime[gpu]>=0.4.29; extra == "gpu"
|
|
22
16
|
Provides-Extra: dev
|
|
23
17
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
24
18
|
Provides-Extra: test
|
|
@@ -65,6 +59,8 @@ flowchart LR
|
|
|
65
59
|
- **MemAct**: memory-enhanced agent using runtime-owned Active Memory
|
|
66
60
|
- **Durable runs**: pause/resume via `run_id` + runtime stores
|
|
67
61
|
- **Tool control**: explicit tool bundles + per-run allowlists
|
|
62
|
+
- **Generation controls**: temperature, seed, media policy, prompt-cache binding,
|
|
63
|
+
and Core `thinking` are normalized before LLM calls
|
|
68
64
|
- **Observability**: durable ledger of LLM calls, tool calls, and waits
|
|
69
65
|
|
|
70
66
|
Where this lives in code (source of truth):
|
|
@@ -98,9 +94,9 @@ pip install abstractagent
|
|
|
98
94
|
```
|
|
99
95
|
|
|
100
96
|
Native Python hardware profile cascades are available for deployment manifests:
|
|
101
|
-
`abstractagent[apple]
|
|
102
|
-
|
|
103
|
-
|
|
97
|
+
`abstractagent[apple]` and `abstractagent[gpu]`. These delegate to the matching
|
|
98
|
+
AbstractCore and AbstractRuntime profiles; AbstractAgent itself remains
|
|
99
|
+
provider/runtime agnostic.
|
|
104
100
|
|
|
105
101
|
Note: the repository may be ahead of the latest published PyPI release. To verify what you installed:
|
|
106
102
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
abstractcore[tools]>=2.13.38
|
|
2
|
+
abstractruntime>=0.4.29
|
|
3
|
+
|
|
4
|
+
[apple]
|
|
5
|
+
abstractcore[all-apple]>=2.13.38
|
|
6
|
+
abstractruntime[apple]>=0.4.29
|
|
7
|
+
|
|
8
|
+
[dev]
|
|
9
|
+
pytest>=7.0
|
|
10
|
+
|
|
11
|
+
[gpu]
|
|
12
|
+
abstractcore[all-gpu]>=2.13.38
|
|
13
|
+
abstractruntime[gpu]>=0.4.29
|
|
14
|
+
|
|
15
|
+
[test]
|
|
16
|
+
pytest>=7.0
|
|
@@ -49,3 +49,30 @@ def test_runtime_llm_params_keeps_explicit_prompt_cache_binding_override() -> No
|
|
|
49
49
|
)
|
|
50
50
|
|
|
51
51
|
assert out["prompt_cache_binding"] == "explicit-binding-id"
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
@pytest.mark.basic
|
|
55
|
+
def test_runtime_llm_params_forwards_thinking_from_runtime_ns() -> None:
|
|
56
|
+
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
57
|
+
|
|
58
|
+
out = runtime_llm_params({"thinking": " high "}, extra={"temperature": 0.2})
|
|
59
|
+
|
|
60
|
+
assert out["thinking"] == "high"
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
@pytest.mark.basic
|
|
64
|
+
def test_runtime_llm_params_keeps_explicit_thinking_override() -> None:
|
|
65
|
+
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
66
|
+
|
|
67
|
+
out = runtime_llm_params({"thinking": "high"}, extra={"thinking": "low", "temperature": 0.2})
|
|
68
|
+
|
|
69
|
+
assert out["thinking"] == "low"
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
@pytest.mark.basic
|
|
73
|
+
def test_runtime_llm_params_forwards_boolean_thinking() -> None:
|
|
74
|
+
from abstractagent.adapters.generation_params import runtime_llm_params
|
|
75
|
+
|
|
76
|
+
out = runtime_llm_params({"thinking": False}, extra={"temperature": 0.2})
|
|
77
|
+
|
|
78
|
+
assert out["thinking"] is False
|
|
@@ -18,26 +18,20 @@ 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.38" in deps
|
|
22
|
+
assert "abstractruntime>=0.4.29" 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[all-apple]>=2.13.38",
|
|
30
|
+
"abstractruntime[apple]>=0.4.29",
|
|
31
31
|
}
|
|
32
32
|
assert set(extras["gpu"]) == {
|
|
33
|
-
"abstractcore[gpu]>=2.13.
|
|
34
|
-
"abstractruntime[gpu]>=0.4.
|
|
35
|
-
}
|
|
36
|
-
assert set(extras["all-apple"]) == {
|
|
37
|
-
"abstractcore[all-apple]>=2.13.30",
|
|
38
|
-
"abstractruntime[all-apple]>=0.4.25",
|
|
39
|
-
}
|
|
40
|
-
assert set(extras["all-gpu"]) == {
|
|
41
|
-
"abstractcore[all-gpu]>=2.13.30",
|
|
42
|
-
"abstractruntime[all-gpu]>=0.4.25",
|
|
33
|
+
"abstractcore[all-gpu]>=2.13.38",
|
|
34
|
+
"abstractruntime[gpu]>=0.4.29",
|
|
43
35
|
}
|
|
36
|
+
assert "all-apple" not in extras
|
|
37
|
+
assert "all-gpu" not in extras
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
abstractcore[tools]>=2.13.30
|
|
2
|
-
abstractruntime>=0.4.25
|
|
3
|
-
|
|
4
|
-
[all-apple]
|
|
5
|
-
abstractcore[all-apple]>=2.13.30
|
|
6
|
-
abstractruntime[all-apple]>=0.4.25
|
|
7
|
-
|
|
8
|
-
[all-gpu]
|
|
9
|
-
abstractcore[all-gpu]>=2.13.30
|
|
10
|
-
abstractruntime[all-gpu]>=0.4.25
|
|
11
|
-
|
|
12
|
-
[apple]
|
|
13
|
-
abstractcore[apple]>=2.13.30
|
|
14
|
-
abstractruntime[apple]>=0.4.25
|
|
15
|
-
|
|
16
|
-
[dev]
|
|
17
|
-
pytest>=7.0
|
|
18
|
-
|
|
19
|
-
[gpu]
|
|
20
|
-
abstractcore[gpu]>=2.13.30
|
|
21
|
-
abstractruntime[gpu]>=0.4.25
|
|
22
|
-
|
|
23
|
-
[test]
|
|
24
|
-
pytest>=7.0
|
|
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.9 → abstractagent-0.3.12}/src/abstractagent/scripts/lmstudio_tool_eval.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractagent-0.3.9 → abstractagent-0.3.12}/src/abstractagent.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractagent-0.3.9 → abstractagent-0.3.12}/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
|
{abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_loop_context_transcript_levels.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_loop_side_effect_dedupe_comms.py
RENAMED
|
File without changes
|
{abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_react_loop_truncated_output_retry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_run_start_seeds_runtime_provider_model.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstractagent-0.3.9 → abstractagent-0.3.12}/tests/test_tool_observe_emits_result_for_tui.py
RENAMED
|
File without changes
|
|
File without changes
|