openai-sdk-helpers 0.2.0__tar.gz → 0.4.0__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 (88) hide show
  1. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/PKG-INFO +7 -7
  2. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/README.md +6 -6
  3. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/pyproject.toml +1 -1
  4. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/__init__.py +6 -6
  5. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/__init__.py +4 -2
  6. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/agent/base.py +654 -0
  7. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/agent/config.py +429 -0
  8. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/coordination.py +68 -31
  9. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/runner.py +29 -19
  10. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/search/base.py +103 -54
  11. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/search/vector.py +99 -68
  12. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/search/web.py +84 -50
  13. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/summarizer.py +33 -7
  14. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/translator.py +58 -24
  15. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/validation.py +35 -4
  16. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/cli.py +42 -0
  17. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/config.py +0 -1
  18. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/environment.py +3 -2
  19. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/files_api.py +35 -3
  20. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/prompt/base.py +6 -0
  21. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/response/__init__.py +3 -3
  22. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/response/base.py +161 -22
  23. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/response/config.py +50 -200
  24. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/response/files.py +5 -5
  25. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/response/messages.py +3 -3
  26. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/response/runner.py +7 -7
  27. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/response/tool_call.py +94 -4
  28. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/response/vector_store.py +3 -3
  29. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/streamlit_app/app.py +16 -16
  30. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/streamlit_app/config.py +38 -37
  31. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/streamlit_app/streamlit_web_search.py +2 -2
  32. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/__init__.py +6 -2
  33. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/agent_blueprint.py +2 -2
  34. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/base.py +8 -99
  35. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/plan/plan.py +2 -2
  36. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/plan/task.py +9 -9
  37. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/prompt.py +2 -2
  38. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/responses.py +15 -15
  39. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/summary.py +3 -3
  40. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/structure/translation.py +32 -0
  41. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/validation.py +2 -2
  42. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/vector_search.py +7 -7
  43. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/web_search.py +6 -6
  44. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/tools.py +41 -15
  45. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/utils/__init__.py +19 -5
  46. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/utils/instructions.py +35 -0
  47. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/utils/json/__init__.py +55 -0
  48. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/utils/json/base_model.py +181 -0
  49. openai_sdk_helpers-0.2.0/src/openai_sdk_helpers/utils/json_utils.py → openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/utils/json/data_class.py +43 -70
  50. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/utils/json/ref.py +113 -0
  51. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/utils/json/utils.py +203 -0
  52. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/utils/output_validation.py +21 -1
  53. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/utils/path_utils.py +34 -1
  54. openai_sdk_helpers-0.4.0/src/openai_sdk_helpers/utils/registry.py +194 -0
  55. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/vector_storage/storage.py +10 -0
  56. openai_sdk_helpers-0.2.0/src/openai_sdk_helpers/agent/base.py +0 -369
  57. openai_sdk_helpers-0.2.0/src/openai_sdk_helpers/agent/config.py +0 -68
  58. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/.gitignore +0 -0
  59. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/LICENSE +0 -0
  60. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/prompt_utils.py +0 -0
  61. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/search/__init__.py +0 -0
  62. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/agent/utils.py +0 -0
  63. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/context_manager.py +0 -0
  64. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/deprecation.py +0 -0
  65. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/enums/__init__.py +0 -0
  66. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/enums/base.py +0 -0
  67. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/errors.py +0 -0
  68. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/logging_config.py +0 -0
  69. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/prompt/__init__.py +0 -0
  70. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/prompt/summarizer.jinja +0 -0
  71. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/prompt/translator.jinja +0 -0
  72. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/prompt/validator.jinja +0 -0
  73. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/py.typed +0 -0
  74. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/retry.py +0 -0
  75. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/streamlit_app/__init__.py +0 -0
  76. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/plan/__init__.py +0 -0
  77. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/plan/enum.py +0 -0
  78. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/plan/helpers.py +0 -0
  79. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/structure/plan/types.py +0 -0
  80. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/types.py +0 -0
  81. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/utils/async_utils.py +0 -0
  82. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/utils/coercion.py +0 -0
  83. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/utils/deprecation.py +0 -0
  84. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/utils/encoding.py +0 -0
  85. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/utils/validation.py +0 -0
  86. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/vector_storage/__init__.py +0 -0
  87. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/vector_storage/cleanup.py +0 -0
  88. {openai_sdk_helpers-0.2.0 → openai_sdk_helpers-0.4.0}/src/openai_sdk_helpers/vector_storage/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openai-sdk-helpers
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: Composable helpers for OpenAI SDK agents, prompts, and storage
5
5
  Author: openai-sdk-helpers maintainers
