ommlds 0.0.0.dev475__py3-none-any.whl → 0.0.0.dev476__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.
Files changed (71) hide show
  1. ommlds/.omlish-manifests.json +85 -1
  2. ommlds/__about__.py +1 -1
  3. ommlds/backends/groq/_marshal.py +23 -0
  4. ommlds/backends/groq/protocol.py +184 -0
  5. ommlds/cli/{sessions/chat/backends → backends}/catalog.py +35 -3
  6. ommlds/cli/backends/configs.py +9 -0
  7. ommlds/cli/backends/inject.py +31 -36
  8. ommlds/cli/{sessions/chat/backends → backends}/injection.py +1 -1
  9. ommlds/cli/{sessions/chat/backends → backends}/types.py +11 -1
  10. ommlds/cli/{sessions/chat/content → content}/messages.py +1 -1
  11. ommlds/cli/{sessions/chat/content → content}/strings.py +1 -1
  12. ommlds/cli/inject.py +0 -6
  13. ommlds/cli/inputs/asyncs.py +32 -0
  14. ommlds/cli/{sessions/chat/chat/user/inputs.py → inputs/sync.py} +0 -30
  15. ommlds/cli/main.py +267 -113
  16. ommlds/cli/rendering/__init__.py +0 -0
  17. ommlds/cli/rendering/configs.py +9 -0
  18. ommlds/cli/{sessions/chat/rendering → rendering}/inject.py +4 -5
  19. ommlds/cli/{sessions/chat/rendering → rendering}/markdown.py +1 -1
  20. ommlds/cli/{sessions/chat/rendering → rendering}/raw.py +1 -1
  21. ommlds/cli/{sessions/chat/rendering → rendering}/types.py +1 -1
  22. ommlds/cli/secrets.py +21 -0
  23. ommlds/cli/sessions/base.py +1 -1
  24. ommlds/cli/sessions/chat/chat/ai/configs.py +11 -0
  25. ommlds/cli/sessions/chat/chat/ai/inject.py +7 -11
  26. ommlds/cli/sessions/chat/chat/ai/rendering.py +4 -4
  27. ommlds/cli/sessions/chat/chat/ai/services.py +2 -2
  28. ommlds/cli/sessions/chat/chat/state/configs.py +11 -0
  29. ommlds/cli/sessions/chat/chat/state/inject.py +6 -10
  30. ommlds/cli/sessions/chat/chat/state/inmemory.py +1 -2
  31. ommlds/cli/sessions/chat/chat/state/storage.py +1 -2
  32. ommlds/cli/sessions/chat/chat/state/types.py +1 -1
  33. ommlds/cli/sessions/chat/chat/user/configs.py +17 -0
  34. ommlds/cli/sessions/chat/chat/user/inject.py +13 -19
  35. ommlds/cli/sessions/chat/chat/user/interactive.py +3 -3
  36. ommlds/cli/sessions/chat/configs.py +15 -26
  37. ommlds/cli/sessions/chat/inject.py +18 -35
  38. ommlds/cli/sessions/chat/session.py +1 -1
  39. ommlds/cli/sessions/chat/tools/configs.py +13 -0
  40. ommlds/cli/sessions/chat/tools/inject.py +6 -10
  41. ommlds/cli/sessions/chat/tools/injection.py +1 -0
  42. ommlds/cli/sessions/chat/tools/rendering.py +1 -1
  43. ommlds/cli/sessions/completion/configs.py +2 -2
  44. ommlds/cli/sessions/completion/inject.py +14 -0
  45. ommlds/cli/sessions/completion/session.py +7 -11
  46. ommlds/cli/sessions/embedding/configs.py +2 -2
  47. ommlds/cli/sessions/embedding/inject.py +14 -0
  48. ommlds/cli/sessions/embedding/session.py +7 -11
  49. ommlds/cli/state/storage.py +1 -1
  50. ommlds/minichain/backends/catalogs/strings.py +1 -1
  51. ommlds/minichain/backends/impls/groq/__init__.py +0 -0
  52. ommlds/minichain/backends/impls/groq/chat.py +69 -0
  53. ommlds/minichain/backends/impls/groq/names.py +35 -0
  54. ommlds/minichain/backends/impls/groq/protocol.py +46 -0
  55. ommlds/minichain/backends/impls/groq/stream.py +121 -0
  56. ommlds/minichain/backends/impls/openai/chat.py +3 -3
  57. ommlds/minichain/backends/impls/openai/names.py +27 -3
  58. ommlds/minichain/backends/impls/openai/stream.py +2 -2
  59. ommlds/wiki/utils/xml.py +5 -5
  60. {ommlds-0.0.0.dev475.dist-info → ommlds-0.0.0.dev476.dist-info}/METADATA +5 -5
  61. {ommlds-0.0.0.dev475.dist-info → ommlds-0.0.0.dev476.dist-info}/RECORD +68 -55
  62. ommlds/cli/backends/standard.py +0 -20
  63. ommlds/cli/main2.py +0 -220
  64. ommlds/cli/sessions/chat/backends/inject.py +0 -53
  65. /ommlds/{cli/sessions/chat/backends → backends/groq}/__init__.py +0 -0
  66. /ommlds/cli/{sessions/chat/content → content}/__init__.py +0 -0
  67. /ommlds/cli/{sessions/chat/rendering → inputs}/__init__.py +0 -0
  68. {ommlds-0.0.0.dev475.dist-info → ommlds-0.0.0.dev476.dist-info}/WHEEL +0 -0
  69. {ommlds-0.0.0.dev475.dist-info → ommlds-0.0.0.dev476.dist-info}/entry_points.txt +0 -0
  70. {ommlds-0.0.0.dev475.dist-info → ommlds-0.0.0.dev476.dist-info}/licenses/LICENSE +0 -0
  71. {ommlds-0.0.0.dev475.dist-info → ommlds-0.0.0.dev476.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,35 @@
1
+ """
2
+ https://console.groq.com/docs/models
3
+
4
+ curl -X GET "https://api.groq.com/openai/v1/models" \
5
+ -H "Authorization: Bearer $GROQ_API_KEY" \
6
+ -H "Content-Type: application/json"
7
+ """
8
+ from ....models.names import ModelNameCollection
9
+ from ...strings.manifests import BackendStringsManifest
10
+
11
+
12
+ ##
13
+
14
+
15
+ MODEL_NAMES = ModelNameCollection(
16
+ default='gpt-oss-120b',
17
+ aliases={
18
+ 'gpt-oss-120b': 'openai/gpt-oss-120b',
19
+ 'openai/gpt-oss-120b': None,
20
+
21
+ 'gpt-oss-20b': 'openai/gpt-oss-20b',
22
+ 'openai/gpt-oss-20b': None,
23
+ },
24
+ )
25
+
26
+
27
+ # @omlish-manifest
28
+ _BACKEND_STRINGS_MANIFEST = BackendStringsManifest(
29
+ [
30
+ 'ChatChoicesService',
31
+ 'ChatChoicesStreamService',
32
+ ],
33
+ 'groq',
34
+ model_names=MODEL_NAMES,
35
+ )
@@ -0,0 +1,46 @@
1
+ from omlish import check
2
+
3
+ from .....backends.groq import protocol as pt
4
+ from ....chat.choices.services import ChatChoicesResponse
5
+ from ....chat.choices.types import AiChoice
6
+ from ....chat.messages import AiMessage
7
+ from ....chat.messages import Message
8
+ from ....chat.messages import SystemMessage
9
+ from ....chat.messages import UserMessage
10
+ from ....chat.stream.types import AiChoiceDeltas
11
+ from ....chat.stream.types import ContentAiChoiceDelta
12
+
13
+
14
+ ##
15
+
16
+
17
+ def build_gq_request_message(mc_msg: Message) -> pt.ChatCompletionRequest.Message:
18
+ if isinstance(mc_msg, SystemMessage):
19
+ return pt.ChatCompletionRequest.SystemMessage(
20
+ content=check.isinstance(mc_msg.c, str),
21
+ )
22
+
23
+ elif isinstance(mc_msg, UserMessage):
24
+ return pt.ChatCompletionRequest.UserMessage(
25
+ content=check.isinstance(mc_msg.c, str),
26
+ )
27
+
28
+ else:
29
+ raise TypeError(mc_msg)
30
+
31
+
32
+ def build_mc_choices_response(gq_resp: pt.ChatCompletionResponse) -> ChatChoicesResponse:
33
+ return ChatChoicesResponse([
34
+ AiChoice([AiMessage(
35
+ check.isinstance(gq_choice.message.content, str),
36
+ )])
37
+ for gq_choice in gq_resp.choices
38
+ ])
39
+
40
+
41
+ def build_mc_ai_choice_deltas(delta: pt.ChatCompletionChunk.Choice.Delta) -> AiChoiceDeltas:
42
+ if delta.role in (None, 'assistant') and delta.content is not None:
43
+ return AiChoiceDeltas([ContentAiChoiceDelta(delta.content)])
44
+
45
+ else:
46
+ return AiChoiceDeltas([])
@@ -0,0 +1,121 @@
1
+ import typing as ta
2
+
3
+ from omlish import check
4
+ from omlish import marshal as msh
5
+ from omlish import typedvalues as tv
6
+ from omlish.formats import json
7
+ from omlish.http import all as http
8
+ from omlish.http import sse
9
+ from omlish.io.buffers import DelimitingBuffer
10
+
11
+ from .....backends.groq import protocol as pt
12
+ from ....chat.choices.services import ChatChoicesOutputs
13
+ from ....chat.stream.services import ChatChoicesStreamRequest
14
+ from ....chat.stream.services import ChatChoicesStreamResponse
15
+ from ....chat.stream.services import static_check_is_chat_choices_stream_service
16
+ from ....chat.stream.types import AiChoicesDeltas
17
+ from ....configs import Config
18
+ from ....resources import UseResources
19
+ from ....standard import ApiKey
20
+ from ....stream.services import StreamResponseSink
21
+ from ....stream.services import new_stream_response
22
+ from .chat import GroqChatChoicesService
23
+ from .names import MODEL_NAMES
24
+ from .protocol import build_gq_request_message
25
+ from .protocol import build_mc_ai_choice_deltas
26
+
27
+
28
+ ##
29
+
30
+
31
+ # @omlish-manifest $.minichain.registries.manifests.RegistryManifest(
32
+ # name='groq',
33
+ # type='ChatChoicesStreamService',
34
+ # )
35
+ @static_check_is_chat_choices_stream_service
36
+ class GroqChatChoicesStreamService:
37
+ def __init__(
38
+ self,
39
+ *configs: Config,
40
+ http_client: http.AsyncHttpClient | None = None,
41
+ ) -> None:
42
+ super().__init__()
43
+
44
+ self._http_client = http_client
45
+
46
+ with tv.consume(*configs) as cc:
47
+ self._model_name = cc.pop(GroqChatChoicesService.DEFAULT_MODEL_NAME)
48
+ self._api_key = ApiKey.pop_secret(cc, env='GROQ_API_KEY')
49
+
50
+ READ_CHUNK_SIZE: ta.ClassVar[int] = -1
51
+
52
+ async def invoke(self, request: ChatChoicesStreamRequest) -> ChatChoicesStreamResponse:
53
+ # check.isinstance(request, ChatRequest)
54
+
55
+ gq_request = pt.ChatCompletionRequest(
56
+ messages=[
57
+ build_gq_request_message(m)
58
+ for m in request.v
59
+ ],
60
+ model=MODEL_NAMES.resolve(self._model_name.v),
61
+ stream=True,
62
+ )
63
+
64
+ raw_request = msh.marshal(gq_request)
65
+
66
+ http_request = http.HttpRequest(
67
+ 'https://api.groq.com/openai/v1/chat/completions',
68
+ headers={
69
+ http.consts.HEADER_CONTENT_TYPE: http.consts.CONTENT_TYPE_JSON,
70
+ http.consts.HEADER_AUTH: http.consts.format_bearer_auth_header(check.not_none(self._api_key).reveal()),
71
+ },
72
+ data=json.dumps(raw_request).encode('utf-8'),
73
+ )
74
+
75
+ async with UseResources.or_new(request.options) as rs:
76
+ http_client = await rs.enter_async_context(http.manage_async_client(self._http_client))
77
+ http_response = await rs.enter_async_context(await http_client.stream_request(http_request))
78
+
79
+ async def inner(sink: StreamResponseSink[AiChoicesDeltas]) -> ta.Sequence[ChatChoicesOutputs]:
80
+ db = DelimitingBuffer([b'\r', b'\n', b'\r\n'])
81
+ sd = sse.SseDecoder()
82
+ while True:
83
+ b = await http_response.stream.read1(self.READ_CHUNK_SIZE)
84
+ for l in db.feed(b):
85
+ if isinstance(l, DelimitingBuffer.Incomplete):
86
+ # FIXME: handle
87
+ return []
88
+
89
+ # FIXME: https://platform.openai.com/docs/guides/function-calling?api-mode=responses#streaming
90
+ for so in sd.process_line(l):
91
+ if isinstance(so, sse.SseEvent) and so.type == b'message':
92
+ ss = so.data.decode('utf-8')
93
+ if ss == '[DONE]':
94
+ return []
95
+
96
+ sj = json.loads(ss) # ChatCompletionChunk
97
+
98
+ check.state(sj['object'] == 'chat.completion.chunk')
99
+
100
+ ccc = msh.unmarshal(sj, pt.ChatCompletionChunk)
101
+
102
+ # FIXME: stop reason
103
+ if not ccc.choices:
104
+ continue
105
+
106
+ if any(choice.finish_reason for choice in ccc.choices):
107
+ check.state(all(choice.finish_reason for choice in ccc.choices))
108
+ break
109
+
110
+ await sink.emit(AiChoicesDeltas([
111
+ build_mc_ai_choice_deltas(choice.delta)
112
+ for choice in ccc.choices
113
+ ]))
114
+
115
+ if not b:
116
+ return []
117
+
118
+ # raw_response = json.loads(check.not_none(http_response.data).decode('utf-8'))
119
+ # return rh.build_response(raw_response)
120
+
121
+ return await new_stream_response(rs, inner)
@@ -28,7 +28,7 @@ from ....standard import ApiKey
28
28
  from ....standard import DefaultOptions
29
29
  from .format import OpenaiChatRequestHandler
30
30
  from .format import build_mc_choices_response
31
- from .names import MODEL_NAMES
31
+ from .names import CHAT_MODEL_NAMES
32
32
 
33
33
 
34
34
  ##
@@ -40,7 +40,7 @@ from .names import MODEL_NAMES
40
40
  # )
41
41
  @static_check_is_chat_choices_service
42
42
  class OpenaiChatChoicesService:
43
- DEFAULT_MODEL_NAME: ta.ClassVar[ModelName] = ModelName(check.not_none(MODEL_NAMES.default))
43
+ DEFAULT_MODEL_NAME: ta.ClassVar[ModelName] = ModelName(check.not_none(CHAT_MODEL_NAMES.default))
44
44
 
45
45
  def __init__(
46
46
  self,
@@ -66,7 +66,7 @@ class OpenaiChatChoicesService:
66
66
  *request.options,
67
67
  override=True,
68
68
  ),
69
- model=MODEL_NAMES.resolve(self._model_name.v),
69
+ model=CHAT_MODEL_NAMES.resolve(self._model_name.v),
70
70
  mandatory_kwargs=dict(
71
71
  stream=False,
72
72
  ),
@@ -33,7 +33,7 @@ _GPT_MODEL_NAMES = [
33
33
  ]
34
34
 
35
35
 
36
- MODEL_NAMES = ModelNameCollection(
36
+ CHAT_MODEL_NAMES = ModelNameCollection(
37
37
  default='gpt',
38
38
  aliases={
39
39
  **{
@@ -61,11 +61,35 @@ MODEL_NAMES = ModelNameCollection(
61
61
 
62
62
 
63
63
  # @omlish-manifest
64
- _BACKEND_STRINGS_MANIFEST = BackendStringsManifest(
64
+ _CHAT_BACKEND_STRINGS_MANIFEST = BackendStringsManifest(
65
65
  [
66
66
  'ChatChoicesService',
67
67
  'ChatChoicesStreamService',
68
68
  ],
69
69
  'openai',
70
- model_names=MODEL_NAMES,
70
+ model_names=CHAT_MODEL_NAMES,
71
+ )
72
+
73
+
74
+ ##
75
+
76
+
77
+ # @omlish-manifest
78
+ _COMPLETION_BACKEND_STRINGS_MANIFEST = BackendStringsManifest(
79
+ [
80
+ 'CompletionService',
81
+ ],
82
+ 'openai',
83
+ )
84
+
85
+
86
+ ##
87
+
88
+
89
+ # @omlish-manifest
90
+ _EMBEDDING_BACKEND_STRINGS_MANIFEST = BackendStringsManifest(
91
+ [
92
+ 'EmbeddingService',
93
+ ],
94
+ 'openai',
71
95
  )
@@ -29,7 +29,7 @@ from ....stream.services import new_stream_response
29
29
  from .chat import OpenaiChatChoicesService
30
30
  from .format import OpenaiChatRequestHandler
31
31
  from .format import build_mc_ai_choice_delta
32
- from .names import MODEL_NAMES
32
+ from .names import CHAT_MODEL_NAMES
33
33
 
34
34
 
35
35
  ##
@@ -66,7 +66,7 @@ class OpenaiChatChoicesStreamService:
66
66
  for o in request.options
67
67
  if not isinstance(o, (ChatChoicesStreamOption, StreamOption, ResourcesOption))
68
68
  ],
69
- model=MODEL_NAMES.resolve(self._model_name.v),
69
+ model=CHAT_MODEL_NAMES.resolve(self._model_name.v),
70
70
  mandatory_kwargs=dict(
71
71
  stream=True,
72
72
  stream_options=pt.ChatCompletionRequest.StreamOptions(
ommlds/wiki/utils/xml.py CHANGED
@@ -24,7 +24,7 @@ else:
24
24
 
25
25
  T = ta.TypeVar('T')
26
26
 
27
- Element: ta.TypeAlias = ta.Union[ET.Element, 'lxml_etree.Element']
27
+ Element: ta.TypeAlias = ta.Union[ET.Element, 'lxml_etree.Element'] # type: ignore[valid-type]
28
28
 
29
29
 
30
30
  ##
@@ -83,8 +83,8 @@ class ElementToKwargs:
83
83
  raise KeyError(k)
84
84
  kw[k] = v
85
85
 
86
- if el.attrib:
87
- for k, v in el.attrib.items():
86
+ if el.attrib: # type: ignore
87
+ for k, v in el.attrib.items(): # type: ignore
88
88
  k = strip_ns(k)
89
89
 
90
90
  if k in self.attrs:
@@ -99,7 +99,7 @@ class ElementToKwargs:
99
99
  else:
100
100
  raise KeyError(k)
101
101
 
102
- for cel in el:
102
+ for cel in el: # type: ignore
103
103
  k = strip_ns(cel.tag)
104
104
 
105
105
  if k in self.scalars:
@@ -123,7 +123,7 @@ class ElementToKwargs:
123
123
  raise KeyError(k)
124
124
 
125
125
  if self.text is not None:
126
- set_kw(self.text, el.text)
126
+ set_kw(self.text, el.text) # type: ignore
127
127
 
128
128
  return kw
129
129
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ommlds
3
- Version: 0.0.0.dev475
3
+ Version: 0.0.0.dev476
4
4
  Summary: ommlds
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,8 +14,8 @@ 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: omdev==0.0.0.dev475
18
- Requires-Dist: omlish==0.0.0.dev475
17
+ Requires-Dist: omdev==0.0.0.dev476
18
+ Requires-Dist: omlish==0.0.0.dev476
19
19
  Provides-Extra: all
20
20
  Requires-Dist: llama-cpp-python~=0.3; extra == "all"
21
21
  Requires-Dist: mlx~=0.29; extra == "all"
@@ -33,7 +33,7 @@ Requires-Dist: numpy>=1.26; extra == "all"
33
33
  Requires-Dist: pytesseract~=0.3; extra == "all"
34
34
  Requires-Dist: rapidocr-onnxruntime~=1.4; extra == "all"
35
35
  Requires-Dist: pillow~=12.0; extra == "all"
36
- Requires-Dist: ddgs~=9.8; extra == "all"
36
+ Requires-Dist: ddgs~=9.9; extra == "all"
37
37
  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"
@@ -60,7 +60,7 @@ Requires-Dist: rapidocr-onnxruntime~=1.4; extra == "ocr"
60
60
  Provides-Extra: pillow
61
61
  Requires-Dist: pillow~=12.0; extra == "pillow"
62
62
  Provides-Extra: search
63
- Requires-Dist: ddgs~=9.8; extra == "search"
63
+ Requires-Dist: ddgs~=9.9; extra == "search"
64
64
  Provides-Extra: wiki
65
65
  Requires-Dist: mwparserfromhell~=0.7; extra == "wiki"
66
66
  Requires-Dist: wikitextparser~=0.56; extra == "wiki"
@@ -1,5 +1,5 @@
1
- ommlds/.omlish-manifests.json,sha256=h7jN7c_zVxbxyIrJ5uzUNl2iJ-F2b2F-0OJfnxronEc,22883
2
- ommlds/__about__.py,sha256=mP2W108hhVEEa53DuCyBxWWFxtG8FB_CDe0erAZr2zA,1839
1
+ ommlds/.omlish-manifests.json,sha256=iFZm89KS4aONhIRo1mbtKiHARMrNZ4SfQLSNgJO_Iek,25355
2
+ ommlds/__about__.py,sha256=5ekfRjb6SiK6o6SAusykyPQ_oxy46_IEga7nD0EL0cI,1839
3
3
  ommlds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  ommlds/_hacks/__init__.py,sha256=ajfw7dMKH8UuloeQ5MSxWwgAmdWf2v8gm-K3uLP9wtY,196
5
5
  ommlds/_hacks/funcs.py,sha256=8XseIblP7yolDUD7WQSGn1LP90IQzByVejSzphAPDyM,2861
@@ -20,6 +20,9 @@ ommlds/backends/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
20
20
  ommlds/backends/google/protocol/__init__.py,sha256=OWmhuCS_sZ08ZaBtSSDRIudHKzkzgmqxY-3jgQxTidw,105
21
21
  ommlds/backends/google/protocol/_marshal.py,sha256=LWikcdMDrKQ0lMtclNXwK9qamijUBzK62nrEVo2OFtc,305
22
22
  ommlds/backends/google/protocol/types.py,sha256=JDft5-5sPuy8sFWTvid4JuC9a9EnuQizt9dyAV2L56s,17536
23
+ ommlds/backends/groq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ ommlds/backends/groq/_marshal.py,sha256=3o4CVK9VbP_UnEbXZ4fQJuZK3Sy9xnkXTTempSDSvgE,602
25
+ ommlds/backends/groq/protocol.py,sha256=ufZ6UIJnQfei28q9o6GpPiD9AJ_LZa9SSOWP7B79qcg,5871
23
26
  ommlds/backends/llamacpp/__init__.py,sha256=zXFpLXE4a2vEl0jcPDyKlPHHfZ3Z8Dz0twhEIyZ8-vg,59
24
27
  ommlds/backends/llamacpp/buildwheel.py,sha256=q9ghCLVbm8Jm6syrZlBP-x1qNDd0wSl15B2OXBtDBQ8,3813
25
28
  ommlds/backends/llamacpp/logging.py,sha256=nCEC6ASEuTpJqx47DMLhnbr5KelDlbxhM0nKQt4bc3w,773
@@ -86,75 +89,80 @@ ommlds/backends/transformers/streamers.py,sha256=Hu_9lp_kUilKjOfs7Ixqr2NoA5FuRn2
86
89
  ommlds/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
90
  ommlds/cli/__main__.py,sha256=1ffCb0fcUOJMzxROJmJRXQ8PSOVYv7KrcuBtT95cf0c,140
88
91
  ommlds/cli/asyncs.py,sha256=NAMzzaZq7ORjlbbBB_Y9vcM9qoBpGf4VJNtl_3p_8G4,629
89
- ommlds/cli/inject.py,sha256=w1_gk26_RL7pJtzS9gSAO7CE24yWwW0DnhBhE80Wnjw,806
90
- ommlds/cli/main.py,sha256=z87Vu6-_jrzrYuGV7D8eA3ePDHlOvRrl4QUYLYKpdq0,5500
91
- ommlds/cli/main2.py,sha256=Fl6ljUkb8JxhRGe0mekKfOzGmE4GWqc-pVR0ZKCdor8,5724
92
+ ommlds/cli/inject.py,sha256=CdG-Zgq3T0pDWLhHRZSqlkR4W2mS7LlCOHD2uP1llf0,610
93
+ ommlds/cli/main.py,sha256=IhiHpFpUMCYuoQZakRrRXif6mmFwmSjvL5-zyPAmuD4,9067
94
+ ommlds/cli/secrets.py,sha256=LAlpESndxbEJLF2ohJQQJUEODsY5Vqv3wH8_TDRExHw,441
92
95
  ommlds/cli/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
- ommlds/cli/backends/inject.py,sha256=OVstNsoeVnprM9PBL_zP0N46KkoDg3_Wz90BWcQ7km4,1734
94
- ommlds/cli/backends/standard.py,sha256=HnammWyAXJHeqXJrAMBdarcT4Nyt2CxudZdD2fW_Y9M,631
96
+ ommlds/cli/backends/catalog.py,sha256=hLcBXBCiB7eKT_2yv8kyLD5f94LV7vCcOe144URuJxs,3225
97
+ ommlds/cli/backends/configs.py,sha256=RvNWxsJDSsHc0eWA6hI1_3n__HU7rXAUmzS06ykMPh0,137
98
+ ommlds/cli/backends/inject.py,sha256=vnpvMbYP-iVLs-w4Cwp-e3alipK83MzELv6VxDBuEdY,2381
99
+ ommlds/cli/backends/injection.py,sha256=aCscVcq0_gobzNgLEflGInFC9b_dtnuQgLZ0wX_iTWg,325
100
+ ommlds/cli/backends/types.py,sha256=sut62bGJ3baDbQs3-AwnOwJrvw0VTysqQw8f3yJww8w,966
101
+ ommlds/cli/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
+ ommlds/cli/content/messages.py,sha256=njaZyEOglagkcmmB7TtoPoATIx5zgr5f6ijPQwMsfSA,937
103
+ ommlds/cli/content/strings.py,sha256=pSzQQFYP-RYlpVuVs8HXk_fGlOo-1IT1yAS8umidrzw,1053
104
+ ommlds/cli/inputs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
+ ommlds/cli/inputs/asyncs.py,sha256=V7f68qvYD_VFQPUXJPrytL-eqiC3rbUaaijAAjJrFRU,686
106
+ ommlds/cli/inputs/sync.py,sha256=naVETa31rweOB7RpFtuxIFl6zCPYhhpp1rwLlRxAahY,1737
107
+ ommlds/cli/rendering/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
+ ommlds/cli/rendering/configs.py,sha256=jWpLnD24eGgPfAg_4_0jY0KKP-1bT1TxvF5ih_poAZw,135
109
+ ommlds/cli/rendering/inject.py,sha256=2lkc6oRYhM3TIwjH2mzmnmHXsZYeyNhP3ax0EzFyWrk,923
110
+ ommlds/cli/rendering/markdown.py,sha256=f4WN1fUW4lqxW0da7m5LS8sm9MOXenVHZ2V8pPaBL84,1801
111
+ ommlds/cli/rendering/raw.py,sha256=02arQUZ_vsEeTG1qgwAFdf48xD_MjQA0MIBbr2aBt5Y,2430
112
+ ommlds/cli/rendering/types.py,sha256=IWFh9L7XROsT4Q8wKwN_NV7qKUcakIqJBebIUGLIAvQ,447
95
113
  ommlds/cli/sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
- ommlds/cli/sessions/base.py,sha256=oTqsqZ9jhBWFblANpVWLLIzmRfP8HO9QYtPnZ-GZxS0,452
114
+ ommlds/cli/sessions/base.py,sha256=diwERBpapd73Cn2T2_ctEIfhzjzJ1DTzjcExxwxccqw,464
97
115
  ommlds/cli/sessions/inject.py,sha256=9SrtsozIhqok3jZtepKTJwpOxHkU7FrqKw6pc78mEO4,926
98
116
  ommlds/cli/sessions/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- ommlds/cli/sessions/chat/configs.py,sha256=C8Q3oZPBAiqOgDiwkNynWA9WLYCGzCFQR6gfCRFlWow,746
117
+ ommlds/cli/sessions/chat/configs.py,sha256=IN2JMJv_Vat8K8-1GUgfOjQG_jzeJ4aKpGoztX498iE,636
100
118
  ommlds/cli/sessions/chat/driver.py,sha256=ddnCYTKqWiPxV8U4UbFwb7E3yi81ItjZ9j3AJd3a3Mk,1395
101
- ommlds/cli/sessions/chat/inject.py,sha256=i7XW9MPJfeKfj8fQDwbU9bUz3_E5ThSL1R7hJjFxggw,1971
102
- ommlds/cli/sessions/chat/session.py,sha256=eqwelLE74JFC-fBpk_hdwMD2nP4pLv3ZPwUn99200B8,521
103
- ommlds/cli/sessions/chat/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
- ommlds/cli/sessions/chat/backends/catalog.py,sha256=hIY0L1zewuJX0_xxcMcy4gylSLiQENB3YxgYJEoKgrU,2109
105
- ommlds/cli/sessions/chat/backends/inject.py,sha256=er03V-84B-wWt86o2HXXqCb6uFRKbfXfUZsB6GrzYOA,1646
106
- ommlds/cli/sessions/chat/backends/injection.py,sha256=GCn5OvNIEowgB70kQVuU84z3i8lLA4vOVkTZlQG8s0o,327
107
- ommlds/cli/sessions/chat/backends/types.py,sha256=5eImYHXLKqbC5MDrN443eMGamP9snCmV1n7LtAsqgPk,696
119
+ ommlds/cli/sessions/chat/inject.py,sha256=uLOSGyVI6UsZxeYw62w4Sl1GmuxGpcRnJRXCmzj4xBA,1463
120
+ ommlds/cli/sessions/chat/session.py,sha256=DOkCg_PLdleyYFQa2WLAOBWwgQeuVITJ6rY_sqk3sCc,533
108
121
  ommlds/cli/sessions/chat/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
122
  ommlds/cli/sessions/chat/chat/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
- ommlds/cli/sessions/chat/chat/ai/inject.py,sha256=FCq-E8auVJ-gnK18NoKiINGBHgDllroZRG7z5ZY63L8,2514
123
+ ommlds/cli/sessions/chat/chat/ai/configs.py,sha256=zIth9PKJ9u68Mblctraj2HQcEuiztKGF5sPeJZ-OABw,182
124
+ ommlds/cli/sessions/chat/chat/ai/inject.py,sha256=hyYIL7v_aFFtOZGRKwwPqu_A0Uox1sW_m4twrz2aahI,2482
111
125
  ommlds/cli/sessions/chat/chat/ai/injection.py,sha256=2O_ELMusxQsYaB2oqvzjYpZQzjshocJup7Z5unzoUIY,404
112
- ommlds/cli/sessions/chat/chat/ai/rendering.py,sha256=cicA6NwkM9UJb1dgsakhkhIMWGzBsArPFvYoINBmuec,2285
113
- ommlds/cli/sessions/chat/chat/ai/services.py,sha256=-XcMEatIDA0h_h-crL45c3qvC5VbDdhvKcWsxzioQA8,2507
126
+ ommlds/cli/sessions/chat/chat/ai/rendering.py,sha256=SC_0l059ZNvNgpO3uivmJLRbG2YuDynvAkz92dcanIw,2293
127
+ ommlds/cli/sessions/chat/chat/ai/services.py,sha256=W70n0AyjaHqq3MDiYTs4Tyczr0QPCyavxUQL2b4Dpog,2511
114
128
  ommlds/cli/sessions/chat/chat/ai/tools.py,sha256=en94LLM8y73N11xhQPlkSLfbzAmYVwKU-4nz2i0CK0E,1094
115
129
  ommlds/cli/sessions/chat/chat/ai/types.py,sha256=QH6Cn6DrdxBi0Tnura7Fq-WtGUm0FdsazZSgki6nf0A,750
116
130
  ommlds/cli/sessions/chat/chat/state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- ommlds/cli/sessions/chat/chat/state/inject.py,sha256=usHhiE1fKtttJvxgVN-LuwIsfyau_0n17-99bDuPNnw,1131
118
- ommlds/cli/sessions/chat/chat/state/inmemory.py,sha256=2lSCWnNEH_vj9RJUVzM8huAHAXBJ6Go02og2nzew1hk,861
119
- ommlds/cli/sessions/chat/chat/state/storage.py,sha256=Q7OOjZKjvkRbiEWIVFKG66xxrxHqFFzx0IcL5cNJrG4,1436
120
- ommlds/cli/sessions/chat/chat/state/types.py,sha256=iMovPXnRvZJ8ieM5gPnTBi1X7j-9GUtziiPBZJJf034,794
131
+ ommlds/cli/sessions/chat/chat/state/configs.py,sha256=VMrqC-2dE8lXZmT1dBgUUReS0FDQWzD0U6thSyjOOZM,192
132
+ ommlds/cli/sessions/chat/chat/state/inject.py,sha256=PXGn3Q6wuDHEID0D7p8xh_w2H1TGQpusR-zu4MmGUsc,1107
133
+ ommlds/cli/sessions/chat/chat/state/inmemory.py,sha256=4wX-8NA8SUTytXeUaTMaI64KBqbXMPIe2TRuI2GO0_8,872
134
+ ommlds/cli/sessions/chat/chat/state/storage.py,sha256=gKUNsNj3TtH67-FOuHXrQlDsESeIYDUHPhn7unTQCx8,1447
135
+ ommlds/cli/sessions/chat/chat/state/types.py,sha256=NsHCZNeBfLW1BMVB2rn-DUqA9C5w2vp-_3UjjKl4QRo,806
121
136
  ommlds/cli/sessions/chat/chat/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- ommlds/cli/sessions/chat/chat/user/inject.py,sha256=rCk1zVQ1KE9uvJ_y0sQIIjdsFd1QWWfcbg6haQgUN70,2515
123
- ommlds/cli/sessions/chat/chat/user/inputs.py,sha256=aOzq7kkzvRN-ZezZDiCnViLJAeGtfNP6O-XnqJEGE_k,2372
124
- ommlds/cli/sessions/chat/chat/user/interactive.py,sha256=kF7g4XIafb-vUHKxtpOUZT8Mt9cYjZDCEvBrnNSnAJ0,831
137
+ ommlds/cli/sessions/chat/chat/user/configs.py,sha256=QdsHopwQnShreEgLMlFEdLo1c4ursmL09woXiwJLv1o,364
138
+ ommlds/cli/sessions/chat/chat/user/inject.py,sha256=9HGjOxgfuLRAKDDozO0UhH2mnVrE2fQqUmkji20BZS8,2444
139
+ ommlds/cli/sessions/chat/chat/user/interactive.py,sha256=SHeiuhkCkM0SM0dTph-W-qk9VLBMuwL1nTE-Moex2qA,862
125
140
  ommlds/cli/sessions/chat/chat/user/oneshot.py,sha256=jPrZBBuf-olBfPF7CPTYK7-Dr7EvSriU7L0nORHfbv4,588
126
141
  ommlds/cli/sessions/chat/chat/user/types.py,sha256=MNlhMxlLtxVod9rUZlSPvRaippPAXEdX_GHh73QLeSg,262
127
- ommlds/cli/sessions/chat/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- ommlds/cli/sessions/chat/content/messages.py,sha256=DhGIBdPXXiQdKcQkPKFJPmhdL2CBHvyoVWhSKBRVMY0,939
129
- ommlds/cli/sessions/chat/content/strings.py,sha256=PyaHeUnAAuhOyJr7F7G4xupUOQLs7_iOd74wFNHTkfg,1055
130
142
  ommlds/cli/sessions/chat/phases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
143
  ommlds/cli/sessions/chat/phases/inject.py,sha256=m9GcCVcp1GnNKN1qwDSgTkfp3e107wXgPeEHDLbfG8s,448
132
144
  ommlds/cli/sessions/chat/phases/injection.py,sha256=ZUFRRLp3HNhKaPBW6aiw5XFEGNkqTj8WVSlXM0kg0y0,326
133
145
  ommlds/cli/sessions/chat/phases/manager.py,sha256=_wfc0FfL5h_5L-6hnYb3U3kiRmkGDkJu7wGj5Cgz7_Y,727
134
146
  ommlds/cli/sessions/chat/phases/types.py,sha256=w1pAEydJYaHzSzdlqygCwKxvVZnfo_R_xJqq8wBzZsQ,512
135
- ommlds/cli/sessions/chat/rendering/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
- ommlds/cli/sessions/chat/rendering/inject.py,sha256=Yo_BDxDNbTge8UtEp31uTKhsFdaeVf-4CFs3rdu8l0I,885
137
- ommlds/cli/sessions/chat/rendering/markdown.py,sha256=C4z9Rs0ivVTrBmu7lFnybNOq1j9hEZb58Gc_R8rmcUI,1803
138
- ommlds/cli/sessions/chat/rendering/raw.py,sha256=L7RIY77dycZRTspWJC4Vj4fP9I-vdqo_0qe_8bj-0QQ,2432
139
- ommlds/cli/sessions/chat/rendering/types.py,sha256=6wzYeitDGVufrf0W-R2cuwcBscPf9yPl0HtiCd7am2Q,449
140
147
  ommlds/cli/sessions/chat/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
+ ommlds/cli/sessions/chat/tools/configs.py,sha256=nyOD8J5dWUCaYY-AXEOAqUwZA46wl70c9WD7TZh4Vl8,244
141
149
  ommlds/cli/sessions/chat/tools/confirmation.py,sha256=I_nYBIIoeprCShUaVpN4v01YOAdY6iJEM5-ybc0p8VA,1072
142
150
  ommlds/cli/sessions/chat/tools/execution.py,sha256=4sRuZWZjNBo852hhLZjqTqEZpgu9KPXHEawiICIMUdc,1576
143
- ommlds/cli/sessions/chat/tools/inject.py,sha256=iKBvMrgmFCkgjD0MWtIQFuoiijfRwmhfFW1l6q5Fnd0,3845
144
- ommlds/cli/sessions/chat/tools/injection.py,sha256=xsVbJAKsDIP-2LbzDXZ3LBJgeY0FJ66UuCK0OYB1uw0,837
145
- ommlds/cli/sessions/chat/tools/rendering.py,sha256=a9gIhxuGF9tfXGlkGXpdweSz4dacIsxoqJNKpRSvUN4,1402
151
+ ommlds/cli/sessions/chat/tools/inject.py,sha256=oz1UOx-HM0h6LJ2BXYLDED2C-m7v54RI_2ILk_5lfB4,3780
152
+ ommlds/cli/sessions/chat/tools/injection.py,sha256=RDtsOuy4qycaVq_v8J6_u8ZCUycBg0hAN8qr0rojFKw,838
153
+ ommlds/cli/sessions/chat/tools/rendering.py,sha256=-BO-rY_WycmAf1WC9jhiRqnBJiQOtUA5jaXcOC2K6aw,1404
146
154
  ommlds/cli/sessions/chat/tools/weather.py,sha256=vZXOHdRGGlkDEXasW5foc58MyEMOc79bhIfIgrumRlo,302
147
155
  ommlds/cli/sessions/completion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
- ommlds/cli/sessions/completion/configs.py,sha256=KeOmvNrq6KkI96FaRRPnpWNx3yDlD-FgaiOwPEL9HPU,245
149
- ommlds/cli/sessions/completion/inject.py,sha256=qpyp2Ro0sPOIOssk-7eXOseKG1Fu_vf1zvyLjZi5qIE,564
150
- ommlds/cli/sessions/completion/session.py,sha256=H4k9_iWiseHcgTBURG5S9LLVJ7TkONA-AYu50WSpHp4,1067
156
+ ommlds/cli/sessions/completion/configs.py,sha256=ZibOyJxIMbclzKDK_mj8jVzFJxjkyVWmo1Tb9ZnQQ1M,240
157
+ ommlds/cli/sessions/completion/inject.py,sha256=vk3ewhXWGemKcOllr1iG_nMz5523qEu40MI62Dlx9AQ,933
158
+ ommlds/cli/sessions/completion/session.py,sha256=BFY5U3M8LsN1Y0HZ_SaYNXgiJlN037eeR_PostguO_Q,935
151
159
  ommlds/cli/sessions/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
- ommlds/cli/sessions/embedding/configs.py,sha256=WwWwJ7GpUYUEOPcYr2EhNLV8m1cK6llp5N_bMnFX_cw,243
153
- ommlds/cli/sessions/embedding/inject.py,sha256=XYjqDT5GajZ0LNks36aZRNNKhH1m-xfAL1bbMxfISYQ,559
154
- ommlds/cli/sessions/embedding/session.py,sha256=BOaDRK40LjTGqz6piCMdxY3yQB5MSaUpWTJcWYNL5Yw,1039
160
+ ommlds/cli/sessions/embedding/configs.py,sha256=Qhyd7whNSaf3OTKFlGd5IKV2n5sbNm4wIOLLfB-XsPk,239
161
+ ommlds/cli/sessions/embedding/inject.py,sha256=louttd1atKP14ZG7BWrGJblZMP3LZaU2v2fpTKxXhjs,928
162
+ ommlds/cli/sessions/embedding/session.py,sha256=JFIvcBsgPkJaNED56oj3ecJax1_6MJ-1SPT_8e4nfHs,916
155
163
  ommlds/cli/state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
164
  ommlds/cli/state/inject.py,sha256=-wqovpgxLYBpJkkCzscn2o6F6AD-agF8PoNjVac6FuQ,702
157
- ommlds/cli/state/storage.py,sha256=tRPmgCANRrw7A5Qr700OaH58F6S96O37I8Ivrbo7_gI,3001
165
+ ommlds/cli/state/storage.py,sha256=h7wcWkJaQ17nIS2GtBOk4fiu6ZyPLtmKXwVgpVN-hAg,3013
158
166
  ommlds/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
167
  ommlds/datasets/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
168
  ommlds/datasets/lib/movies.py,sha256=LmdfoXsZU9XMM_r-sxCLv_s06BFzwWO4xUj6sc9XVcI,1961
@@ -175,7 +183,7 @@ ommlds/minichain/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
175
183
  ommlds/minichain/backends/catalogs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
184
  ommlds/minichain/backends/catalogs/base.py,sha256=6ThxF-OozMm0aGHAo3UyKUcNA3TVda0w_QLpbz7XmEU,1306
177
185
  ommlds/minichain/backends/catalogs/simple.py,sha256=T6GeY902XPRjNnwX1AivunpkirLyxFg5rG2V2LA0Puo,1501
178
- ommlds/minichain/backends/catalogs/strings.py,sha256=IHid5yRbHvkU5O5ypSMWAPcETLlvj1CXeIJ3mHrDyi8,1768
186
+ ommlds/minichain/backends/catalogs/strings.py,sha256=tuezU7px8-Jjtil0-z-LCxYt7kFolilCEU7tM68MdyQ,1822
179
187
  ommlds/minichain/backends/impls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
188
  ommlds/minichain/backends/impls/mistral.py,sha256=nC0aqabg-I7JJyxHHMZASASksqV1at7nJWZHGtCwfio,2843
181
189
  ommlds/minichain/backends/impls/sqlite.py,sha256=NOFm_fgr-OZ8mo7etj0zwvxsDnidRwKzhdDom58e6ks,2157
@@ -194,6 +202,11 @@ ommlds/minichain/backends/impls/google/names.py,sha256=HxHJ31HeKZg6aW1C_Anqp-gam
194
202
  ommlds/minichain/backends/impls/google/search.py,sha256=y5_6seSRU8CFnLA_Ja8XEMbIBWSgwBzE1iBf-qyz0tA,3427
195
203
  ommlds/minichain/backends/impls/google/stream.py,sha256=ITownhKSOJB4IG23wWZJepUImSM6vJsDMOM9W1STpwU,8013
196
204
  ommlds/minichain/backends/impls/google/tools.py,sha256=Tty0gsyx7-PbeoNqMuql_ewQ6q-ZsDaDdsD5ShinGVY,5089
205
+ ommlds/minichain/backends/impls/groq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
206
+ ommlds/minichain/backends/impls/groq/chat.py,sha256=jXomRPouYrlFBsFvviSsR4T6l6Cpf8Ut5TiqhjuzkjY,2451
207
+ ommlds/minichain/backends/impls/groq/names.py,sha256=M_NRKpcbFgnN0ZAVaQMQFHRZV62lE8hZ2qoDiM_A8gs,748
208
+ ommlds/minichain/backends/impls/groq/protocol.py,sha256=kLHcVjwyh5AosKXWengDJZBdHWUwMrmCd_2ZKgor0EA,1451
209
+ ommlds/minichain/backends/impls/groq/stream.py,sha256=RDcDfTb2zH1rco0jEzNNqu04MXv7Fbqm5AlTimdQqK0,4850
197
210
  ommlds/minichain/backends/impls/huggingface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
211
  ommlds/minichain/backends/impls/huggingface/configs.py,sha256=6jsBtPNXOP57PcpxNTVLGWLc-18Iwn_lDbGouwCJTIQ,258
199
212
  ommlds/minichain/backends/impls/huggingface/repos.py,sha256=8BDxJmra9elSQL2vzp2nr2p4Hpq56A3zTk7hTTnfJU4,861
@@ -207,12 +220,12 @@ ommlds/minichain/backends/impls/mlx/chat.py,sha256=sMlhgiFZrxAC-kKkLSJ6c-2uJn0IH
207
220
  ommlds/minichain/backends/impls/ollama/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
221
  ommlds/minichain/backends/impls/ollama/chat.py,sha256=agnJcOwJGebSiV5TG0UmVFYGCc7hEpt7FM73rtyF8gk,6609
209
222
  ommlds/minichain/backends/impls/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
- ommlds/minichain/backends/impls/openai/chat.py,sha256=QcQZO78p4UUzI4QU1K-057OEZGKIYxjXENhkifsSuaI,2841
223
+ ommlds/minichain/backends/impls/openai/chat.py,sha256=G1IK94PwB16rYCkRos9JEuiAu1GgCK4CnZFOIShhpig,2856
211
224
  ommlds/minichain/backends/impls/openai/completion.py,sha256=4Mi4Zvrq5fCqUd0asL3WiCbCdmxOdo0NFkoZMfdsYXY,1939
212
225
  ommlds/minichain/backends/impls/openai/embedding.py,sha256=BNtvKYLTsnQwQR9Tv3Fr8zCYN1kr1UNdJ15lcsjz6X0,1765
213
226
  ommlds/minichain/backends/impls/openai/format.py,sha256=teGX8mNU3sXNWP4YWGD8d59M4X9_r75ImSzfTJgtNCM,7351
214
- ommlds/minichain/backends/impls/openai/names.py,sha256=b74t8FwSbGEveVtVz4SqM5tiRDyTKNlUKlseV6AX3Yo,1211
215
- ommlds/minichain/backends/impls/openai/stream.py,sha256=1kh_V_eu8QAY_i4ulfm22kbZeMiIDLwmDPJf7aaIikI,5410
227
+ ommlds/minichain/backends/impls/openai/names.py,sha256=4dzfoTKYrY0JuSIhmCMloZ2nujR69jyLbcJE9eMAYDE,1518
228
+ ommlds/minichain/backends/impls/openai/stream.py,sha256=UWEjMJ8tzgyXRU2nXi9r6M8Q3if0ueQHFhZdJDO0UEo,5420
216
229
  ommlds/minichain/backends/impls/sentencepiece/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
230
  ommlds/minichain/backends/impls/sentencepiece/tokens.py,sha256=tUEBKyBgkTowssS_AdcAuPkyFzfyDfE935x4JG8PXM0,1602
218
231
  ommlds/minichain/backends/impls/tinygrad/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -385,10 +398,10 @@ ommlds/wiki/text/wtp.py,sha256=Ga4dGfUsLwbS2i9LJd4xwSbHAAnwnReWGQgOrRIcedQ,2200
385
398
  ommlds/wiki/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
386
399
  ommlds/wiki/utils/io.py,sha256=UKgDJGtmpnWvIqVd2mJc2QNPOqlToEY1GEveNp6_pMo,7088
387
400
  ommlds/wiki/utils/progress.py,sha256=EhvKcMFYtsarCQhIahlO6f0SboyAKP3UwUyrnVnP-Vk,3222
388
- ommlds/wiki/utils/xml.py,sha256=vVV8Ctn13aaRM9eYfs9Wd6rHn5WOCEUzQ44fIhOvJdg,3754
389
- ommlds-0.0.0.dev475.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
390
- ommlds-0.0.0.dev475.dist-info/METADATA,sha256=yT7pQDVXTP6BklUfJ7Q1bH_tOqNBe_uVpkCIQYv3E7U,3344
391
- ommlds-0.0.0.dev475.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
392
- ommlds-0.0.0.dev475.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
393
- ommlds-0.0.0.dev475.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
394
- ommlds-0.0.0.dev475.dist-info/RECORD,,
401
+ ommlds/wiki/utils/xml.py,sha256=sNJNkZ9rT8B-kJMO6bRz8J1USy4fyPx0m2PwTX7vxYY,3846
402
+ ommlds-0.0.0.dev476.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
403
+ ommlds-0.0.0.dev476.dist-info/METADATA,sha256=Jx-CeBHDUtMiNkl1KouPEGBdWRs7bTxw2f4_tf8cs7w,3344
404
+ ommlds-0.0.0.dev476.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
405
+ ommlds-0.0.0.dev476.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
406
+ ommlds-0.0.0.dev476.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
407
+ ommlds-0.0.0.dev476.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- import typing as ta
2
-
3
- from ... import minichain as mc
4
-
5
-
6
- ##
7
-
8
-
9
- STANDARD_BACKEND_CATALOG_ENTRIES: ta.Sequence[mc.SimpleBackendCatalogEntry] = [
10
- mc.simple_backend_catalog_entry(mc.ChatChoicesService, 'openai'),
11
-
12
- mc.simple_backend_catalog_entry(mc.ChatChoicesStreamService, 'openai'),
13
-
14
- mc.simple_backend_catalog_entry(mc.CompletionService, 'llamacpp'),
15
- mc.simple_backend_catalog_entry(mc.CompletionService, 'openai'),
16
- mc.simple_backend_catalog_entry(mc.CompletionService, 'tfm'),
17
-
18
- mc.simple_backend_catalog_entry(mc.EmbeddingService, 'openai'),
19
- mc.simple_backend_catalog_entry(mc.EmbeddingService, 'stfm'),
20
- ]