selectools 0.16.2__tar.gz → 0.16.3__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.
Files changed (113) hide show
  1. {selectools-0.16.2/src/selectools.egg-info → selectools-0.16.3}/PKG-INFO +4 -4
  2. {selectools-0.16.2 → selectools-0.16.3}/README.md +3 -3
  3. {selectools-0.16.2 → selectools-0.16.3}/pyproject.toml +1 -1
  4. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/__init__.py +3 -1
  5. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/agent/config.py +1 -0
  6. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/agent/core.py +605 -518
  7. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/exceptions.py +30 -0
  8. {selectools-0.16.2 → selectools-0.16.3/src/selectools.egg-info}/PKG-INFO +4 -4
  9. {selectools-0.16.2 → selectools-0.16.3}/LICENSE +0 -0
  10. {selectools-0.16.2 → selectools-0.16.3}/setup.cfg +0 -0
  11. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/agent/__init__.py +0 -0
  12. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/analytics.py +0 -0
  13. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/audit.py +0 -0
  14. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/cache.py +0 -0
  15. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/cache_redis.py +0 -0
  16. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/cli.py +0 -0
  17. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/coherence.py +0 -0
  18. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/embeddings/__init__.py +0 -0
  19. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/embeddings/anthropic.py +0 -0
  20. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/embeddings/cohere.py +0 -0
  21. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/embeddings/gemini.py +0 -0
  22. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/embeddings/openai.py +0 -0
  23. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/embeddings/provider.py +0 -0
  24. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/entity_memory.py +0 -0
  25. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/env.py +0 -0
  26. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/guardrails/__init__.py +0 -0
  27. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/guardrails/base.py +0 -0
  28. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/guardrails/format.py +0 -0
  29. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/guardrails/length.py +0 -0
  30. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/guardrails/pii.py +0 -0
  31. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/guardrails/pipeline.py +0 -0
  32. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/guardrails/topic.py +0 -0
  33. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/guardrails/toxicity.py +0 -0
  34. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/knowledge.py +0 -0
  35. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/knowledge_graph.py +0 -0
  36. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/memory.py +0 -0
  37. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/models.py +0 -0
  38. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/observer.py +0 -0
  39. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/parser.py +0 -0
  40. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/policy.py +0 -0
  41. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/pricing.py +0 -0
  42. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/prompt.py +0 -0
  43. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/providers/__init__.py +0 -0
  44. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/providers/anthropic_provider.py +0 -0
  45. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/providers/base.py +0 -0
  46. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/providers/fallback.py +0 -0
  47. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/providers/gemini_provider.py +0 -0
  48. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/providers/ollama_provider.py +0 -0
  49. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/providers/openai_provider.py +0 -0
  50. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/providers/stubs.py +0 -0
  51. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/__init__.py +0 -0
  52. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/bm25.py +0 -0
  53. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/chunking.py +0 -0
  54. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/hybrid.py +0 -0
  55. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/loaders.py +0 -0
  56. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/reranker.py +0 -0
  57. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/stores/__init__.py +0 -0
  58. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/stores/chroma.py +0 -0
  59. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/stores/memory.py +0 -0
  60. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/stores/pinecone.py +0 -0
  61. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/stores/sqlite.py +0 -0
  62. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/tools.py +0 -0
  63. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/rag/vector_store.py +0 -0
  64. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/security.py +0 -0
  65. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/sessions.py +0 -0
  66. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/structured.py +0 -0
  67. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/toolbox/__init__.py +0 -0
  68. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/toolbox/data_tools.py +0 -0
  69. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/toolbox/datetime_tools.py +0 -0
  70. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/toolbox/file_tools.py +0 -0
  71. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/toolbox/memory_tools.py +0 -0
  72. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/toolbox/text_tools.py +0 -0
  73. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/toolbox/web_tools.py +0 -0
  74. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/tools/__init__.py +0 -0
  75. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/tools/base.py +0 -0
  76. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/tools/decorators.py +0 -0
  77. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/tools/loader.py +0 -0
  78. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/tools/registry.py +0 -0
  79. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/trace.py +0 -0
  80. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/types.py +0 -0
  81. {selectools-0.16.2 → selectools-0.16.3}/src/selectools/usage.py +0 -0
  82. {selectools-0.16.2 → selectools-0.16.3}/src/selectools.egg-info/SOURCES.txt +0 -0
  83. {selectools-0.16.2 → selectools-0.16.3}/src/selectools.egg-info/dependency_links.txt +0 -0
  84. {selectools-0.16.2 → selectools-0.16.3}/src/selectools.egg-info/entry_points.txt +0 -0
  85. {selectools-0.16.2 → selectools-0.16.3}/src/selectools.egg-info/requires.txt +0 -0
  86. {selectools-0.16.2 → selectools-0.16.3}/src/selectools.egg-info/top_level.txt +0 -0
  87. {selectools-0.16.2 → selectools-0.16.3}/tests/test_audit.py +0 -0
  88. {selectools-0.16.2 → selectools-0.16.3}/tests/test_cache.py +0 -0
  89. {selectools-0.16.2 → selectools-0.16.3}/tests/test_cache_redis.py +0 -0
  90. {selectools-0.16.2 → selectools-0.16.3}/tests/test_cli.py +0 -0
  91. {selectools-0.16.2 → selectools-0.16.3}/tests/test_coherence.py +0 -0
  92. {selectools-0.16.2 → selectools-0.16.3}/tests/test_consolidation_regression.py +0 -0
  93. {selectools-0.16.2 → selectools-0.16.3}/tests/test_entity_memory.py +0 -0
  94. {selectools-0.16.2 → selectools-0.16.3}/tests/test_env.py +0 -0
  95. {selectools-0.16.2 → selectools-0.16.3}/tests/test_guardrails.py +0 -0
  96. {selectools-0.16.2 → selectools-0.16.3}/tests/test_knowledge.py +0 -0
  97. {selectools-0.16.2 → selectools-0.16.3}/tests/test_knowledge_graph.py +0 -0
  98. {selectools-0.16.2 → selectools-0.16.3}/tests/test_memory.py +0 -0
  99. {selectools-0.16.2 → selectools-0.16.3}/tests/test_memory_async.py +0 -0
  100. {selectools-0.16.2 → selectools-0.16.3}/tests/test_memory_boundary.py +0 -0
  101. {selectools-0.16.2 → selectools-0.16.3}/tests/test_memory_integration.py +0 -0
  102. {selectools-0.16.2 → selectools-0.16.3}/tests/test_parser.py +0 -0
  103. {selectools-0.16.2 → selectools-0.16.3}/tests/test_policy.py +0 -0
  104. {selectools-0.16.2 → selectools-0.16.3}/tests/test_prompt.py +0 -0
  105. {selectools-0.16.2 → selectools-0.16.3}/tests/test_routing_mode.py +0 -0
  106. {selectools-0.16.2 → selectools-0.16.3}/tests/test_security.py +0 -0
  107. {selectools-0.16.2 → selectools-0.16.3}/tests/test_sessions.py +0 -0
  108. {selectools-0.16.2 → selectools-0.16.3}/tests/test_sessions_edge_cases.py +0 -0
  109. {selectools-0.16.2 → selectools-0.16.3}/tests/test_sessions_redis.py +0 -0
  110. {selectools-0.16.2 → selectools-0.16.3}/tests/test_structured.py +0 -0
  111. {selectools-0.16.2 → selectools-0.16.3}/tests/test_summarize_on_trim.py +0 -0
  112. {selectools-0.16.2 → selectools-0.16.3}/tests/test_trace.py +0 -0
  113. {selectools-0.16.2 → selectools-0.16.3}/tests/test_v016_regression.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: selectools