6
6
  License: MIT
@@ -277,14 +277,14 @@ when instantiating `OpenAISettings`.
277
277
  For more fine-grained control over API interactions, use the `response` module built on the standard `openai` SDK. This gives you direct access to message history, tool handlers, and custom response parsing:
278
278
 
279
279
  ```python
280
- from openai_sdk_helpers.response import BaseResponse
280
+ from openai_sdk_helpers.response import ResponseBase
281
281
  from openai_sdk_helpers import OpenAISettings
282
282
 
283
283
  # Configure OpenAI settings
284
284
  settings = OpenAISettings.from_env()
285
285
 
286
286
  # Create a response handler with custom instructions
287
- response = BaseResponse(
287
+ response = ResponseBase(
288
288
  instructions="You are a helpful code review assistant.",
289
289
  tools=None, # Or provide custom tool definitions
290
290
  output_structure=None, # Or a Pydantic model for structured output
@@ -311,12 +311,12 @@ response.close()
311
311
  The `response` module automatically detects file types and handles them appropriately:
312
312
 
313
313
  ```python
314
- from openai_sdk_helpers.response import BaseResponse
314
+ from openai_sdk_helpers.response import ResponseBase
315
315
  from openai_sdk_helpers import OpenAISettings
316
316
 
317
317
  settings = OpenAISettings.from_env()
318
318
 
