ommlds 0.0.0.dev502__py3-none-any.whl → 0.0.0.dev504__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.
- ommlds/.omlish-manifests.json +14 -7
- ommlds/backends/anthropic/protocol/_dataclasses.py +16 -16
- ommlds/backends/cerebras/_dataclasses.py +42 -42
- ommlds/backends/google/protocol/_dataclasses.py +64 -64
- ommlds/backends/groq/_dataclasses.py +36 -36
- ommlds/backends/ollama/_dataclasses.py +28 -28
- ommlds/backends/openai/protocol/_dataclasses.py +88 -88
- ommlds/backends/tavily/_dataclasses.py +16 -16
- ommlds/cli/_dataclasses.py +64 -114
- ommlds/cli/backends/inject.py +20 -0
- ommlds/cli/backends/meta.py +47 -0
- ommlds/cli/sessions/chat/drivers/ai/tools.py +3 -7
- ommlds/cli/sessions/chat/facades/commands/base.py +1 -1
- ommlds/minichain/__init__.py +38 -4
- ommlds/minichain/_dataclasses.py +452 -289
- ommlds/minichain/backends/impls/anthropic/stream.py +1 -1
- ommlds/minichain/backends/impls/cerebras/names.py +15 -0
- ommlds/minichain/backends/impls/cerebras/stream.py +39 -52
- ommlds/minichain/backends/impls/google/chat.py +11 -82
- ommlds/minichain/backends/impls/google/protocol.py +105 -0
- ommlds/minichain/backends/impls/google/stream.py +49 -132
- ommlds/minichain/backends/impls/groq/stream.py +40 -53
- ommlds/minichain/backends/impls/ollama/chat.py +1 -1
- ommlds/minichain/backends/impls/openai/format.py +1 -0
- ommlds/minichain/backends/impls/openai/stream.py +40 -55
- ommlds/minichain/http/__init__.py +0 -0
- ommlds/minichain/http/stream.py +195 -0
- ommlds/minichain/resources.py +22 -1
- ommlds/minichain/stream/services.py +24 -1
- ommlds/minichain/wrappers/firstinwins.py +1 -1
- ommlds/minichain/wrappers/instrument.py +1 -1
- ommlds/minichain/wrappers/retry.py +34 -13
- {ommlds-0.0.0.dev502.dist-info → ommlds-0.0.0.dev504.dist-info}/METADATA +4 -4
- {ommlds-0.0.0.dev502.dist-info → ommlds-0.0.0.dev504.dist-info}/RECORD +38 -36
- ommlds/minichain/stream/wrap.py +0 -62
- {ommlds-0.0.0.dev502.dist-info → ommlds-0.0.0.dev504.dist-info}/WHEEL +0 -0
- {ommlds-0.0.0.dev502.dist-info → ommlds-0.0.0.dev504.dist-info}/entry_points.txt +0 -0
- {ommlds-0.0.0.dev502.dist-info → ommlds-0.0.0.dev504.dist-info}/licenses/LICENSE +0 -0
- {ommlds-0.0.0.dev502.dist-info → ommlds-0.0.0.dev504.dist-info}/top_level.txt +0 -0
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
"""
|
|
2
2
|
TODO:
|
|
3
3
|
- tenacity shit
|
|
4
|
-
- exception filter
|
|
4
|
+
- exception filter - retryable vs not
|
|
5
|
+
- explicit RetryableError wrapper?
|
|
5
6
|
- sleep
|
|
6
7
|
- jitter
|
|
8
|
+
- log, on retry / on except callbacks, blah blah
|
|
7
9
|
- stream retry:
|
|
8
10
|
- failed to open
|
|
9
11
|
- failed during stream
|
|
10
12
|
- buffer and replay??
|
|
11
13
|
- accept death mid-stream?
|
|
14
|
+
- ** probably **: cannot sanely impose any nontrivial stream retry strat at this layer -
|
|
12
15
|
"""
|
|
13
16
|
import typing as ta
|
|
14
17
|
|
|
15
18
|
from omlish import dataclasses as dc
|
|
16
19
|
|
|
20
|
+
from ..resources import Resources
|
|
21
|
+
from ..stream.services import StreamResponseSink
|
|
22
|
+
from ..stream.services import new_stream_response
|
|
17
23
|
from ..types import Output
|
|
18
24
|
from .services import WrappedOptionT
|
|
19
25
|
from .services import WrappedOutputT
|
|
@@ -38,7 +44,7 @@ AnyRetryService: ta.TypeAlias = ta.Union[
|
|
|
38
44
|
##
|
|
39
45
|
|
|
40
46
|
|
|
41
|
-
@dc.dataclass(
|
|
47
|
+
@dc.dataclass()
|
|
42
48
|
class RetryServiceMaxRetriesExceededError(Exception):
|
|
43
49
|
pass
|
|
44
50
|
|
|
@@ -127,7 +133,32 @@ class RetryStreamService(
|
|
|
127
133
|
|
|
128
134
|
while True:
|
|
129
135
|
try:
|
|
130
|
-
|
|
136
|
+
async with Resources.new() as rs:
|
|
137
|
+
in_resp = await self._service.invoke(request)
|
|
138
|
+
in_vs = await rs.enter_async_context(in_resp.v)
|
|
139
|
+
|
|
140
|
+
async def inner(sink: StreamResponseSink[WrappedResponseV]) -> ta.Sequence[WrappedOutputT] | None:
|
|
141
|
+
async for v in in_vs:
|
|
142
|
+
await sink.emit(v)
|
|
143
|
+
|
|
144
|
+
return in_vs.outputs
|
|
145
|
+
|
|
146
|
+
outs = [
|
|
147
|
+
*in_resp.outputs,
|
|
148
|
+
RetryServiceOutput(
|
|
149
|
+
retry_service=self,
|
|
150
|
+
num_retries=n,
|
|
151
|
+
),
|
|
152
|
+
]
|
|
153
|
+
|
|
154
|
+
# FIXME: ??
|
|
155
|
+
# if (ur := tv.as_collection(request.options).get(UseResources)) is not None:
|
|
156
|
+
|
|
157
|
+
return await new_stream_response(
|
|
158
|
+
rs,
|
|
159
|
+
inner,
|
|
160
|
+
outs,
|
|
161
|
+
)
|
|
131
162
|
|
|
132
163
|
except Exception as e: # noqa
|
|
133
164
|
if n < self._max_retries:
|
|
@@ -135,13 +166,3 @@ class RetryStreamService(
|
|
|
135
166
|
continue
|
|
136
167
|
|
|
137
168
|
raise RetryServiceMaxRetriesExceededError from e
|
|
138
|
-
|
|
139
|
-
# FIXME: lol no:
|
|
140
|
-
# - async def inner(sink: StreamResponseSink[...]) -> ta.Sequence[...Outputs] | None:
|
|
141
|
-
# - async with resp.v as st_resp:
|
|
142
|
-
return resp.with_outputs(RetryServiceOutput(
|
|
143
|
-
retry_service=self,
|
|
144
|
-
num_retries=n,
|
|
145
|
-
))
|
|
146
|
-
|
|
147
|
-
raise RuntimeError # unreachable
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ommlds
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev504
|
|
4
4
|
Summary: ommlds
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -14,9 +14,9 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
14
14
|
Requires-Python: >=3.13
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: omlish==0.0.0.
|
|
17
|
+
Requires-Dist: omlish==0.0.0.dev504
|
|
18
18
|
Provides-Extra: all
|
|
19
|
-
Requires-Dist: omdev==0.0.0.
|
|
19
|
+
Requires-Dist: omdev==0.0.0.dev504; extra == "all"
|
|
20
20
|
Requires-Dist: llama-cpp-python~=0.3; extra == "all"
|
|
21
21
|
Requires-Dist: mlx~=0.30; sys_platform == "darwin" and extra == "all"
|
|
22
22
|
Requires-Dist: mlx-lm~=0.29; sys_platform == "darwin" and extra == "all"
|
|
@@ -38,7 +38,7 @@ Requires-Dist: mwparserfromhell~=0.7; extra == "all"
|
|
|
38
38
|
Requires-Dist: wikitextparser~=0.56; extra == "all"
|
|
39
39
|
Requires-Dist: lxml>=5.3; python_version < "3.13" and extra == "all"
|
|
40
40
|
Provides-Extra: omdev
|
|
41
|
-
Requires-Dist: omdev==0.0.0.
|
|
41
|
+
Requires-Dist: omdev==0.0.0.dev504; extra == "omdev"
|
|
42
42
|
Provides-Extra: backends
|
|
43
43
|
Requires-Dist: llama-cpp-python~=0.3; extra == "backends"
|
|
44
44
|
Requires-Dist: mlx~=0.30; sys_platform == "darwin" and extra == "backends"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
ommlds/.omlish-manifests.json,sha256=
|
|
1
|
+
ommlds/.omlish-manifests.json,sha256=8fbwe2p3vu-qOXuBIKtwadocgl-rNP6H42qRRR_j9mY,28359
|
|
2
2
|
ommlds/README.md,sha256=xhbl2n19GznXrIzAGdlX8PAYJYsOo_Zu63I7G1UFRZE,398
|
|
3
3
|
ommlds/__about__.py,sha256=cdexoZ9J6msGQeIwveAx4JM0WlBDrWdjRkhSI9VHB9Q,1901
|
|
4
4
|
ommlds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -11,7 +11,7 @@ ommlds/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
11
11
|
ommlds/backends/huggingface.py,sha256=JfEyfKOxU3-SY_ojtXBJFNeD-NIuKjvMe3GL3e93wNA,1175
|
|
12
12
|
ommlds/backends/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
ommlds/backends/anthropic/protocol/__init__.py,sha256=g05gJKHqrySqtvMBAaZUueRxYafBTGOLw7FfEDiXi34,248
|
|
14
|
-
ommlds/backends/anthropic/protocol/_dataclasses.py,sha256=
|
|
14
|
+
ommlds/backends/anthropic/protocol/_dataclasses.py,sha256=LJGB0yaRbdwRgNlMR0nDQrYRk4uv9R7mtRZDcjR91nw,80681
|
|
15
15
|
ommlds/backends/anthropic/protocol/_marshal.py,sha256=RHbwekaw21lTS_1KBX9z6dLpbmWmyYUE5j6Uyq1tn0w,539
|
|
16
16
|
ommlds/backends/anthropic/protocol/types.py,sha256=f-_VXg_-KlhGIKp0R8vL50Rg_ZxqiBvQUGexQaDf8HY,2761
|
|
17
17
|
ommlds/backends/anthropic/protocol/sse/__init__.py,sha256=LpijqXk0ceMDcgwOvZ8iLoh0I328JSfG8V0JalcZD3I,98
|
|
@@ -19,16 +19,16 @@ ommlds/backends/anthropic/protocol/sse/_marshal.py,sha256=2No-qWRKV9ilOhC5NqHAA9
|
|
|
19
19
|
ommlds/backends/anthropic/protocol/sse/assemble.py,sha256=MVpA0iSU2LNMXy4VpIVV8Oe7nj3dgmXpfLe-7nnA5QE,6552
|
|
20
20
|
ommlds/backends/anthropic/protocol/sse/events.py,sha256=77xVcT6H22uRIxZcxc0_-79jpnR_ZyVXdRjILxoeS5A,2574
|
|
21
21
|
ommlds/backends/cerebras/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
|
|
22
|
-
ommlds/backends/cerebras/_dataclasses.py,sha256=
|
|
22
|
+
ommlds/backends/cerebras/_dataclasses.py,sha256=VPR97XO7Qka5_R6GERCgrtNEFuYCaMM5JGfjPcbx0Xw,215108
|
|
23
23
|
ommlds/backends/cerebras/_marshal.py,sha256=KqhIymYaVUJ5-XubSHLDiEagK_jmp-738mbduazlEE8,658
|
|
24
24
|
ommlds/backends/cerebras/protocol.py,sha256=gfOdPgJRg0XsZIMgrZh8yppAB7iuzgSVM8qFv2Spq_I,8848
|
|
25
25
|
ommlds/backends/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
26
|
ommlds/backends/google/protocol/__init__.py,sha256=5fguMBg9qGfTEvEBCgjFbDBfRzaiRdil6d1DakJGvPY,214
|
|
27
|
-
ommlds/backends/google/protocol/_dataclasses.py,sha256=
|
|
27
|
+
ommlds/backends/google/protocol/_dataclasses.py,sha256=KECT4r6gBPVtiEvb1y0kj_HLeH-Y8Rgp_a5CTbd4Q14,304996
|
|
28
28
|
ommlds/backends/google/protocol/_marshal.py,sha256=LWikcdMDrKQ0lMtclNXwK9qamijUBzK62nrEVo2OFtc,305
|
|
29
29
|
ommlds/backends/google/protocol/types.py,sha256=JDft5-5sPuy8sFWTvid4JuC9a9EnuQizt9dyAV2L56s,17536
|
|
30
30
|
ommlds/backends/groq/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
|
|
31
|
-
ommlds/backends/groq/_dataclasses.py,sha256=
|
|
31
|
+
ommlds/backends/groq/_dataclasses.py,sha256=8XK7IEEJNGqSFib_s3dFf2bMH1TJ1RT-NvGBSXf6sCE,200729
|
|
32
32
|
ommlds/backends/groq/_marshal.py,sha256=3o4CVK9VbP_UnEbXZ4fQJuZK3Sy9xnkXTTempSDSvgE,602
|
|
33
33
|
ommlds/backends/groq/clients.py,sha256=n1zvVPvk5lJ42JMSSU3EFGYUJ9Az-YAOU6DTGNsJ8_M,152
|
|
34
34
|
ommlds/backends/groq/protocol.py,sha256=ieKrjlxcDE5RqWcugc996O5Ksy4Chse_RdigPQPbP2Y,7823
|
|
@@ -53,12 +53,12 @@ ommlds/backends/mlx/tokenization/detokenization/bpe.py,sha256=cIw6-r-cyXTfZdyfGR
|
|
|
53
53
|
ommlds/backends/mlx/tokenization/detokenization/naive.py,sha256=6L-SvphzP1z16cmVB4QC9VraF7khE8ZcvKqIwwFqN6U,1779
|
|
54
54
|
ommlds/backends/mlx/tokenization/detokenization/spm.py,sha256=IYSnEm-C0z_o5TKLJE_Rj6P0nNd-prT6psVPKsERWAE,1751
|
|
55
55
|
ommlds/backends/ollama/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
|
|
56
|
-
ommlds/backends/ollama/_dataclasses.py,sha256=
|
|
56
|
+
ommlds/backends/ollama/_dataclasses.py,sha256=D3Jz0K7BuDMO5BB3XYW7fC-wzXXCDd9hyBCY15zlazQ,187980
|
|
57
57
|
ommlds/backends/ollama/protocol.py,sha256=Zq9MTvE8moUUVqtUcuhmn_DdDELPp9xb1r3dzwxm4MI,4505
|
|
58
58
|
ommlds/backends/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
59
|
ommlds/backends/openai/protocol/__init__.py,sha256=S-p81JfMaS0nwdII9jyhcmj0c5fJJD5sHwphnY45WdI,1862
|
|
60
60
|
ommlds/backends/openai/protocol/_common.py,sha256=r4EXmw1fBFHjU5vbWTDvlM_fsafdIVg3d3PNw4F9m-Q,313
|
|
61
|
-
ommlds/backends/openai/protocol/_dataclasses.py,sha256=
|
|
61
|
+
ommlds/backends/openai/protocol/_dataclasses.py,sha256=2vLfQyErQlOINwviL_4ZzkdmyLTXJgsbY5EAaQQjdPg,375658
|
|
62
62
|
ommlds/backends/openai/protocol/_marshal.py,sha256=V9s7old4lRzabr28kKVMNfa5lkrJ_F1MqYfAEed4cMo,839
|
|
63
63
|
ommlds/backends/openai/protocol/completionusage.py,sha256=hoJ68nUU3IoCl1QVT8tcprQRbAZbgksCdnYrQS8xdPs,944
|
|
64
64
|
ommlds/backends/openai/protocol/chatcompletion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -70,7 +70,7 @@ ommlds/backends/openai/protocol/chatcompletion/response.py,sha256=_e-uw9fbpudTJs
|
|
|
70
70
|
ommlds/backends/openai/protocol/chatcompletion/responseformat.py,sha256=UtkyOKlEMVv_OyeLYvL4dROV4ZdqUge7MmuBFQGTn7k,999
|
|
71
71
|
ommlds/backends/openai/protocol/chatcompletion/tokenlogprob.py,sha256=VTj9aI_wqcOArzHFG8W4R8RCIJZ8izpIUosVzAnrhQ8,573
|
|
72
72
|
ommlds/backends/tavily/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
|
|
73
|
-
ommlds/backends/tavily/_dataclasses.py,sha256=
|
|
73
|
+
ommlds/backends/tavily/_dataclasses.py,sha256=Vy3vrxYzVhaMww5GRqsWFNcRSC5mNKYLQcGmR2qBpiA,90739
|
|
74
74
|
ommlds/backends/tavily/protocol.py,sha256=8ioCdovoD3dwfsK-B2YSQCh-6CyujaxzUaEUJ8yL1EA,5930
|
|
75
75
|
ommlds/backends/tinygrad/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
76
|
ommlds/backends/tinygrad/tinygrad.py,sha256=Va2mI11Q76IN9vLCYozMRXbEDVKxjKvRI0iQXJNJtJI,342
|
|
@@ -102,7 +102,7 @@ ommlds/backends/transformers/filecache.py,sha256=ycfswt7f4qRrPSTFRhofXZaDBuDPpyp
|
|
|
102
102
|
ommlds/backends/transformers/streamers.py,sha256=Hu_9lp_kUilKjOfs7Ixqr2NoA5FuRn2eRh8JdvaBDYc,1688
|
|
103
103
|
ommlds/cli/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
|
|
104
104
|
ommlds/cli/__main__.py,sha256=1ffCb0fcUOJMzxROJmJRXQ8PSOVYv7KrcuBtT95cf0c,140
|
|
105
|
-
ommlds/cli/_dataclasses.py,sha256=
|
|
105
|
+
ommlds/cli/_dataclasses.py,sha256=qUx7WaHCYwvjZ5_jQjAr_EZ0Pouk5AjQG0HnisxZCEw,164764
|
|
106
106
|
ommlds/cli/asyncs.py,sha256=NAMzzaZq7ORjlbbBB_Y9vcM9qoBpGf4VJNtl_3p_8G4,629
|
|
107
107
|
ommlds/cli/inject.py,sha256=Bt-T-vQIbp8vh6q21Tt3wDztFZ9FPxNhH2ocrAfjArE,815
|
|
108
108
|
ommlds/cli/main.py,sha256=n_13EimSCt2x9wkn4tULk9gNOvuCHuHeDcuEYtrcUgQ,11172
|
|
@@ -110,9 +110,9 @@ ommlds/cli/secrets.py,sha256=wwtcKjDH34wywfs5zixx3TMbWXCvlZj-PwQoLMM7Fqs,473
|
|
|
110
110
|
ommlds/cli/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
111
111
|
ommlds/cli/backends/catalog.py,sha256=snQSdUyFiNJhvzVRShBqqp1bZpZlmoKvonypNMZz3HI,3002
|
|
112
112
|
ommlds/cli/backends/configs.py,sha256=RvNWxsJDSsHc0eWA6hI1_3n__HU7rXAUmzS06ykMPh0,137
|
|
113
|
-
ommlds/cli/backends/inject.py,sha256=
|
|
113
|
+
ommlds/cli/backends/inject.py,sha256=TbYdh9VsbhIobZSw1RSF1YjMOrcV-et0_U6RgwXjkUc,4946
|
|
114
114
|
ommlds/cli/backends/injection.py,sha256=aCscVcq0_gobzNgLEflGInFC9b_dtnuQgLZ0wX_iTWg,325
|
|
115
|
-
ommlds/cli/backends/meta.py,sha256=
|
|
115
|
+
ommlds/cli/backends/meta.py,sha256=4BfVDJp8jIt28LSvg4lleB9m279mx-t5Jamf5zDp4Z8,2249
|
|
116
116
|
ommlds/cli/backends/types.py,sha256=sut62bGJ3baDbQs3-AwnOwJrvw0VTysqQw8f3yJww8w,966
|
|
117
117
|
ommlds/cli/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
118
118
|
ommlds/cli/content/messages.py,sha256=4qW8ac2umJxnehNI0eS0sqVWlzjv8BDDg4WBOOx-pkM,925
|
|
@@ -146,7 +146,7 @@ ommlds/cli/sessions/chat/drivers/ai/inject.py,sha256=aipgnPRDwxFKkSBU__uMNc1RVzY
|
|
|
146
146
|
ommlds/cli/sessions/chat/drivers/ai/injection.py,sha256=2O_ELMusxQsYaB2oqvzjYpZQzjshocJup7Z5unzoUIY,404
|
|
147
147
|
ommlds/cli/sessions/chat/drivers/ai/rendering.py,sha256=srDRaepttzHSn8w4Cet07bDtGiSApUO4xyhiPbuMU0A,2277
|
|
148
148
|
ommlds/cli/sessions/chat/drivers/ai/services.py,sha256=PUySl7Fz4ttElW-V6poEnvF-RaRmbjU3cHULHun5rdk,2508
|
|
149
|
-
ommlds/cli/sessions/chat/drivers/ai/tools.py,sha256=
|
|
149
|
+
ommlds/cli/sessions/chat/drivers/ai/tools.py,sha256=q8YSsYWAKa4lIlzs4yiyjA47ABDEmfnwidNkFIE4-LY,954
|
|
150
150
|
ommlds/cli/sessions/chat/drivers/ai/types.py,sha256=_Ees5ia0fKMr-BvKpTeryY-KXWP0bAfWrOGg2JDFpuE,913
|
|
151
151
|
ommlds/cli/sessions/chat/drivers/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
152
|
ommlds/cli/sessions/chat/drivers/events/inject.py,sha256=quPbkuhPyJ_zFpFzh5hrkqWspwk9El0a8_82r1LphIY,449
|
|
@@ -192,7 +192,7 @@ ommlds/cli/sessions/chat/facades/facade.py,sha256=3O8IdcuPquCA8fKMjmaj3p0P-OpNAg
|
|
|
192
192
|
ommlds/cli/sessions/chat/facades/inject.py,sha256=V7vxYtG7w6BdOKU-ntQfu1BfKSpDXyK22FCdUoyCsT8,632
|
|
193
193
|
ommlds/cli/sessions/chat/facades/ui.py,sha256=GVbLgydHBhc3z0WOjyCDwTw5IOq1l0u0FLDbAwe093c,618
|
|
194
194
|
ommlds/cli/sessions/chat/facades/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
195
|
-
ommlds/cli/sessions/chat/facades/commands/base.py,sha256=
|
|
195
|
+
ommlds/cli/sessions/chat/facades/commands/base.py,sha256=G4G0-xXi4xAExSrL1zDl_wR6_8m59nVhZuCFjWeIgk8,2022
|
|
196
196
|
ommlds/cli/sessions/chat/facades/commands/configs.py,sha256=qMTC7zMn80iS85t06WptCx-XS6V2pt19j6TzutXGVZo,116
|
|
197
197
|
ommlds/cli/sessions/chat/facades/commands/inject.py,sha256=HlwJoN_yequ6ls_7YLg0aNhbsqR-vByEfwQmOnJP54g,821
|
|
198
198
|
ommlds/cli/sessions/chat/facades/commands/injection.py,sha256=qdYn791FsYH5kHOOneoHXvfPfY6ag6cw43h5-LORKQ0,319
|
|
@@ -237,8 +237,8 @@ ommlds/cli/state/storage.py,sha256=Wr8DVuEGUxfFJn0tMWNTVdint6NBDdLKstNWSjx8sKw,3
|
|
|
237
237
|
ommlds/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
238
238
|
ommlds/datasets/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
239
239
|
ommlds/datasets/lib/movies.py,sha256=LmdfoXsZU9XMM_r-sxCLv_s06BFzwWO4xUj6sc9XVcI,1961
|
|
240
|
-
ommlds/minichain/__init__.py,sha256=
|
|
241
|
-
ommlds/minichain/_dataclasses.py,sha256=
|
|
240
|
+
ommlds/minichain/__init__.py,sha256=GryYNuSiSv7LvoIyP6rYGDnHe2Q4Rkr4majHaEd2nhs,13794
|
|
241
|
+
ommlds/minichain/_dataclasses.py,sha256=F-kqXtzODV1RbcjR3LpTwLWqbj4CU872AhFdXECbVos,948452
|
|
242
242
|
ommlds/minichain/_marshal.py,sha256=n9PGWrHhvAmGIc7KDOYt3IF9Z6G0ncXskyICTp3Ji6k,1923
|
|
243
243
|
ommlds/minichain/_typedvalues.py,sha256=NEQ7YCD7YtYJoEKHRwBksHFv-CULvyXniju_IeVfD5s,2349
|
|
244
244
|
ommlds/minichain/completion.py,sha256=lQ0LfCIYZsvDqteHhhDIv16D2_gn_xMfEL0ouywE5Yo,1033
|
|
@@ -246,7 +246,7 @@ ommlds/minichain/configs.py,sha256=WwrHxfkDAfo_RtuCqUgySthj-2W26lZbpuQoghUyGNw,1
|
|
|
246
246
|
ommlds/minichain/envs.py,sha256=vE2CSeT6KYxOpPY72VbFLzGUnBERYdhfiEUlvSRHkXE,225
|
|
247
247
|
ommlds/minichain/json.py,sha256=0_5rV5Zi2qPOvXi2CLAc5DF7FN3jK3ABbjoKdjtTuVo,360
|
|
248
248
|
ommlds/minichain/metadata.py,sha256=NRrcfN2l4XArHXje3vA9AmkDceXsN-ymT8fbmbW0Ka8,2228
|
|
249
|
-
ommlds/minichain/resources.py,sha256=
|
|
249
|
+
ommlds/minichain/resources.py,sha256=ERGSVNcfuvjY8lLpcIvoB1X4KVn831F4lmUn7wnYw-M,5880
|
|
250
250
|
ommlds/minichain/search.py,sha256=YOMJKkTLLSfGKaxltk9bf5OdPq7MpCtLOC3NZ_4iq-E,1269
|
|
251
251
|
ommlds/minichain/standard.py,sha256=l7C6EXE4FgfJOphl0vHMwCq4FvMNViloz7pPfMsRnGU,2637
|
|
252
252
|
ommlds/minichain/types.py,sha256=K6RRjpUi17UEG0cqPrrvbVANU0iRVh3WLiH-y6oEWFI,414
|
|
@@ -264,27 +264,28 @@ ommlds/minichain/backends/impls/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-
|
|
|
264
264
|
ommlds/minichain/backends/impls/anthropic/chat.py,sha256=e4Kcbjvca_yaZsNB_-h335gSCbz4ma1lMUvuR4WzEFE,4874
|
|
265
265
|
ommlds/minichain/backends/impls/anthropic/names.py,sha256=t70dOuzqpSu9LE_MxfOl2mQmwfTkELT7jWduvuEVMbk,1099
|
|
266
266
|
ommlds/minichain/backends/impls/anthropic/protocol.py,sha256=eMqkl7ML5btqJ27_9l6RY2zdTMsQe0k3Kn_keNq0-Mk,3337
|
|
267
|
-
ommlds/minichain/backends/impls/anthropic/stream.py,sha256=
|
|
267
|
+
ommlds/minichain/backends/impls/anthropic/stream.py,sha256=86nYXeJGwz86n_PXZ-2Azli7FTtgBZPYw8eqO6d3LbQ,8803
|
|
268
268
|
ommlds/minichain/backends/impls/cerebras/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
269
269
|
ommlds/minichain/backends/impls/cerebras/chat.py,sha256=FbwXrOMbHIIzO8gLZsyI3faYJYFYWPcxZTMxcpIaB4Y,2858
|
|
270
|
-
ommlds/minichain/backends/impls/cerebras/names.py,sha256=
|
|
270
|
+
ommlds/minichain/backends/impls/cerebras/names.py,sha256=g0Chpq80JIha4xdV7coxJblLgckKY2bNfLnn1pe_6zk,874
|
|
271
271
|
ommlds/minichain/backends/impls/cerebras/protocol.py,sha256=9ldK0_XM7il0JX3jjcLL8svBiRANrgY65V1Dq4ANevw,5268
|
|
272
|
-
ommlds/minichain/backends/impls/cerebras/stream.py,sha256=
|
|
272
|
+
ommlds/minichain/backends/impls/cerebras/stream.py,sha256=o-GUC3y34HzfP0ibOndPe1eSCkgv0J9I0uZqkbR8kVo,3956
|
|
273
273
|
ommlds/minichain/backends/impls/duckduckgo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
274
274
|
ommlds/minichain/backends/impls/duckduckgo/search.py,sha256=HA5UriBVvNw6-6vmeYJsm83LxsFsksLtzFxj-kdzoPE,1010
|
|
275
275
|
ommlds/minichain/backends/impls/dummy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
276
276
|
ommlds/minichain/backends/impls/dummy/chat.py,sha256=FUTvNPWmb4Hm-axglvPiqbvLwE7sajHOM5H7j9Qj2-c,2283
|
|
277
277
|
ommlds/minichain/backends/impls/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
278
|
-
ommlds/minichain/backends/impls/google/chat.py,sha256=
|
|
278
|
+
ommlds/minichain/backends/impls/google/chat.py,sha256=jT7AIevnP5jKxArp0VPppEGCNCihcIdblO3qKGpWGPo,3876
|
|
279
279
|
ommlds/minichain/backends/impls/google/names.py,sha256=Yt7xL84JZEtPf7CIcBzEBrWAfEUUs2_gXk2W7m5wC3g,1051
|
|
280
|
+
ommlds/minichain/backends/impls/google/protocol.py,sha256=Re4iKzXwNQEeBhMe3Mu2yYfGrOOJemupy5JaL0i9MHU,2585
|
|
280
281
|
ommlds/minichain/backends/impls/google/search.py,sha256=y5_6seSRU8CFnLA_Ja8XEMbIBWSgwBzE1iBf-qyz0tA,3427
|
|
281
|
-
ommlds/minichain/backends/impls/google/stream.py,sha256=
|
|
282
|
+
ommlds/minichain/backends/impls/google/stream.py,sha256=3_rUtobcF3kSeQqfhsowhYbjZ7IYRDIzwsFYKvdhxrI,4711
|
|
282
283
|
ommlds/minichain/backends/impls/google/tools.py,sha256=bP4bqHt1oZTvrcObkjQCNAUJEXrR9fFIRuvjsVFM910,5109
|
|
283
284
|
ommlds/minichain/backends/impls/groq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
284
285
|
ommlds/minichain/backends/impls/groq/chat.py,sha256=75Zst0j1VNSUYzP2eArKEOSvRI9TrRqtoTNwVMqO-1s,2845
|
|
285
286
|
ommlds/minichain/backends/impls/groq/names.py,sha256=RnvBSytxPF1a9Bj_OPVELuD1nAKJnJrG3ZwJfYo6Szs,1075
|
|
286
287
|
ommlds/minichain/backends/impls/groq/protocol.py,sha256=QNvqcfR9FbAIJv1fVerayws5gYU1am3oLFXmYMnQdX4,5261
|
|
287
|
-
ommlds/minichain/backends/impls/groq/stream.py,sha256=
|
|
288
|
+
ommlds/minichain/backends/impls/groq/stream.py,sha256=CEjNQEibiQWB7znyj1GE7dG2eA7KrPA7y_6-hgrRKa4,3995
|
|
288
289
|
ommlds/minichain/backends/impls/huggingface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
289
290
|
ommlds/minichain/backends/impls/huggingface/configs.py,sha256=6jsBtPNXOP57PcpxNTVLGWLc-18Iwn_lDbGouwCJTIQ,258
|
|
290
291
|
ommlds/minichain/backends/impls/huggingface/repos.py,sha256=NDanA_rFwT-K2gKghkHMxqejbYy6uctz10S6yREfbg0,807
|
|
@@ -296,15 +297,15 @@ ommlds/minichain/backends/impls/llamacpp/stream.py,sha256=XMKNMGzn5dFIZCqfEQdUvy
|
|
|
296
297
|
ommlds/minichain/backends/impls/mlx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
297
298
|
ommlds/minichain/backends/impls/mlx/chat.py,sha256=tmZZAmVg-XcbxZYGNHrKC0hiJbxW88pgEHqIEC5D2Xc,7536
|
|
298
299
|
ommlds/minichain/backends/impls/ollama/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
299
|
-
ommlds/minichain/backends/impls/ollama/chat.py,sha256=
|
|
300
|
+
ommlds/minichain/backends/impls/ollama/chat.py,sha256=jg9qwNYiJg8xvkluSkAAR9pfV7KjpBCA6X7k0hmvTMU,6825
|
|
300
301
|
ommlds/minichain/backends/impls/ollama/protocol.py,sha256=zB0Q6PChiRlskDhjvpXIb3pSeLcH1wFg5QUqfo20R-s,4796
|
|
301
302
|
ommlds/minichain/backends/impls/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
302
303
|
ommlds/minichain/backends/impls/openai/chat.py,sha256=G1IK94PwB16rYCkRos9JEuiAu1GgCK4CnZFOIShhpig,2856
|
|
303
304
|
ommlds/minichain/backends/impls/openai/completion.py,sha256=4Mi4Zvrq5fCqUd0asL3WiCbCdmxOdo0NFkoZMfdsYXY,1939
|
|
304
305
|
ommlds/minichain/backends/impls/openai/embedding.py,sha256=BNtvKYLTsnQwQR9Tv3Fr8zCYN1kr1UNdJ15lcsjz6X0,1765
|
|
305
|
-
ommlds/minichain/backends/impls/openai/format.py,sha256=
|
|
306
|
+
ommlds/minichain/backends/impls/openai/format.py,sha256=aWzkTy8F8glVNQaPvSw1jy3YjbzOfTL_IBLtdmfmHIk,7479
|
|
306
307
|
ommlds/minichain/backends/impls/openai/names.py,sha256=M1spn4Yio6LEnKWEzPqXSrzJg3wsf2M1iZIYFAvxb80,1550
|
|
307
|
-
ommlds/minichain/backends/impls/openai/stream.py,sha256=
|
|
308
|
+
ommlds/minichain/backends/impls/openai/stream.py,sha256=gRQxC4C7cU1NFHDsonOH88_bXN7fx1SNuEil6NrGYSY,4173
|
|
308
309
|
ommlds/minichain/backends/impls/sentencepiece/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
309
310
|
ommlds/minichain/backends/impls/sentencepiece/tokens.py,sha256=S32bkN5bbAeLrRLW0VW2N4dEOKvBwt2mMS3CGbcmzQI,1679
|
|
310
311
|
ommlds/minichain/backends/impls/tinygrad/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -391,6 +392,8 @@ ommlds/minichain/docs/__init__.py,sha256=vNpT6sA5YDalFqsCFn0DjUvarxRtRl3w2V9liEU
|
|
|
391
392
|
ommlds/minichain/docs/docs.py,sha256=Ex7hiqaiYDB9hQhUjuzot8MFktl3LIGG41YBFaNoC80,1340
|
|
392
393
|
ommlds/minichain/docs/dtypes.py,sha256=BRZmLK9NfQwITBYmDOmRPDlFg1RP5BYWT0Xw04AinF8,499
|
|
393
394
|
ommlds/minichain/docs/filters.py,sha256=rIW_x4QR7P2a2sqsEDw0xWJOKtK670i_bWfMZ52Jt_c,2277
|
|
395
|
+
ommlds/minichain/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
396
|
+
ommlds/minichain/http/stream.py,sha256=GmN53v4ZW_Zyxy51yW-Un7-rdBQceAtZjazi3llbRDE,5371
|
|
394
397
|
ommlds/minichain/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
395
398
|
ommlds/minichain/lib/bash.py,sha256=a7HUzb0KOCPRjJuWuJW6IGUxcF53Zx13q6huHO_82nw,872
|
|
396
399
|
ommlds/minichain/lib/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -437,8 +440,7 @@ ommlds/minichain/services/requests.py,sha256=PznUkVISx8PEPtio7KGH0YEvktkBp9FqU_W
|
|
|
437
440
|
ommlds/minichain/services/responses.py,sha256=jSUFUrY0DDnRyimh3pD2ee2ZnOcH8oQxxZnwiLf5p9A,3381
|
|
438
441
|
ommlds/minichain/services/services.py,sha256=c2uHH5Pt0wtUDQgJQEbw6NsS5NVSXMJirWISJ5FaRNg,685
|
|
439
442
|
ommlds/minichain/stream/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
440
|
-
ommlds/minichain/stream/services.py,sha256=
|
|
441
|
-
ommlds/minichain/stream/wrap.py,sha256=nQC0aCi49I18nF0Yx8qiiLkhIAECV6s6o4pvOy5Kx98,2041
|
|
443
|
+
ommlds/minichain/stream/services.py,sha256=H6osaS7bhU451llcAc71_lhjR8bts7IFyNB66N2BNEc,5674
|
|
442
444
|
ommlds/minichain/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
443
445
|
ommlds/minichain/text/applypatch.py,sha256=rHB6nG_2RqUAJFvrP1blrONy6ZpVP_M3aX5XQInonA0,17718
|
|
444
446
|
ommlds/minichain/text/toolparsing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -477,9 +479,9 @@ ommlds/minichain/vectors/similarity.py,sha256=etqSswPH7ERThueqnCUHULsM3rpsVslRFu
|
|
|
477
479
|
ommlds/minichain/vectors/stores.py,sha256=etbLCS0RXAEmqcCdqiys8twa8R7Y_DcjQ_VqnEnRF4s,530
|
|
478
480
|
ommlds/minichain/vectors/types.py,sha256=xSAK1Xfkubqf95QgJhSHrwBu_C5quuye3wZAASmxJkM,3473
|
|
479
481
|
ommlds/minichain/wrappers/__init__.py,sha256=kXyc5BHVI35GXGmIf0zkKfCVIqD8q9PFENblye5qCqc,110
|
|
480
|
-
ommlds/minichain/wrappers/firstinwins.py,sha256=
|
|
481
|
-
ommlds/minichain/wrappers/instrument.py,sha256=
|
|
482
|
-
ommlds/minichain/wrappers/retry.py,sha256=
|
|
482
|
+
ommlds/minichain/wrappers/firstinwins.py,sha256=pY0qZejjDlYDiH-3sA5vr4mAOwlGN-awsTKsFY5-QFU,3453
|
|
483
|
+
ommlds/minichain/wrappers/instrument.py,sha256=vU_rVe3jbt9q_oXK-OBLcOPKRRjAnEpQjJTNHHNZNDc,3731
|
|
484
|
+
ommlds/minichain/wrappers/retry.py,sha256=rYNKZT-VuP7qbQYtbmKAYadZWSdEI_6hwT7yB4DoFxg,4342
|
|
483
485
|
ommlds/minichain/wrappers/services.py,sha256=6AAwgCtzHzmJZWteKJJgdfSQtYuDBxuRFoT6NttV5RY,1912
|
|
484
486
|
ommlds/minichain/wrappers/stream.py,sha256=-H0O_Eyzsabk--mtIzobWdMdj3WnqonEZ9-k9_XdWiI,1223
|
|
485
487
|
ommlds/nanochat/LICENSE,sha256=QrsJ8zmor4uQ07SWm29uS6Sv87XGFBA7Ax_M33HI93I,1072
|
|
@@ -513,9 +515,9 @@ ommlds/wiki/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
|
513
515
|
ommlds/wiki/utils/io.py,sha256=UKgDJGtmpnWvIqVd2mJc2QNPOqlToEY1GEveNp6_pMo,7088
|
|
514
516
|
ommlds/wiki/utils/progress.py,sha256=EhvKcMFYtsarCQhIahlO6f0SboyAKP3UwUyrnVnP-Vk,3222
|
|
515
517
|
ommlds/wiki/utils/xml.py,sha256=sNJNkZ9rT8B-kJMO6bRz8J1USy4fyPx0m2PwTX7vxYY,3846
|
|
516
|
-
ommlds-0.0.0.
|
|
517
|
-
ommlds-0.0.0.
|
|
518
|
-
ommlds-0.0.0.
|
|
519
|
-
ommlds-0.0.0.
|
|
520
|
-
ommlds-0.0.0.
|
|
521
|
-
ommlds-0.0.0.
|
|
518
|
+
ommlds-0.0.0.dev504.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
|
519
|
+
ommlds-0.0.0.dev504.dist-info/METADATA,sha256=27dO2cQB4Y10EcKB2ZammM2Ctk9TuRKiZgfIEz7MbaA,3495
|
|
520
|
+
ommlds-0.0.0.dev504.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
521
|
+
ommlds-0.0.0.dev504.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
|
|
522
|
+
ommlds-0.0.0.dev504.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
|
|
523
|
+
ommlds-0.0.0.dev504.dist-info/RECORD,,
|
ommlds/minichain/stream/wrap.py
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# ruff: noqa: UP028
|
|
2
|
-
import typing as ta
|
|
3
|
-
|
|
4
|
-
from ..resources import UseResources
|
|
5
|
-
from ..services import Request
|
|
6
|
-
from ..services import Service
|
|
7
|
-
from ..types import Output
|
|
8
|
-
from .services import StreamResponse
|
|
9
|
-
from .services import StreamResponseSink
|
|
10
|
-
from .services import new_stream_response
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
StreamRequestT = ta.TypeVar('StreamRequestT', bound=Request)
|
|
14
|
-
V = ta.TypeVar('V')
|
|
15
|
-
OutputT = ta.TypeVar('OutputT', bound=Output)
|
|
16
|
-
StreamOutputT = ta.TypeVar('StreamOutputT', bound=Output)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class WrappedStreamService(ta.Generic[StreamRequestT, V, OutputT, StreamOutputT]):
|
|
23
|
-
"""Only handles simple, non-type-modifying usecases."""
|
|
24
|
-
|
|
25
|
-
def __init__(self, inner: Service[StreamRequestT, StreamResponse[V, OutputT, StreamOutputT]]) -> None:
|
|
26
|
-
super().__init__()
|
|
27
|
-
|
|
28
|
-
self._inner = inner
|
|
29
|
-
|
|
30
|
-
#
|
|
31
|
-
|
|
32
|
-
async def _process_request(self, request: StreamRequestT) -> StreamRequestT:
|
|
33
|
-
return request
|
|
34
|
-
|
|
35
|
-
async def _process_stream_outputs(self, outputs: ta.Sequence[StreamOutputT]) -> ta.Sequence[StreamOutputT]:
|
|
36
|
-
return outputs
|
|
37
|
-
|
|
38
|
-
async def _process_value(self, v: V) -> ta.Iterable[V]:
|
|
39
|
-
return [v]
|
|
40
|
-
|
|
41
|
-
async def _process_outputs(self, outputs: ta.Sequence[OutputT]) -> ta.Sequence[OutputT]:
|
|
42
|
-
return outputs
|
|
43
|
-
|
|
44
|
-
#
|
|
45
|
-
|
|
46
|
-
async def invoke(self, request: StreamRequestT) -> StreamResponse[V, OutputT, StreamOutputT]:
|
|
47
|
-
async with UseResources.or_new(request.options) as rs: # noqa
|
|
48
|
-
in_resp = await self._inner.invoke(await self._process_request(request))
|
|
49
|
-
in_vs = await rs.enter_async_context(in_resp.v)
|
|
50
|
-
|
|
51
|
-
async def inner(sink: StreamResponseSink[V]) -> ta.Sequence[OutputT] | None:
|
|
52
|
-
async for in_v in in_vs:
|
|
53
|
-
for out_v in (await self._process_value(in_v)):
|
|
54
|
-
await sink.emit(out_v)
|
|
55
|
-
|
|
56
|
-
return await self._process_outputs(in_vs.outputs)
|
|
57
|
-
|
|
58
|
-
return await new_stream_response(
|
|
59
|
-
rs,
|
|
60
|
-
inner,
|
|
61
|
-
await self._process_stream_outputs(in_resp.outputs),
|
|
62
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|