3
- Version: 0.16.2
3
+ Version: 0.16.3
4
4
  Summary: Production-ready AI agents with tool calling, structured output, execution traces, and RAG. Provider-agnostic (OpenAI, Anthropic, Gemini, Ollama) with fallback chains, batch processing, tool policies, streaming, caching, and cost tracking.
5
5
  Author-email: John <johnnichev@gmail.com>
6
6
  License-Expression: LGPL-3.0-or-later
@@ -65,7 +65,7 @@ Dynamic: license-file
65
65
  - **Entity Memory** — Auto-extract named entities (person, org, project) across turns with LRU-pruned registry and system prompt injection.
66
66
  - **Knowledge Graph** — Relationship triple extraction with in-memory and SQLite storage. Query-relevant triples auto-injected into prompts.
67
67
  - **Cross-Session Knowledge** — Daily logs + persistent facts with auto-registered `remember` tool. Give your agent durable memory across conversations.
68
- - **182 new tests** (total: 1421 with v0.16.1 consolidation)
68
+ - **182 new tests** (total: 1462 with v0.16.3 refactoring)
69
69
 
70
70
  > Full changelog: [CHANGELOG.md](https://github.com/johnnichev/selectools/blob/main/CHANGELOG.md)
71
71
 
@@ -134,8 +134,8 @@ Dynamic: license-file
134
134
  - **Knowledge Graph**: Triple extraction with in-memory and SQLite storage
135
135
  - **Cross-Session Knowledge**: Daily logs + persistent memory with `remember` tool
136
136
  - **37 Examples**: RAG, hybrid search, streaming, structured output, traces, batch, policy, observer, guardrails, audit, sessions, entity memory, knowledge graph, and more
137
- - **AgentObserver Protocol**: 19 lifecycle events with `run_id` correlation, `LoggingObserver`, OTel export
138
- - **1421 Tests**: Unit, integration, regression, and E2E with real API calls
137
+ - **AgentObserver Protocol**: 25 lifecycle events with `run_id` correlation, `LoggingObserver`, OTel export
138
+ - **1462 Tests**: Unit, integration, regression, and E2E with real API calls
139
139
 
140
140
  ## Install
141
141
 
@@ -16,7 +16,7 @@
16
16
  - **Entity Memory** — Auto-extract named entities (person, org, project) across turns with LRU-pruned registry and system prompt injection.
17
17
  - **Knowledge Graph** — Relationship triple extraction with in-memory and SQLite storage. Query-relevant triples auto-injected into prompts.
18
18
  - **Cross-Session Knowledge** — Daily logs + persistent facts with auto-registered `remember` tool. Give your agent durable memory across conversations.
19
- - **182 new tests** (total: 1421 with v0.16.1 consolidation)
19
+ - **182 new tests** (total: 1462 with v0.16.3 refactoring)
20
20
 
21
21
  > Full changelog: [CHANGELOG.md](https://github.com/johnnichev/selectools/blob/main/CHANGELOG.md)
22
22
 
@@ -85,8 +85,8 @@
85
85
  - **Knowledge Graph**: Triple extraction with in-memory and SQLite storage
86
86
  - **Cross-Session Knowledge**: Daily logs + persistent memory with `remember` tool
87
87
  - **37 Examples**: RAG, hybrid search, streaming, structured output, traces, batch, policy, observer, guardrails, audit, sessions, entity memory, knowledge graph, and more
88
- - **AgentObserver Protocol**: 19 lifecycle events with `run_id` correlation, `LoggingObserver`, OTel export
89
- - **1421 Tests**: Unit, integration, regression, and E2E with real API calls
88
+ - **AgentObserver Protocol**: 25 lifecycle events with `run_id` correlation, `LoggingObserver`, OTel export
89
+ - **1462 Tests**: Unit, integration, regression, and E2E with real API calls
90
90
 
91
91
  ## Install
92
92
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "selectools"
7
- version = "0.16.2"
7
+ version = "0.16.3"
8
8
  description = "Production-ready AI agents with tool calling, structured output, execution traces, and RAG. Provider-agnostic (OpenAI, Anthropic, Gemini, Ollama) with fallback chains, batch processing, tool policies, streaming, caching, and cost tracking."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,6 +1,6 @@
1
1
  """Public exports for the selectools package."""
2
2
 
3
- __version__ = "0.16.2"
3
+ __version__ = "0.16.3"
4
4
 
5
5
  # Import submodules (lazy loading for optional dependencies)
6
6
  from . import embeddings, guardrails, models, rag, toolbox
@@ -11,6 +11,7 @@ from .cache import Cache, CacheKeyBuilder, CacheStats, InMemoryCache
11
11
  from .coherence import CoherenceResult
12
12
  from .entity_memory import Entity, EntityMemory
13
13
  from .exceptions import (
14
+ GraphExecutionError,
14
15
  MemoryLimitExceededError,
15
16
  ProviderConfigurationError,
16
17
  SelectoolsError,
@@ -91,6 +92,7 @@ __all__ = [
91
92
  "ToolExecutionError",
92
93
  "ProviderConfigurationError",
93
94
  "MemoryLimitExceededError",
95
+ "GraphExecutionError",
94
96
  # Usage tracking
95
97
  "UsageStats",
96
98
  "AgentUsage",
@@ -114,6 +114,7 @@ class AgentConfig:
114
114
  Default: None.
115
115
  """
116
116
 
117
+ name: str = "agent"
117
118
  model: str = "gpt-4o"
118
119
  temperature: float = 0.0
119
120
  max_tokens: int = 1000