openai-sdk-helpers 0.4.3__tar.gz → 0.5.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 (99) hide show
  1. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/PKG-INFO +18 -4
  2. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/README.md +14 -3
  3. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/pyproject.toml +6 -2
  4. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/__init__.py +41 -7
  5. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/__init__.py +1 -2
  6. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/base.py +89 -173
  7. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/configuration.py +12 -20
  8. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/coordinator.py +14 -17
  9. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/runner.py +3 -45
  10. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/search/base.py +49 -71
  11. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/search/vector.py +82 -110
  12. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/search/web.py +103 -81
  13. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/summarizer.py +20 -28
  14. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/translator.py +17 -23
  15. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/validator.py +17 -23
  16. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/errors.py +9 -0
  17. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/extract/__init__.py +23 -0
  18. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/extract/extractor.py +157 -0
  19. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/extract/generator.py +476 -0
  20. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/prompt/extractor_config_agent_instructions.jinja +6 -0
  21. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/prompt/extractor_config_generator.jinja +37 -0
  22. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/prompt/extractor_config_generator_instructions.jinja +9 -0
  23. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/prompt/extractor_prompt_optimizer_agent_instructions.jinja +4 -0
  24. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/prompt/extractor_prompt_optimizer_request.jinja +11 -0
  25. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/__init__.py +2 -6
  26. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/base.py +85 -94
  27. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/configuration.py +39 -14
  28. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/files.py +2 -0
  29. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/runner.py +1 -48
  30. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/response/tool_call.py +93 -0
  31. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/vector_store.py +8 -5
  32. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/streamlit_app/app.py +1 -1
  33. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/__init__.py +16 -0
  34. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/base.py +239 -278
  35. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/structure/extraction.py +1228 -0
  36. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/plan/plan.py +0 -20
  37. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/plan/task.py +0 -33
  38. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/prompt.py +16 -0
  39. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/responses.py +2 -2
  40. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/web_search.py +0 -10
  41. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/tools.py +569 -0
  42. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/__init__.py +7 -0
  43. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/utils/json/base_model.py +464 -0
  44. openai_sdk_helpers-0.5.0/src/openai_sdk_helpers/utils/langextract.py +194 -0
  45. openai_sdk_helpers-0.4.3/src/openai_sdk_helpers/response/tool_call.py +0 -234
  46. openai_sdk_helpers-0.4.3/src/openai_sdk_helpers/streamlit_app/streamlit_web_search.py +0 -75
  47. openai_sdk_helpers-0.4.3/src/openai_sdk_helpers/tools.py +0 -322
  48. openai_sdk_helpers-0.4.3/src/openai_sdk_helpers/utils/json/base_model.py +0 -181
  49. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/.gitignore +0 -0
  50. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/LICENSE +0 -0
  51. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/search/__init__.py +0 -0
  52. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/agent/utils.py +0 -0
  53. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/cli.py +0 -0
  54. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/enums/__init__.py +0 -0
  55. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/enums/base.py +0 -0
  56. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/environment.py +0 -0
  57. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/files_api.py +0 -0
  58. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/logging.py +0 -0
  59. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/prompt/__init__.py +0 -0
  60. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/prompt/base.py +0 -0
  61. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/prompt/summarizer.jinja +0 -0
  62. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/prompt/translator.jinja +0 -0
  63. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/prompt/validator.jinja +0 -0
  64. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/prompt/vector_planner.jinja +0 -0
  65. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/prompt/vector_search.jinja +0 -0
  66. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/prompt/vector_writer.jinja +0 -0
  67. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/py.typed +0 -0
  68. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/messages.py +0 -0
  69. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/planner.py +0 -0
  70. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/response/prompter.py +0 -0
  71. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/settings.py +0 -0
  72. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/streamlit_app/__init__.py +0 -0
  73. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/streamlit_app/configuration.py +0 -0
  74. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/agent_blueprint.py +0 -0
  75. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/plan/__init__.py +0 -0
  76. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/plan/enum.py +0 -0
  77. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/plan/helpers.py +0 -0
  78. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/plan/types.py +0 -0
  79. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/summary.py +0 -0
  80. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/translation.py +0 -0
  81. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/validation.py +0 -0
  82. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/structure/vector_search.py +0 -0
  83. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/types.py +0 -0
  84. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/async_utils.py +0 -0
  85. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/coercion.py +0 -0
  86. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/encoding.py +0 -0
  87. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/instructions.py +0 -0
  88. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/json/__init__.py +0 -0
  89. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/json/data_class.py +0 -0
  90. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/json/ref.py +0 -0
  91. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/json/utils.py +0 -0
  92. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/output_validation.py +0 -0
  93. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/path_utils.py +0 -0
  94. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/registry.py +0 -0
  95. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/utils/validation.py +0 -0
  96. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/vector_storage/__init__.py +0 -0
  97. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/vector_storage/cleanup.py +0 -0
  98. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.0}/src/openai_sdk_helpers/vector_storage/storage.py +0 -0
  99. {openai_sdk_helpers-0.4.3 → openai_sdk_helpers-0.5.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.4.3
3
+ Version: 0.5.0
4
4
  Summary: Composable helpers for OpenAI SDK agents, prompts, and storage
5
5
  Author: openai-sdk-helpers maintainers
6
6
  License: MIT
@@ -17,6 +17,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
17
  Classifier: Typing :: Typed
18
18
  Requires-Python: >=3.10
19
19
  Requires-Dist: jinja2
20
+ Requires-Dist: langextract
20
21
  Requires-Dist: openai-agents<1.0.0,>=0.6.4
21
22
  Requires-Dist: openai<3.0.0,>=2.14.0
22
23
  Requires-Dist: pydantic<3,>=2.7
@@ -31,6 +32,8 @@ Requires-Dist: pyright; extra == 'dev'
31
32
  Requires-Dist: pytest; extra == 'dev'
32
33
  Requires-Dist: pytest-asyncio; extra == 'dev'
33
34
  Requires-Dist: pytest-cov; extra == 'dev'
35
+ Provides-Extra: extract
36
+ Requires-Dist: langextract; extra == 'extract'
34
37
  Description-Content-Type: text/markdown
35
38
 
36
39
  <div align="center">
@@ -78,7 +81,7 @@ structures, configuration helpers, and orchestration utilities—while leaving
78
81
  application-specific prompts and tools to the consuming project.
79
82
 
80
83
  **Important**: This library integrates with **two distinct OpenAI SDKs**:
81
- - **`openai-agents`** - Used by the `agent` module for high-level agent workflows with automatic tool handling and streaming
84
+ - **`openai-agents`** - Used by the `agent` module for high-level agent workflows with automatic tool handling
82
85
  - **`openai`** - Used by the `response` module for direct API interactions with fine-grained control over responses
83
86
 
84
87
  The `agent` module provides a higher-level abstraction for building agents, while the `response` module offers lower-level control for custom response handling workflows.
@@ -302,7 +305,7 @@ response.close()
302
305
  ```
303
306
 
304
307
  **Key Differences:**
305
- - **Agent Module**: Higher-level abstraction with built-in streaming, automatic tool handling, and agent-specific workflows
308
+ - **Agent Module**: Higher-level abstraction with automatic tool handling and agent-specific workflows
306
309
  - **Response Module**: Lower-level control with manual message management, custom tool handlers, and direct API access
307
310
 
308
311
  ## Advanced Usage
@@ -523,7 +526,7 @@ The package is organized around cohesive, reusable building blocks:
523
526
 
524
527
  ### Agent Modules (Built on `openai-agents` SDK)
525
528
 
526
- These modules use the `openai-agents` SDK for high-level agent workflows with automatic streaming, tool handling, and conversation management.
529
+ These modules use the `openai-agents` SDK for high-level agent workflows with automatic tool handling and conversation management.
527
530
 
528
531
  - **`openai_sdk_helpers.agent.base.AgentBase`**
529
532
  Base class for all agents with synchronous and asynchronous execution support.
@@ -585,6 +588,17 @@ These modules use the standard `openai` SDK for direct API interactions with fin
585
588
  - **`openai_sdk_helpers.utils`**
586
589
  JSON serialization helpers, logging utilities, and common validation functions.
587
590
 
591
+ - **`openai_sdk_helpers.utils.langextract`**
592
+ Adapter helpers for running LangExtract-style extractors and validating the
593
+ results into Pydantic models.
594
+
595
+ ## Related Projects
596
+
597
+ - **[LangExtract](https://github.com/google/langextract)**
598
+ Google-maintained toolkit for extracting structured data from language model
599
+ outputs, which can complement the validation and response utilities in
600
+ `openai-sdk-helpers`.
601
+
588
602
  ## Contributing
589
603
 
590
604
  Contributions are welcome! We appreciate functional changes accompanied by
@@ -43,7 +43,7 @@ structures, configuration helpers, and orchestration utilities—while leaving
43
43
  application-specific prompts and tools to the consuming project.
44
44
 
45
45
  **Important**: This library integrates with **two distinct OpenAI SDKs**:
46
- - **`openai-agents`** - Used by the `agent` module for high-level agent workflows with automatic tool handling and streaming
46
+ - **`openai-agents`** - Used by the `agent` module for high-level agent workflows with automatic tool handling
47
47
  - **`openai`** - Used by the `response` module for direct API interactions with fine-grained control over responses
48
48
 
49
49
  The `agent` module provides a higher-level abstraction for building agents, while the `response` module offers lower-level control for custom response handling workflows.
@@ -267,7 +267,7 @@ response.close()
267
267
  ```
268
268
 
269
269
  **Key Differences:**
270
- - **Agent Module**: Higher-level abstraction with built-in streaming, automatic tool handling, and agent-specific workflows
270
+ - **Agent Module**: Higher-level abstraction with automatic tool handling and agent-specific workflows
271
271
  - **Response Module**: Lower-level control with manual message management, custom tool handlers, and direct API access
272
272
 
273
273
  ## Advanced Usage
@@ -488,7 +488,7 @@ The package is organized around cohesive, reusable building blocks:
488
488
 
489
489
  ### Agent Modules (Built on `openai-agents` SDK)
490
490
 
491
- These modules use the `openai-agents` SDK for high-level agent workflows with automatic streaming, tool handling, and conversation management.
491
+ These modules use the `openai-agents` SDK for high-level agent workflows with automatic tool handling and conversation management.
492
492
 
493
493
  - **`openai_sdk_helpers.agent.base.AgentBase`**
494
494
  Base class for all agents with synchronous and asynchronous execution support.
@@ -550,6 +550,17 @@ These modules use the standard `openai` SDK for direct API interactions with fin
550
550
  - **`openai_sdk_helpers.utils`**
551
551
  JSON serialization helpers, logging utilities, and common validation functions.
552
552
 
553
+ - **`openai_sdk_helpers.utils.langextract`**
554
+ Adapter helpers for running LangExtract-style extractors and validating the
555
+ results into Pydantic models.
556
+
557
+ ## Related Projects
558
+
559
+ - **[LangExtract](https://github.com/google/langextract)**
560
+ Google-maintained toolkit for extracting structured data from language model
561
+ outputs, which can complement the validation and response utilities in
562
+ `openai-sdk-helpers`.
563
+
553
564
  ## Contributing
554
565
 
555
566
  Contributions are welcome! We appreciate functional changes accompanied by
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "openai-sdk-helpers"
3
- version = "0.4.3"
3
+ version = "0.5.0"
4
4
  requires-python = ">=3.10"
5
5
  readme = "README.md"
6
6
  description = "Composable helpers for OpenAI SDK agents, prompts, and storage"
@@ -36,7 +36,8 @@ dependencies = [
36
36
  # OpenAI functionality (tested with openai==2.14.0, openai-agents==0.6.4)
37
37
  "openai>=2.14.0,<3.0.0",
38
38
  "openai-agents>=0.6.4,<1.0.0",
39
-
39
+ # Language extraction
40
+ "langextract",
40
41
 
41
42
  # Web UI
42
43
  "streamlit",
@@ -57,6 +58,9 @@ dev = [
57
58
  "pytest",
58
59
  "pytest-asyncio",
59
60
  ]
61
+ extract = [
62
+ "langextract",
63
+ ]
60
64
 
61
65
  [build-system]
62
66
  requires = ["hatchling"]
@@ -16,6 +16,7 @@ from .errors import (
16
16
  InputValidationError,
17
17
  AsyncExecutionError,
18
18
  ResourceCleanupError,
19
+ ExtractionError,
19
20
  )
20
21
 
21
22
  from .utils.validation import (
@@ -40,6 +41,11 @@ from .structure import (
40
41
  ExtendedSummaryStructure,
41
42
  ValidationResultStructure,
42
43
  AgentBlueprint,
44
+ AnnotatedDocumentStructure,
45
+ AttributeStructure,
46
+ DocumentStructure,
47
+ ExampleDataStructure,
48
+ ExtractionStructure,
43
49
  create_plan,
44
50
  execute_task,
45
51
  execute_plan,
@@ -67,15 +73,15 @@ from .response import (
67
73
  ResponseConfiguration,
68
74
  ResponseRegistry,
69
75
  get_default_registry,
70
- parse_tool_arguments,
71
76
  attach_vector_store,
72
77
  )
73
78
  from .tools import (
74
- serialize_tool_result,
75
79
  tool_handler_factory,
76
80
  StructureType,
81
+ ToolHandler,
82
+ ToolHandlerRegistration,
77
83
  ToolSpec,
78
- build_tool_definitions,
84
+ build_tool_definition_list,
79
85
  )
80
86
  from .settings import build_openai_settings
81
87
  from .utils.output_validation import (
@@ -87,7 +93,17 @@ from .utils.output_validation import (
87
93
  OutputValidator,
88
94
  validate_output,
89
95
  )
90
-
96
+ from .utils.langextract import LangExtractAdapter, build_langextract_adapter
97
+ from .extract import (
98
+ DocumentExtractor,
99
+ EXTRACTOR_CONFIG_AGENT_INSTRUCTIONS,
100
+ EXTRACTOR_CONFIG_GENERATOR,
101
+ PROMPT_OPTIMIZER_AGENT_INSTRUCTIONS,
102
+ generate_document_extractor_config,
103
+ generate_document_extractor_config_with_agent,
104
+ optimize_extractor_prompt,
105
+ optimize_extractor_prompt_with_agent,
106
+ )
91
107
 
92
108
  __all__ = [
93
109
  # Environment utilities
@@ -106,6 +122,7 @@ __all__ = [
106
122
  "InputValidationError",
107
123
  "AsyncExecutionError",
108
124
  "ResourceCleanupError",
125
+ "ExtractionError",
109
126
  # Validation
110
127
  "validate_non_empty_string",
111
128
  "validate_max_length",
@@ -143,6 +160,11 @@ __all__ = [
143
160
  "WebSearchStructure",
144
161
  "VectorSearchStructure",
145
162
  "ValidationResultStructure",
163
+ "AnnotatedDocumentStructure",
164
+ "AttributeStructure",
165
+ "DocumentStructure",
166
+ "ExampleDataStructure",
167
+ "ExtractionStructure",
146
168
  "ResponseBase",
147
169
  "ResponseMessage",
148
170
  "ResponseMessages",
@@ -150,13 +172,13 @@ __all__ = [
150
172
  "ResponseConfiguration",
151
173
  "ResponseRegistry",
152
174
  "get_default_registry",
153
- "parse_tool_arguments",
154
175
  "attach_vector_store",
155
- "serialize_tool_result",
156
176
  "tool_handler_factory",
157
177
  "StructureType",
178
+ "ToolHandler",
179
+ "ToolHandlerRegistration",
158
180
  "ToolSpec",
159
- "build_tool_definitions",
181
+ "build_tool_definition_list",
160
182
  "build_openai_settings",
161
183
  "create_plan",
162
184
  "execute_task",
@@ -169,4 +191,16 @@ __all__ = [
169
191
  "LengthValidator",
170
192
  "OutputValidator",
171
193
  "validate_output",
194
+ # LangExtract
195
+ "LangExtractAdapter",
196
+ "build_langextract_adapter",
197
+ # Extraction helpers
198
+ "DocumentExtractor",
199
+ "EXTRACTOR_CONFIG_AGENT_INSTRUCTIONS",
200
+ "EXTRACTOR_CONFIG_GENERATOR",
201
+ "PROMPT_OPTIMIZER_AGENT_INSTRUCTIONS",
202
+ "generate_document_extractor_config",
203
+ "generate_document_extractor_config_with_agent",
204
+ "optimize_extractor_prompt",
205
+ "optimize_extractor_prompt_with_agent",
172
206
  ]
@@ -5,7 +5,7 @@ from .base import AgentBase
5
5
  from .configuration import AgentConfiguration, AgentRegistry, get_default_registry
6
6
  from ..structure.plan.enum import AgentEnum
7
7
  from .coordinator import CoordinatorAgent
8
- from .runner import run_sync, run_async, run_streamed
8
+ from .runner import run_sync, run_async
9
9
  from .search.base import SearchPlanner, SearchToolAgent, SearchWriter
10
10
  from .summarizer import SummarizerAgent
11
11
  from .translator import TranslatorAgent
@@ -23,7 +23,6 @@ __all__ = [
23
23
  "CoordinatorAgent",
24
24
  "run_sync",
25
25
  "run_async",
26
- "run_streamed",
27
26
  "run_coroutine_agent_sync",
28
27
  "SearchPlanner",
29
28
  "SearchToolAgent",