openai-sdk-helpers 0.3.0__py3-none-any.whl → 0.4.1__py3-none-any.whl
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.
- openai_sdk_helpers/__init__.py +6 -6
- openai_sdk_helpers/agent/__init__.py +4 -4
- openai_sdk_helpers/agent/base.py +254 -113
- openai_sdk_helpers/agent/config.py +91 -37
- openai_sdk_helpers/agent/coordination.py +64 -28
- openai_sdk_helpers/agent/runner.py +16 -15
- openai_sdk_helpers/agent/search/base.py +94 -45
- openai_sdk_helpers/agent/search/vector.py +86 -58
- openai_sdk_helpers/agent/search/web.py +71 -40
- openai_sdk_helpers/agent/summarizer.py +32 -7
- openai_sdk_helpers/agent/translator.py +57 -24
- openai_sdk_helpers/agent/validation.py +34 -4
- openai_sdk_helpers/cli.py +42 -0
- openai_sdk_helpers/config.py +0 -1
- openai_sdk_helpers/environment.py +3 -2
- openai_sdk_helpers/files_api.py +35 -3
- openai_sdk_helpers/prompt/base.py +6 -0
- openai_sdk_helpers/response/__init__.py +3 -3
- openai_sdk_helpers/response/base.py +142 -73
- openai_sdk_helpers/response/config.py +63 -58
- openai_sdk_helpers/response/files.py +5 -5
- openai_sdk_helpers/response/messages.py +3 -3
- openai_sdk_helpers/response/runner.py +7 -7
- openai_sdk_helpers/response/tool_call.py +94 -4
- openai_sdk_helpers/response/vector_store.py +3 -3
- openai_sdk_helpers/streamlit_app/__init__.py +4 -4
- openai_sdk_helpers/streamlit_app/app.py +16 -16
- openai_sdk_helpers/streamlit_app/config.py +82 -70
- openai_sdk_helpers/streamlit_app/streamlit_web_search.py +2 -2
- openai_sdk_helpers/structure/__init__.py +6 -2
- openai_sdk_helpers/structure/agent_blueprint.py +2 -2
- openai_sdk_helpers/structure/base.py +8 -99
- openai_sdk_helpers/structure/plan/plan.py +2 -2
- openai_sdk_helpers/structure/plan/task.py +9 -9
- openai_sdk_helpers/structure/prompt.py +2 -2
- openai_sdk_helpers/structure/responses.py +15 -15
- openai_sdk_helpers/structure/summary.py +3 -3
- openai_sdk_helpers/structure/translation.py +32 -0
- openai_sdk_helpers/structure/validation.py +2 -2
- openai_sdk_helpers/structure/vector_search.py +7 -7
- openai_sdk_helpers/structure/web_search.py +6 -6
- openai_sdk_helpers/tools.py +41 -15
- openai_sdk_helpers/utils/__init__.py +19 -5
- openai_sdk_helpers/utils/json/__init__.py +55 -0
- openai_sdk_helpers/utils/json/base_model.py +181 -0
- openai_sdk_helpers/utils/{json_utils.py → json/data_class.py} +33 -68
- openai_sdk_helpers/utils/json/ref.py +113 -0
- openai_sdk_helpers/utils/json/utils.py +203 -0
- openai_sdk_helpers/utils/output_validation.py +21 -1
- openai_sdk_helpers/utils/path_utils.py +34 -1
- openai_sdk_helpers/utils/registry.py +46 -8
- openai_sdk_helpers/vector_storage/storage.py +10 -0
- {openai_sdk_helpers-0.3.0.dist-info → openai_sdk_helpers-0.4.1.dist-info}/METADATA +7 -7
- openai_sdk_helpers-0.4.1.dist-info/RECORD +86 -0
- openai_sdk_helpers-0.3.0.dist-info/RECORD +0 -81
- {openai_sdk_helpers-0.3.0.dist-info → openai_sdk_helpers-0.4.1.dist-info}/WHEEL +0 -0
- {openai_sdk_helpers-0.3.0.dist-info → openai_sdk_helpers-0.4.1.dist-info}/entry_points.txt +0 -0
- {openai_sdk_helpers-0.3.0.dist-info → openai_sdk_helpers-0.4.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -24,6 +24,18 @@ def check_filepath(
|
|
|
24
24
|
-------
|
|
25
25
|
Path
|
|
26
26
|
Path object representing the validated file path.
|
|
27
|
+
|
|
28
|
+
Raises
|
|
29
|
+
------
|
|
30
|
+
ValueError
|
|
31
|
+
If both or neither of filepath and fullfilepath are provided.
|
|
32
|
+
IOError
|
|
33
|
+
If the directory cannot be created.
|
|
34
|
+
|
|
35
|
+
Examples
|
|
36
|
+
--------
|
|
37
|
+
>>> check_filepath(fullfilepath="/tmp/my_app/data.json")
|
|
38
|
+
Path('/tmp/my_app/data.json')
|
|
27
39
|
"""
|
|
28
40
|
if filepath is None and fullfilepath is None:
|
|
29
41
|
raise ValueError("filepath or fullfilepath is required.")
|
|
@@ -38,7 +50,28 @@ def check_filepath(
|
|
|
38
50
|
|
|
39
51
|
|
|
40
52
|
def ensure_directory(path: Path) -> Path:
|
|
41
|
-
"""Ensure a directory exists and return it.
|
|
53
|
+
"""Ensure a directory exists and return it.
|
|
54
|
+
|
|
55
|
+
Parameters
|
|
56
|
+
----------
|
|
57
|
+
path : Path
|
|
58
|
+
The directory path to check and create if necessary.
|
|
59
|
+
|
|
60
|
+
Returns
|
|
61
|
+
-------
|
|
62
|
+
Path
|
|
63
|
+
The validated Path object for the directory.
|
|
64
|
+
|
|
65
|
+
Raises
|
|
66
|
+
------
|
|
67
|
+
IOError
|
|
68
|
+
If the directory cannot be created.
|
|
69
|
+
|
|
70
|
+
Examples
|
|
71
|
+
--------
|
|
72
|
+
>>> ensure_directory(Path("/tmp/my_app"))
|
|
73
|
+
Path('/tmp/my_app')
|
|
74
|
+
"""
|
|
42
75
|
path.mkdir(parents=True, exist_ok=True)
|
|
43
76
|
return path
|
|
44
77
|
|
|
@@ -4,14 +4,42 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import warnings
|
|
6
6
|
from pathlib import Path
|
|
7
|
-
from typing import Generic, TypeVar
|
|
7
|
+
from typing import Generic, Protocol, TypeVar
|
|
8
|
+
from typing_extensions import Self
|
|
8
9
|
|
|
9
10
|
from .path_utils import ensure_directory
|
|
10
11
|
|
|
11
|
-
T = TypeVar("T")
|
|
12
12
|
|
|
13
|
+
class RegistrySerializable(Protocol):
|
|
14
|
+
"""Protocol describing serializable registry entries.
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
Methods
|
|
17
|
+
-------
|
|
18
|
+
to_json_file(filepath)
|
|
19
|
+
Write the instance to a JSON file path.
|
|
20
|
+
from_json_file(filepath)
|
|
21
|
+
Load an instance from a JSON file path.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
@property
|
|
25
|
+
def name(self) -> str:
|
|
26
|
+
"""Return the configuration name."""
|
|
27
|
+
...
|
|
28
|
+
|
|
29
|
+
def to_json_file(self, filepath: Path | str) -> str:
|
|
30
|
+
"""Write serialized JSON data to a file path."""
|
|
31
|
+
...
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def from_json_file(cls, filepath: Path | str) -> Self:
|
|
35
|
+
"""Load an instance from a JSON file."""
|
|
36
|
+
...
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
T = TypeVar("T", bound=RegistrySerializable)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class RegistryBase(Generic[T]):
|
|
15
43
|
"""Base registry for managing configuration instances.
|
|
16
44
|
|
|
17
45
|
Provides centralized storage and retrieval of configurations,
|
|
@@ -43,6 +71,17 @@ class BaseRegistry(Generic[T]):
|
|
|
43
71
|
"""Initialize an empty registry."""
|
|
44
72
|
self._configs: dict[str, T] = {}
|
|
45
73
|
|
|
74
|
+
@property
|
|
75
|
+
def configs(self) -> dict[str, T]:
|
|
76
|
+
"""Return the internal configuration mapping.
|
|
77
|
+
|
|
78
|
+
Returns
|
|
79
|
+
-------
|
|
80
|
+
dict[str, T]
|
|
81
|
+
Mapping of configuration names to instances.
|
|
82
|
+
"""
|
|
83
|
+
return self._configs
|
|
84
|
+
|
|
46
85
|
def register(self, config: T) -> None:
|
|
47
86
|
"""Add a configuration to the registry.
|
|
48
87
|
|
|
@@ -121,7 +160,7 @@ class BaseRegistry(Generic[T]):
|
|
|
121
160
|
If the directory cannot be created or files cannot be written.
|
|
122
161
|
"""
|
|
123
162
|
dir_path = ensure_directory(Path(path))
|
|
124
|
-
config_names = self.
|
|
163
|
+
config_names = self.configs
|
|
125
164
|
|
|
126
165
|
if not config_names:
|
|
127
166
|
return
|
|
@@ -129,9 +168,8 @@ class BaseRegistry(Generic[T]):
|
|
|
129
168
|
for config_name in config_names:
|
|
130
169
|
config = self.get(config_name)
|
|
131
170
|
filename = f"{config_name}.json"
|
|
132
|
-
filepath = dir_path / filename
|
|
133
|
-
|
|
134
|
-
getattr(config, "to_json_file")(filepath)
|
|
171
|
+
filepath = dir_path / config.__class__.__name__ / filename
|
|
172
|
+
config.to_json_file(filepath)
|
|
135
173
|
|
|
136
174
|
def load_from_directory(self, path: Path | str, *, config_class: type[T]) -> int:
|
|
137
175
|
"""Load all configurations from JSON files in a directory.
|
|
@@ -170,7 +208,7 @@ class BaseRegistry(Generic[T]):
|
|
|
170
208
|
count = 0
|
|
171
209
|
for json_file in sorted(dir_path.glob("*.json")):
|
|
172
210
|
try:
|
|
173
|
-
config =
|
|
211
|
+
config = config_class.from_json_file(json_file)
|
|
174
212
|
self.register(config)
|
|
175
213
|
count += 1
|
|
176
214
|
except Exception as exc:
|
|
@@ -56,6 +56,16 @@ class VectorStorage:
|
|
|
56
56
|
including file uploads, deletions, and semantic search operations. It handles
|
|
57
57
|
file caching, concurrent uploads, and automatic store creation.
|
|
58
58
|
|
|
59
|
+
Parameters
|
|
60
|
+
----------
|
|
61
|
+
store_name : str
|
|
62
|
+
Name of the vector store to create or connect to.
|
|
63
|
+
client : OpenAIClient or None, optional
|
|
64
|
+
Preconfigured OpenAI-compatible client, by default None.
|
|
65
|
+
model : str or None, optional
|
|
66
|
+
Embedding model identifier. Reads OPENAI_MODEL env var if None,
|
|
67
|
+
by default None.
|
|
68
|
+
|
|
59
69
|
Examples
|
|
60
70
|
--------
|
|
61
71
|
Basic usage:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openai-sdk-helpers
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.1
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
openai_sdk_helpers/__init__.py,sha256=ZvcdJWHP7oMRxSGemxgO7CIpF0dc6oBTh4oftZAYv3c,4640
|
|
2
|
+
openai_sdk_helpers/cli.py,sha256=YnQz-IcAqcBdh8eCCxVYa7NHDuHgHaU-PJ4FWPvkz58,8278
|
|
3
|
+
openai_sdk_helpers/config.py,sha256=xK_u0YNKgtPrLrZrVr4F4k0CvSuYbsmkqqw9mCMdyF8,10932
|
|
4
|
+
openai_sdk_helpers/context_manager.py,sha256=QqlrtenwKoz2krY0IzuToKdTX1HptUYtIEylxieybgY,6633
|
|
5
|
+
openai_sdk_helpers/deprecation.py,sha256=VF0VDDegawYhsu5f-vE6dop9ob-jv8egxsm0KsPvP9E,4753
|
|
6
|
+
openai_sdk_helpers/environment.py,sha256=PqH9viiGIgRAiwU8xPPWlE25KbgSBLmE6nj7S8izCV4,1491
|
|
7
|
+
openai_sdk_helpers/errors.py,sha256=0TLrcpRXPBvk2KlrU5I1VAQl-sYy-d15h_SMDkEawvI,2757
|
|
8
|
+
openai_sdk_helpers/files_api.py,sha256=uMKHvGg1Od0J95Izl3AG9ofQYq8EDJXEty7zP0oKjJM,12569
|
|
9
|
+
openai_sdk_helpers/logging_config.py,sha256=JcR0FTWht1tYdwD-bXH835pr0JV0RwHfY3poruiZGHM,795
|
|
10
|
+
openai_sdk_helpers/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
+
openai_sdk_helpers/retry.py,sha256=J10oQYphfzDXm3BnLoXwxk7PAhN93TC2LQOv0VDGOwI,6533
|
|
12
|
+
openai_sdk_helpers/tools.py,sha256=Awj5htt1ImBbNToM1u6qdrIZ-7MiPZAXZ_oKKiWivy8,10547
|
|
13
|
+
openai_sdk_helpers/types.py,sha256=xzldCRfwCZ3rZl18IBmfgA-PVdoZKSWNrlSIhirumSo,1451
|
|
14
|
+
openai_sdk_helpers/agent/__init__.py,sha256=vEI4LG7WJaP6WwCcO_5lE7CEOHOl2vUhY5Ai4El2Syk,1060
|
|
15
|
+
openai_sdk_helpers/agent/base.py,sha256=BZ9EImXFeM9x_79T9tla8cD7CzYDstZBkv4mQkZ7XYk,21635
|
|
16
|
+
openai_sdk_helpers/agent/config.py,sha256=tTw2f0VZmIl8MQrJzdsYFZ-daSrm9mpTdZ1RxFON9Yc,15848
|
|
17
|
+
openai_sdk_helpers/agent/coordination.py,sha256=VTzyl4RV1q4ugiyFW4Fj7pOAVVO0bMRD63PfQRDwfoQ,18030
|
|
18
|
+
openai_sdk_helpers/agent/prompt_utils.py,sha256=-1M66tqQxh9wWCFg6X-K7cCcqauca3yA04ZjvOpN3bA,337
|
|
19
|
+
openai_sdk_helpers/agent/runner.py,sha256=aOVN1OYKK5_u7oFBqRCOOeTgcb-lLl4kZGxuPLmJrMw,4884
|
|
20
|
+
openai_sdk_helpers/agent/summarizer.py,sha256=lg_PLB1DSHox3PNDgiCzvCPM5VoCUbKEMGy1gqUvl8Y,4168
|
|
21
|
+
openai_sdk_helpers/agent/translator.py,sha256=3u7er1GhUGdy7OMa3A_vyqFFZfev3XBCZW_6w5OwYVc,6286
|
|
22
|
+
openai_sdk_helpers/agent/utils.py,sha256=DTD5foCqGYfXf13F2bZMYIQROl7SbDSy5GDPGi0Zl-0,1089
|
|
23
|
+
openai_sdk_helpers/agent/validation.py,sha256=6NHZIFaUOqRZeYqvRBnDc_uApAV3YHJnOhLHKbVUsi0,5094
|
|
24
|
+
openai_sdk_helpers/agent/search/__init__.py,sha256=xqosfzH4HcBs9IFZks9msG_694rS5q6Ea4_qNeRQRmU,798
|
|
25
|
+
openai_sdk_helpers/agent/search/base.py,sha256=VokTw3-V2yxGzm2WzlcvU100h3UaeyGslCFwIgMvJwI,10146
|
|
26
|
+
openai_sdk_helpers/agent/search/vector.py,sha256=i5nWUvEE9eAv41FwbMT52uORZ7OHCEc8d4F6qH-klCc,14282
|
|
27
|
+
openai_sdk_helpers/agent/search/web.py,sha256=7rYvFAZ1S00IaFPcneEOP2yY2vKIvYdnJvAbVTRbESc,10767
|
|
28
|
+
openai_sdk_helpers/enums/__init__.py,sha256=aFf79C4JBeLC3kMlJfSpehyjx5uNCtW6eK5rD6ZFfhM,322
|
|
29
|
+
openai_sdk_helpers/enums/base.py,sha256=cNllDtzcgI0_eZYXxFko14yhxwicX6xbeDfz9gFE3qo,2753
|
|
30
|
+
openai_sdk_helpers/prompt/__init__.py,sha256=MOqgKwG9KLqKudoKRlUfLxiSmdOi2aD6hNrWDFqLHkk,418
|
|
31
|
+
openai_sdk_helpers/prompt/base.py,sha256=6X0zeopEvO0ba8207O8Nnj1QvFZEZier7kNNh4qkcmE,7782
|
|
32
|
+
openai_sdk_helpers/prompt/summarizer.jinja,sha256=jliSetWDISbql1EkWi1RB8-L_BXUg8JMkRRsPRHuzbY,309
|
|
33
|
+
openai_sdk_helpers/prompt/translator.jinja,sha256=SZhW8ipEzM-9IA4wyS_r2wIMTAclWrilmk1s46njoL0,291
|
|
34
|
+
openai_sdk_helpers/prompt/validator.jinja,sha256=6t8q_IdxFd3mVBGX6SFKNOert1Wo3YpTOji2SNEbbtE,547
|
|
35
|
+
openai_sdk_helpers/response/__init__.py,sha256=Rh3tBygneOhS-Er_4dtX4Xa69ukvxYv01brq26VpgwQ,1886
|
|
36
|
+
openai_sdk_helpers/response/base.py,sha256=OA1p9h6EIzwt8VCWFXEalaQHOe0_eZDefqs5jQKu-vU,34844
|
|
37
|
+
openai_sdk_helpers/response/config.py,sha256=nVEf4KSlBmKHa9Yl78nNi-t60BIwkGqBC2bCRu_q_xQ,9304
|
|
38
|
+
openai_sdk_helpers/response/files.py,sha256=6iHXeNZg4R08ilQ7D53qIJDQGYPpTLcByAhNJlEwbZ4,13226
|
|
39
|
+
openai_sdk_helpers/response/messages.py,sha256=qX3sW79rLuJEys28zyv5MovZikwGOaLevzdVN0VYMRE,10104
|
|
40
|
+
openai_sdk_helpers/response/runner.py,sha256=Rg8XmxU5UwxJc3MjPlYlXWDimxy_cjxzefGiruNZK6s,4269
|
|
41
|
+
openai_sdk_helpers/response/tool_call.py,sha256=c9Filh4IG5H_RWuJlYl6KUZDaF7mCjkabFRQMNiz7zM,7422
|
|
42
|
+
openai_sdk_helpers/response/vector_store.py,sha256=cG5Mzdhjw5FsX1phgclIGz2MQ8f8uMKBaage1O2EZQU,3074
|
|
43
|
+
openai_sdk_helpers/streamlit_app/__init__.py,sha256=DIXClgbzncsex2vnXUGjBwvykazx4-Bz089beZiq8vc,805
|
|
44
|
+
openai_sdk_helpers/streamlit_app/app.py,sha256=jNkMQ4zkfojP501qk_vncyLN4TymiDXxA3cXkUvBfsw,17402
|
|
45
|
+
openai_sdk_helpers/streamlit_app/config.py,sha256=t1fylt53eVmnNOfBXwpfDyG-Jji9JBUb0ZyrtUWBZ1s,16594
|
|
46
|
+
openai_sdk_helpers/streamlit_app/streamlit_web_search.py,sha256=21xhBhdTsqK6ybPcLzSKSLOVeK8a3x9y_rRNvNBOAGM,2812
|
|
47
|
+
openai_sdk_helpers/structure/__init__.py,sha256=jROw0IbXYVRD2Eb3dBMsB6amQZrX8X7XSgGh_zjsZWc,3469
|
|
48
|
+
openai_sdk_helpers/structure/agent_blueprint.py,sha256=VyJWkgPNzAYKRDMeR1M4kE6qqQURnwqtrrEn0TRJf0g,9698
|
|
49
|
+
openai_sdk_helpers/structure/base.py,sha256=7JuHxKkLR5gP0RWGQIjOQlvySfain6LrB4-zHb0oFxo,25298
|
|
50
|
+
openai_sdk_helpers/structure/prompt.py,sha256=Pp3j-fOG0SWQO5Ts9zS86n8cveSB6kWzSGHW6J9MlcY,1075
|
|
51
|
+
openai_sdk_helpers/structure/responses.py,sha256=eqCcW4d8lwhUF5kzHMA4FR9uNkaBHl8CuZk7a8YrenI,4868
|
|
52
|
+
openai_sdk_helpers/structure/summary.py,sha256=iP1uffqve18B9HXceP4rV0Ho5AaDZXMmC66tRKDNx3c,3143
|
|
53
|
+
openai_sdk_helpers/structure/translation.py,sha256=rBSzGBX6hGaETD43340z9MbKGsxWekjRD4xEZz67SnI,712
|
|
54
|
+
openai_sdk_helpers/structure/validation.py,sha256=D03rlyBDn22qNjTGaGsjhsk3g50oPmzYMFqycYF2_CU,2409
|
|
55
|
+
openai_sdk_helpers/structure/vector_search.py,sha256=XNQsG6_-c7X6TpXjqWOdKCmqXatX1gwd0zq-hII3cz4,5782
|
|
56
|
+
openai_sdk_helpers/structure/web_search.py,sha256=8ETWc2G1eO3dWkNQrs5rsxvHHyhyG1puEYUVRNCLUYI,4572
|
|
57
|
+
openai_sdk_helpers/structure/plan/__init__.py,sha256=IGr0Tk4inN_8o7fT2N02_FTi6U6l2T9_npcQHAlBwKA,1076
|
|
58
|
+
openai_sdk_helpers/structure/plan/enum.py,sha256=seESSwH-IeeW-9BqIMUQyk3qjtchfU3TDhF9HPDB1OM,3079
|
|
59
|
+
openai_sdk_helpers/structure/plan/helpers.py,sha256=Vc6dBTMFrNWlsaCTpEImEIKjfFq4BSSxNjB4K8dywOQ,5139
|
|
60
|
+
openai_sdk_helpers/structure/plan/plan.py,sha256=CStfSfCdcv7HfLWV_G09xElJvq_kAKi_6JDkB3I7cSI,9663
|
|
61
|
+
openai_sdk_helpers/structure/plan/task.py,sha256=FSdt2OJ_arC60zMoWIUHMT3U1syWM_7svyTpOIwiRSM,4580
|
|
62
|
+
openai_sdk_helpers/structure/plan/types.py,sha256=7y9QEVdZreQUXV7n-R4RoNZzw5HeOVbJGWx9QkSfuNY,418
|
|
63
|
+
openai_sdk_helpers/utils/__init__.py,sha256=8SghfmiFhNhMj8Wuop1SAtEt1F8QJb_r4jhi5DtSCDE,3670
|
|
64
|
+
openai_sdk_helpers/utils/async_utils.py,sha256=9KbPEVfi6IXdbwkTUE0h5DleK8TI7I6P_VPL8UgUv98,3689
|
|
65
|
+
openai_sdk_helpers/utils/coercion.py,sha256=Pq1u7tAbD7kTZ84lK-7Fb9CyYKKKQt4fypG5BlSI6oQ,3774
|
|
66
|
+
openai_sdk_helpers/utils/deprecation.py,sha256=VF0VDDegawYhsu5f-vE6dop9ob-jv8egxsm0KsPvP9E,4753
|
|
67
|
+
openai_sdk_helpers/utils/encoding.py,sha256=oDtlNGZ5p-edXiHW76REs-0-8NXkQNReKJdj6sHLkt8,4615
|
|
68
|
+
openai_sdk_helpers/utils/instructions.py,sha256=trbjxjxv2otQR9VmBsPFk1_CJj8nA85Sgtj_5QmQOKI,942
|
|
69
|
+
openai_sdk_helpers/utils/output_validation.py,sha256=3DC6Hr6vAFx_bQGaLsxkGN_LuKe_MugLpVogMBgG9tc,12621
|
|
70
|
+
openai_sdk_helpers/utils/path_utils.py,sha256=NOSX7553cc8LqxbnvmdYjgDBi5Le2W2LuMINwFsTzyM,1969
|
|
71
|
+
openai_sdk_helpers/utils/registry.py,sha256=m59q6qm2IqXRdvdeKB-7H5tiUs1SB-aXTuyhTsVH5E4,6499
|
|
72
|
+
openai_sdk_helpers/utils/validation.py,sha256=ZjnZNOy5AoFlszRxarNol6YZwfgw6LnwPtkCekZmwAU,7826
|
|
73
|
+
openai_sdk_helpers/utils/json/__init__.py,sha256=wBm1DBgfy_n1uSUcnCPyqBn_cCq41mijjPigSMZJZqg,2118
|
|
74
|
+
openai_sdk_helpers/utils/json/base_model.py,sha256=8j__oKly46RRekmRjwFZjAxBHhZkIjMADcJReKo-QsQ,5100
|
|
75
|
+
openai_sdk_helpers/utils/json/data_class.py,sha256=hffMQQTNTwybuMTOtmKNzxd6kXrVyQen67F5BE_OGqE,6469
|
|
76
|
+
openai_sdk_helpers/utils/json/ref.py,sha256=jIzv3M96G1b9x2tW8JZBqKBxAsE3bUhVmMADBFH6Jb4,2806
|
|
77
|
+
openai_sdk_helpers/utils/json/utils.py,sha256=iyc25tnObqXQJWPKLZMVts932GArdKer59KuC8aQKsY,5948
|
|
78
|
+
openai_sdk_helpers/vector_storage/__init__.py,sha256=L5LxO09puh9_yBB9IDTvc1CvVkARVkHqYY1KX3inB4c,975
|
|
79
|
+
openai_sdk_helpers/vector_storage/cleanup.py,sha256=ImWIE-9lli-odD8qIARvmeaa0y8ZD4pYYP-kT0O3178,3552
|
|
80
|
+
openai_sdk_helpers/vector_storage/storage.py,sha256=A6zJDicObdSOVSlzhHVxEGq_tKO2_bNcsYi94xsKDNI,23655
|
|
81
|
+
openai_sdk_helpers/vector_storage/types.py,sha256=jTCcOYMeOpZWvcse0z4T3MVs-RBOPC-fqWTBeQrgafU,1639
|
|
82
|
+
openai_sdk_helpers-0.4.1.dist-info/METADATA,sha256=AHH6lc1N3igZSpnjxss0wQpxz8EjP-qLY7IBWRRg93g,23557
|
|
83
|
+
openai_sdk_helpers-0.4.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
84
|
+
openai_sdk_helpers-0.4.1.dist-info/entry_points.txt,sha256=gEOD1ZeXe8d2OP-KzUlG-b_9D9yUZTCt-GFW3EDbIIY,63
|
|
85
|
+
openai_sdk_helpers-0.4.1.dist-info/licenses/LICENSE,sha256=CUhc1NrE50bs45tcXF7OcTQBKEvkUuLqeOHgrWQ5jaA,1067
|
|
86
|
+
openai_sdk_helpers-0.4.1.dist-info/RECORD,,
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
openai_sdk_helpers/__init__.py,sha256=uqVd5iDoSo5_jlL9xX8sVRpZZhmc4isna7cr6RTP2Gc,4640
|
|
2
|
-
openai_sdk_helpers/cli.py,sha256=J62XKPkGgYzYHKHfnkFy53Dp4rvBXf9cPEl1hrev3ZU,7400
|
|
3
|
-
openai_sdk_helpers/config.py,sha256=pjBzjYM9Fs4DQqwio387lBt_4IwWKct_VNZBSe-bMqg,10972
|
|
4
|
-
openai_sdk_helpers/context_manager.py,sha256=QqlrtenwKoz2krY0IzuToKdTX1HptUYtIEylxieybgY,6633
|
|
5
|
-
openai_sdk_helpers/deprecation.py,sha256=VF0VDDegawYhsu5f-vE6dop9ob-jv8egxsm0KsPvP9E,4753
|
|
6
|
-
openai_sdk_helpers/environment.py,sha256=RBYpRFamclaom07msipJ7jnnPkfVqjl1PRhDE5phZdg,1401
|
|
7
|
-
openai_sdk_helpers/errors.py,sha256=0TLrcpRXPBvk2KlrU5I1VAQl-sYy-d15h_SMDkEawvI,2757
|
|
8
|
-
openai_sdk_helpers/files_api.py,sha256=cNZObACSDX52kUvUOwanPyFqXcqRJe8D8_iB6AFqC2c,11810
|
|
9
|
-
openai_sdk_helpers/logging_config.py,sha256=JcR0FTWht1tYdwD-bXH835pr0JV0RwHfY3poruiZGHM,795
|
|
10
|
-
openai_sdk_helpers/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
openai_sdk_helpers/retry.py,sha256=J10oQYphfzDXm3BnLoXwxk7PAhN93TC2LQOv0VDGOwI,6533
|
|
12
|
-
openai_sdk_helpers/tools.py,sha256=C2xl0euovFyrDVh0qf1pEyuaicmrTmoZcJu9CxCKqic,9534
|
|
13
|
-
openai_sdk_helpers/types.py,sha256=xzldCRfwCZ3rZl18IBmfgA-PVdoZKSWNrlSIhirumSo,1451
|
|
14
|
-
openai_sdk_helpers/agent/__init__.py,sha256=Dst1jjP5a-iLItis0B-RMMYiHB_yw_2ZusU38u7YQyE,1086
|
|
15
|
-
openai_sdk_helpers/agent/base.py,sha256=RotgsaCXVfxhrEE_7fyiR3ekhGunecTdwJ6p8lAyEM8,17348
|
|
16
|
-
openai_sdk_helpers/agent/config.py,sha256=dY76c5Tqn_MYe7huN_1HIDQCVkerEJwqaFGvPaXF8kQ,13773
|
|
17
|
-
openai_sdk_helpers/agent/coordination.py,sha256=rxUWhdgdEvPOrab6CbQIquzpOZDsIVXgFLNJEe_nVaY,16720
|
|
18
|
-
openai_sdk_helpers/agent/prompt_utils.py,sha256=-1M66tqQxh9wWCFg6X-K7cCcqauca3yA04ZjvOpN3bA,337
|
|
19
|
-
openai_sdk_helpers/agent/runner.py,sha256=w7gBFEuYGn7aKPpf9KNULboNY3pM2yLcoRcl_w80Wr4,4662
|
|
20
|
-
openai_sdk_helpers/agent/summarizer.py,sha256=gmQlzhL4DaSzItlqLMfqFC4Xns0imPG3OIaIzjDVDrQ,3327
|
|
21
|
-
openai_sdk_helpers/agent/translator.py,sha256=PbwfC6sbLkaU4bHwY5LdBqn5gMzYzKazZwJwk5nDLSo,5143
|
|
22
|
-
openai_sdk_helpers/agent/utils.py,sha256=DTD5foCqGYfXf13F2bZMYIQROl7SbDSy5GDPGi0Zl-0,1089
|
|
23
|
-
openai_sdk_helpers/agent/validation.py,sha256=uQBi1irE7sX2B_tvkpTpOX97Yz9oVdCXXIUTCyhM37o,4252
|
|
24
|
-
openai_sdk_helpers/agent/search/__init__.py,sha256=xqosfzH4HcBs9IFZks9msG_694rS5q6Ea4_qNeRQRmU,798
|
|
25
|
-
openai_sdk_helpers/agent/search/base.py,sha256=lSfh7kMphmGRLrmBzDLprs_Owm7tL9moYbKhkU1tZ0M,8704
|
|
26
|
-
openai_sdk_helpers/agent/search/vector.py,sha256=bkd6OJT0FSioWaVgp1ZOLaHYV33HNrOyfCSCkFbhBtk,13833
|
|
27
|
-
openai_sdk_helpers/agent/search/web.py,sha256=81qPBmwj7HnMqJW0g3f_9_OoPOiVlKAy-gEUM92WROk,10225
|
|
28
|
-
openai_sdk_helpers/enums/__init__.py,sha256=aFf79C4JBeLC3kMlJfSpehyjx5uNCtW6eK5rD6ZFfhM,322
|
|
29
|
-
openai_sdk_helpers/enums/base.py,sha256=cNllDtzcgI0_eZYXxFko14yhxwicX6xbeDfz9gFE3qo,2753
|
|
30
|
-
openai_sdk_helpers/prompt/__init__.py,sha256=MOqgKwG9KLqKudoKRlUfLxiSmdOi2aD6hNrWDFqLHkk,418
|
|
31
|
-
openai_sdk_helpers/prompt/base.py,sha256=o-O5S-et4mE30_LkFPzL3o67Z_3KrLFG55gQDlL4vqE,7575
|
|
32
|
-
openai_sdk_helpers/prompt/summarizer.jinja,sha256=jliSetWDISbql1EkWi1RB8-L_BXUg8JMkRRsPRHuzbY,309
|
|
33
|
-
openai_sdk_helpers/prompt/translator.jinja,sha256=SZhW8ipEzM-9IA4wyS_r2wIMTAclWrilmk1s46njoL0,291
|
|
34
|
-
openai_sdk_helpers/prompt/validator.jinja,sha256=6t8q_IdxFd3mVBGX6SFKNOert1Wo3YpTOji2SNEbbtE,547
|
|
35
|
-
openai_sdk_helpers/response/__init__.py,sha256=td-HTSPLtl1d5AkUFZ0rrUBUfsacM_CGtZQNj1_GWB8,1886
|
|
36
|
-
openai_sdk_helpers/response/base.py,sha256=oX2uIjRDVEOSJVp3_WkJrBI6a2DPVaEBiKSrRj-oD-4,32869
|
|
37
|
-
openai_sdk_helpers/response/config.py,sha256=bbl1kCvOhAS1vIoN60c-gNRavXZHO1kY_RqYztPqN30,9150
|
|
38
|
-
openai_sdk_helpers/response/files.py,sha256=ANCoedNHXmpTXSaaGUvesAGq2DIUXT7SKZDCIJlXOv8,13226
|
|
39
|
-
openai_sdk_helpers/response/messages.py,sha256=AbxLy2Q3sDHFLhhhoKfCcrRVlA8M7Ts9SuYx0PODi54,10061
|
|
40
|
-
openai_sdk_helpers/response/runner.py,sha256=Rf13cQGsR7sN9gA81Y5th1tfH2DCCAwQ6RMs3bVgjnk,4269
|
|
41
|
-
openai_sdk_helpers/response/tool_call.py,sha256=VYPvKUR-Ren0Y_nYS4jUSinhTyXKzFwQLxu-d3r_YuM,4506
|
|
42
|
-
openai_sdk_helpers/response/vector_store.py,sha256=MyHUu6P9ueNsd9erbBkyVqq3stLK6qVuehdvmFAHq9E,3074
|
|
43
|
-
openai_sdk_helpers/streamlit_app/__init__.py,sha256=RjJbnBDS5_YmAmxvaa3phB5u9UcXsXDEk_jMlY_pa5Q,793
|
|
44
|
-
openai_sdk_helpers/streamlit_app/app.py,sha256=ejJGuy5WNuUXapxlZnYkPWz0gyQdF77l-gOFOzzDtyA,17402
|
|
45
|
-
openai_sdk_helpers/streamlit_app/config.py,sha256=EK6LWACo7YIkDko1oesvupOx56cTuWWnwnXRiu8EYbs,15986
|
|
46
|
-
openai_sdk_helpers/streamlit_app/streamlit_web_search.py,sha256=0RjB545dIvEeZiiLWM7C4CufbD3DITOWLZEVgxAL6mo,2812
|
|
47
|
-
openai_sdk_helpers/structure/__init__.py,sha256=QUvRdJMbKsumjwJdWq9ihfcOED4ZbJMBQbmA1nmYJVw,3339
|
|
48
|
-
openai_sdk_helpers/structure/agent_blueprint.py,sha256=2W-RBM5G3ZefMcYHqqoV6Y1witcSbMlUpdU1CA9n3tg,9698
|
|
49
|
-
openai_sdk_helpers/structure/base.py,sha256=i937ZjMqTcdFd8UQXcA1sv-Lz1WJZlweGd-qLdD8TQE,28322
|
|
50
|
-
openai_sdk_helpers/structure/prompt.py,sha256=7DBdLu6WDvXy2RkEBayDiX2Jn8T4-hJuohsOaKEoqJs,1075
|
|
51
|
-
openai_sdk_helpers/structure/responses.py,sha256=iYJBT_4VFifzQqPnTpRWTcB0o7xkhPIQ2ugedivrpto,4868
|
|
52
|
-
openai_sdk_helpers/structure/summary.py,sha256=MyZzMuqHP9F8B4rYYxCGJwojy5RavWUkMiRZ6yMQzvU,3143
|
|
53
|
-
openai_sdk_helpers/structure/validation.py,sha256=vsilA3Qs3fjWLeYlnZnMEGj9i_bOJtXc2J3mSIEHncg,2409
|
|
54
|
-
openai_sdk_helpers/structure/vector_search.py,sha256=A0w2AR0r6aIFoYbNkscUAGT7VzTe6WuvxrqUsWT2PMQ,5782
|
|
55
|
-
openai_sdk_helpers/structure/web_search.py,sha256=S8OdllBWqEGXaKf6Alocl89ZuG7BlvXK5ra1Lm7lfjE,4572
|
|
56
|
-
openai_sdk_helpers/structure/plan/__init__.py,sha256=IGr0Tk4inN_8o7fT2N02_FTi6U6l2T9_npcQHAlBwKA,1076
|
|
57
|
-
openai_sdk_helpers/structure/plan/enum.py,sha256=seESSwH-IeeW-9BqIMUQyk3qjtchfU3TDhF9HPDB1OM,3079
|
|
58
|
-
openai_sdk_helpers/structure/plan/helpers.py,sha256=Vc6dBTMFrNWlsaCTpEImEIKjfFq4BSSxNjB4K8dywOQ,5139
|
|
59
|
-
openai_sdk_helpers/structure/plan/plan.py,sha256=LtfwWwZiHGe06nFCXSbT8p3x3w9hhI0wXS7hTeeWXvY,9663
|
|
60
|
-
openai_sdk_helpers/structure/plan/task.py,sha256=R2MInXiOWvs5zFGVOfAhVivRxXWTBp8NrmVpZ7aUmM8,4580
|
|
61
|
-
openai_sdk_helpers/structure/plan/types.py,sha256=7y9QEVdZreQUXV7n-R4RoNZzw5HeOVbJGWx9QkSfuNY,418
|
|
62
|
-
openai_sdk_helpers/utils/__init__.py,sha256=UauMvn_2klGxXlz2Sn0RwJB1tIEkg7p0Qm9J8zaZFlM,3289
|
|
63
|
-
openai_sdk_helpers/utils/async_utils.py,sha256=9KbPEVfi6IXdbwkTUE0h5DleK8TI7I6P_VPL8UgUv98,3689
|
|
64
|
-
openai_sdk_helpers/utils/coercion.py,sha256=Pq1u7tAbD7kTZ84lK-7Fb9CyYKKKQt4fypG5BlSI6oQ,3774
|
|
65
|
-
openai_sdk_helpers/utils/deprecation.py,sha256=VF0VDDegawYhsu5f-vE6dop9ob-jv8egxsm0KsPvP9E,4753
|
|
66
|
-
openai_sdk_helpers/utils/encoding.py,sha256=oDtlNGZ5p-edXiHW76REs-0-8NXkQNReKJdj6sHLkt8,4615
|
|
67
|
-
openai_sdk_helpers/utils/instructions.py,sha256=trbjxjxv2otQR9VmBsPFk1_CJj8nA85Sgtj_5QmQOKI,942
|
|
68
|
-
openai_sdk_helpers/utils/json_utils.py,sha256=g8x497URz0bNYHgdcYM_3kNzj9QKsN5xionH1yh5nMk,7674
|
|
69
|
-
openai_sdk_helpers/utils/output_validation.py,sha256=O9Adt-fxL5DtnMd1GuZ9E2YxX3yj4uzSZuBNKVH2GkI,12152
|
|
70
|
-
openai_sdk_helpers/utils/path_utils.py,sha256=qGGDpuDnY5EODOACzH23MYECQOE2rKhrQ3sbDvefwEg,1307
|
|
71
|
-
openai_sdk_helpers/utils/registry.py,sha256=qezdmsCRokrV9snXNyUG2rJ-jBG-UCCkp7-rRBE9LFY,5565
|
|
72
|
-
openai_sdk_helpers/utils/validation.py,sha256=ZjnZNOy5AoFlszRxarNol6YZwfgw6LnwPtkCekZmwAU,7826
|
|
73
|
-
openai_sdk_helpers/vector_storage/__init__.py,sha256=L5LxO09puh9_yBB9IDTvc1CvVkARVkHqYY1KX3inB4c,975
|
|
74
|
-
openai_sdk_helpers/vector_storage/cleanup.py,sha256=ImWIE-9lli-odD8qIARvmeaa0y8ZD4pYYP-kT0O3178,3552
|
|
75
|
-
openai_sdk_helpers/vector_storage/storage.py,sha256=1juu3Qq6hy33afvVfQeI5A35fQzIPjVZumZ-aP_MxhU,23305
|
|
76
|
-
openai_sdk_helpers/vector_storage/types.py,sha256=jTCcOYMeOpZWvcse0z4T3MVs-RBOPC-fqWTBeQrgafU,1639
|
|
77
|
-
openai_sdk_helpers-0.3.0.dist-info/METADATA,sha256=7KeZYCdLQTmtvQj0mZVWzimqkA0hNzU9RNnN_25z2CY,23557
|
|
78
|
-
openai_sdk_helpers-0.3.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
79
|
-
openai_sdk_helpers-0.3.0.dist-info/entry_points.txt,sha256=gEOD1ZeXe8d2OP-KzUlG-b_9D9yUZTCt-GFW3EDbIIY,63
|
|
80
|
-
openai_sdk_helpers-0.3.0.dist-info/licenses/LICENSE,sha256=CUhc1NrE50bs45tcXF7OcTQBKEvkUuLqeOHgrWQ5jaA,1067
|
|
81
|
-
openai_sdk_helpers-0.3.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|