319
- with BaseResponse(
319
+ with ResponseBase(
320
320
  name="analyzer",
321
321
  instructions="You are a helpful assistant that can analyze files.",
322
322
  tools=None,
@@ -550,7 +550,7 @@ These modules use the `openai-agents` SDK for high-level agent workflows with au
550
550
 
551
551
  These modules use the standard `openai` SDK for direct API interactions with fine-grained control over request/response cycles.
552
552
 
553
- - **`openai_sdk_helpers.response.base.BaseResponse`**
553
+ - **`openai_sdk_helpers.response.base.ResponseBase`**
554
554
  Manages complete OpenAI API interaction lifecycle including input construction,
555
555
  tool execution, message history, and structured output parsing. Uses the
556
556
  `client.responses.create()` API (from the OpenAI Responses API, distinct from
@@ -566,7 +566,7 @@ These modules use the standard `openai` SDK for direct API interactions with fin
566
566
  Centralizes OpenAI API configuration with environment variable support.
567
567
  Creates configured OpenAI clients with consistent settings.
568
568
 
569
- - **`openai_sdk_helpers.structure.BaseStructure`**
569
+ - **`openai_sdk_helpers.structure.StructureBase`**
570
570
  Pydantic-based foundation for all structured outputs. Provides JSON schema
571
571
  generation, validation, and serialization helpers.
572
572
 
@@ -242,14 +242,14 @@ when instantiating `OpenAISettings`.
242
242
  For more fine-grained control over API interactions, use the `response` module built on the standard `openai` SDK. This gives you direct access to message history, tool handlers, and custom response parsing:
243
243
 
244
244
  ```python
245
- from openai_sdk_helpers.response import BaseResponse
245
+ from openai_sdk_helpers.response import ResponseBase
246
246
  from openai_sdk_helpers import OpenAISettings
247
247
 
248
248
  # Configure OpenAI settings
249
249
  settings = OpenAISettings.from_env()
250
250
 
251
251
  # Create a response handler with custom instructions
252
- response = BaseResponse(
252
+ response = ResponseBase(
253
253
  instructions="You are a helpful code review assistant.",
254
254
  tools=None, # Or provide custom tool definitions
255
255
  output_structure=None, # Or a Pydantic model for structured output
@@ -276,12 +276,12 @@ response.close()
276
276
  The `response` module automatically detects file types and handles them appropriately:
277
277
 
278
278
  ```python
279
- from openai_sdk_helpers.response import BaseResponse
279
+ from openai_sdk_helpers.response import ResponseBase
280
280
  from openai_sdk_helpers import OpenAISettings
281
281
 
282
282
  settings = OpenAISettings.from_env()
283
283
 
284
- with BaseResponse(
284
+ with ResponseBase(
285
285
  name="analyzer",
286
286
  instructions="You are a helpful assistant that can analyze files.",
287
287
  tools=None,
@@ -515,7 +515,7 @@ These modules use the `openai-agents` SDK for high-level agent workflows with au
515
515
 
516
516
  These modules use the standard `openai` SDK for direct API interactions with fine-grained control over request/response cycles.
517
517
 
518
- - **`openai_sdk_helpers.response.base.BaseResponse`**
518
+ - **`openai_sdk_helpers.response.base.ResponseBase`**
519
519
  Manages complete OpenAI API interaction lifecycle including input construction,
520
520
  tool execution, message history, and structured output parsing. Uses the
521
521
  `client.responses.create()` API (from the OpenAI Responses API, distinct from
@@ -531,7 +531,7 @@ These modules use the standard `openai` SDK for direct API interactions with fin
531
531
  Centralizes OpenAI API configuration with environment variable support.
532
532
  Creates configured OpenAI clients with consistent settings.
533
533
 
534
- - **`openai_sdk_helpers.structure.BaseStructure`**
534
+ - **`openai_sdk_helpers.structure.StructureBase`**
535
535
  Pydantic-based foundation for all structured outputs. Provides JSON schema
536
536
  generation, validation, and serialization helpers.
537
537
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "openai-sdk-helpers"
3
- version = "0.2.0"
3
+ version = "0.4.0"
4
4
  requires-python = ">=3.10"
5
5
  readme = "README.md"
6
6
  description = "Composable helpers for OpenAI SDK agents, prompts, and storage"
@@ -33,7 +33,7 @@ from .utils.validation import (
33
33
  validate_url_format,
34
34
  )
35
35
  from .structure import (
36
- BaseStructure,
36
+ StructureBase,
37
37
  SchemaOptions,
38
38
  PlanStructure,
39
39
  TaskStructure,
@@ -55,7 +55,7 @@ from .files_api import FilesAPIManager, FilePurpose
55
55
  from .vector_storage import VectorStorage, VectorStorageFileInfo, VectorStorageFileStats
56
56
  from .agent import (
57
57
  AgentBase,
58
- AgentConfig,
58
+ AgentConfiguration,
59
59
  AgentEnum,
60
60
  CoordinatorAgent,
61
61
  SummarizerAgent,
@@ -65,7 +65,7 @@ from .agent import (
65
65
  WebAgentSearch,
66
66
  )
67
67
  from .response import (
68
- BaseResponse,
68
+ ResponseBase,
69
69
  ResponseMessage,
70
70
  ResponseMessages,
71
71
  ResponseToolCall,
@@ -134,7 +134,7 @@ __all__ = [
134
134
  "validate_choice",
135
135
  "validate_safe_path",
136
136
  # Main structure classes
137
- "BaseStructure",
137
+ "StructureBase",
138
138
  "SchemaOptions",
139
139
  "spec_field",
140
140
  "PromptRenderer",
@@ -151,7 +151,7 @@ __all__ = [
151
151
  "PlanStructure",
152
152
  "AgentEnum",
153
153
  "AgentBase",
154
- "AgentConfig",
154
+ "AgentConfiguration",
155
155
  "CoordinatorAgent",
156
156
  "SummarizerAgent",
157
157
  "TranslatorAgent",
@@ -162,7 +162,7 @@ __all__ = [
162
162
  "WebSearchStructure",
163
163
  "VectorSearchStructure",
164
164
  "ValidationResultStructure",
165
- "BaseResponse",
165
+ "ResponseBase",
166
166
  "ResponseMessage",
167
167
  "ResponseMessages",
168
168
  "ResponseToolCall",
@@ -3,7 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from .base import AgentBase
6
- from .config import AgentConfig
6
+ from .config import AgentConfiguration, AgentConfigurationRegistry, get_default_registry
7
7
  from ..structure.plan.enum import AgentEnum
8
8
  from .coordination import CoordinatorAgent
9
9
  from .runner import run_sync, run_async, run_streamed
@@ -17,7 +17,9 @@ from .search.web import WebAgentSearch
17
17
 
18
18
  __all__ = [
19
19
  "AgentBase",
20
- "AgentConfig",
20
+ "AgentConfiguration",
21
+ "AgentConfigurationRegistry",
22
+ "get_default_registry",
21
23
  "AgentEnum",
22
24
  "CoordinatorAgent",
23
25
  "run_sync",