ommlds 0.0.0.dev506__py3-none-any.whl → 0.0.0.dev508__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 (31) hide show
  1. ommlds/.omlish-manifests.json +24 -0
  2. ommlds/backends/anthropic/protocol/types.py +5 -7
  3. ommlds/backends/cerebras/protocol.py +3 -5
  4. ommlds/backends/google/protocol/types.py +6 -8
  5. ommlds/backends/groq/protocol.py +3 -5
  6. ommlds/backends/huggingface/__init__.py +0 -0
  7. ommlds/backends/{huggingface.py → huggingface/cache.py} +1 -6
  8. ommlds/backends/huggingface/cli.py +208 -0
  9. ommlds/backends/ollama/_dataclasses.py +452 -0
  10. ommlds/backends/ollama/cli.py +36 -0
  11. ommlds/backends/ollama/protocol.py +36 -8
  12. ommlds/backends/openai/protocol/_common.py +3 -5
  13. ommlds/backends/tavily/protocol.py +3 -5
  14. ommlds/backends/torch/backends.py +1 -1
  15. ommlds/minichain/_typedvalues.py +4 -4
  16. ommlds/minichain/backends/impls/google/search.py +4 -4
  17. ommlds/minichain/backends/strings/parsing.py +1 -1
  18. ommlds/minichain/chat/messages.py +3 -3
  19. ommlds/minichain/models/configs.py +2 -2
  20. ommlds/minichain/services/_marshal.py +2 -2
  21. ommlds/minichain/tools/execution/catalog.py +1 -1
  22. ommlds/minichain/tools/types.py +4 -4
  23. ommlds/specs/mcp/protocol.py +4 -6
  24. ommlds/wiki/models.py +4 -4
  25. ommlds/wiki/text/mfh.py +9 -9
  26. {ommlds-0.0.0.dev506.dist-info → ommlds-0.0.0.dev508.dist-info}/METADATA +4 -4
  27. {ommlds-0.0.0.dev506.dist-info → ommlds-0.0.0.dev508.dist-info}/RECORD +31 -28
  28. {ommlds-0.0.0.dev506.dist-info → ommlds-0.0.0.dev508.dist-info}/WHEEL +0 -0
  29. {ommlds-0.0.0.dev506.dist-info → ommlds-0.0.0.dev508.dist-info}/entry_points.txt +0 -0
  30. {ommlds-0.0.0.dev506.dist-info → ommlds-0.0.0.dev508.dist-info}/licenses/LICENSE +0 -0
  31. {ommlds-0.0.0.dev506.dist-info → ommlds-0.0.0.dev508.dist-info}/top_level.txt +0 -0
@@ -24,7 +24,7 @@ from ....search import static_check_is_search_service
24
24
 
25
25
 
26
26
  @dc.dataclass(frozen=True)
27
- @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL, unknown_field='x')
27
+ @msh.update_object_options(field_naming=msh.Naming.LOW_CAMEL, unknown_field='x')
28
28
  class CseSearchResult(lang.Final):
29
29
  kind: str | None = None
30
30
 
@@ -49,7 +49,7 @@ class CseSearchResult(lang.Final):
49
49
 
50
50
 
51
51
  @dc.dataclass(frozen=True)
52
- @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL, unknown_field='x')
52
+ @msh.update_object_options(field_naming=msh.Naming.LOW_CAMEL, unknown_field='x')
53
53
  class CseSearchInfo(lang.Final):
54
54
  search_time: float | None = None
55
55
  total_results: int | None = None
@@ -58,10 +58,10 @@ class CseSearchInfo(lang.Final):
58
58
 
59
59
 
60
60
  @dc.dataclass(frozen=True)
61
- @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL, unknown_field='x')
61
+ @msh.update_object_options(field_naming=msh.Naming.LOW_CAMEL, unknown_field='x')
62
62
  class CseSearchResponse(lang.Final):
63
63
  kind: str | None = None
64
- info: CseSearchInfo | None = dc.xfield(None) | msh.with_field_metadata(name='searchInformation')
64
+ info: CseSearchInfo | None = dc.xfield(None) | msh.with_field_options(name='searchInformation')
65
65
  items: ta.Sequence[CseSearchResult] | None = None
66
66
 
67
67
  x: ta.Mapping[str, ta.Any] | None = dc.field(default=None, repr=False)
@@ -11,7 +11,7 @@ from omlish import lang
11
11
 
12
12
  @dc.dataclass(frozen=True, kw_only=True)
13
13
  class ParsedBackendString:
14
- backend: str | None = dc.xfield(None, repr_fn=dc.opt_repr)
14
+ backend: str | None = dc.xfield(None, repr_fn=lang.opt_repr)
15
15
 
16
16
  #
17
17
 
@@ -101,11 +101,11 @@ class SystemMessage(AnyUserMessage, lang.Final):
101
101
 
102
102
 
103
103
  @dc.dataclass(frozen=True)
104
- @msh.update_fields_metadata(['name'], omit_if=operator.not_)
104
+ @msh.update_fields_options(['name'], omit_if=operator.not_)
105
105
  class UserMessage(AnyUserMessage, lang.Final):
106
106
  c: Content
107
107
 
108
- name: str | None = dc.xfield(None, repr_fn=dc.opt_repr)
108
+ name: str | None = dc.xfield(None, repr_fn=lang.opt_repr)
109
109
 
110
110
 
111
111
  #
@@ -113,7 +113,7 @@ class UserMessage(AnyUserMessage, lang.Final):
113
113
 
114
114
  @dc.dataclass(frozen=True)
115
115
  class AiMessage(AnyAiMessage, lang.Final):
116
- c: Content = dc.xfield(None, repr_fn=dc.opt_repr) # TODO: non-null?
116
+ c: Content = dc.xfield(None, repr_fn=lang.opt_repr) # TODO: non-null?
117
117
 
118
118
 
119
119
  #
@@ -37,5 +37,5 @@ class ModelRepo(ModelSpecifier):
37
37
 
38
38
  _: dc.KW_ONLY
39
39
 
40
- tag: str | None = dc.xfield(None, repr_fn=dc.opt_repr)
41
- path: str | None = dc.xfield(None, repr_fn=dc.opt_repr)
40
+ tag: str | None = dc.xfield(None, repr_fn=lang.opt_repr)
41
+ path: str | None = dc.xfield(None, repr_fn=lang.opt_repr)
@@ -67,7 +67,7 @@ class _RequestResponseMarshaler(msh.Marshaler):
67
67
  else:
68
68
  v_v = self.v_m.marshal(ctx, o.v)
69
69
 
70
- md_fmd = self.rr_flds.md.metadata[msh.FieldMetadata]
70
+ md_fmd = self.rr_flds.md.metadata[msh.FieldOptions]
71
71
  md_m = md_fmd.marshaler_factory.make_marshaler(ctx.marshal_factory_context, self.rr_flds.md.type)() # FIXME
72
72
  md_v = md_m.marshal(ctx, o._metadata) # noqa
73
73
 
@@ -159,7 +159,7 @@ class _RequestResponseUnmarshalerFactory(msh.UnmarshalerFactory):
159
159
 
160
160
  v_u = ctx.make_unmarshaler(v_rty)
161
161
 
162
- md_fmd = rr_flds.md.metadata[msh.FieldMetadata]
162
+ md_fmd = rr_flds.md.metadata[msh.FieldOptions]
163
163
  md_u = md_fmd.unmarshaler_factory.make_unmarshaler(ctx, rr_flds.md.type)() # FIXME
164
164
 
165
165
  return _RequestResponseUnmarshaler(
@@ -22,7 +22,7 @@ class ToolCatalogEntry(lang.Final):
22
22
 
23
23
  _: dc.KW_ONLY
24
24
 
25
- name_override: str | None = dc.xfield(default=None, repr_fn=dc.opt_repr)
25
+ name_override: str | None = dc.xfield(default=None, repr_fn=lang.opt_repr)
26
26
 
27
27
  @property
28
28
  def name(self) -> str:
@@ -140,8 +140,8 @@ class ObjectToolDtype(ToolDtype):
140
140
 
141
141
 
142
142
  @dc.dataclass(frozen=True)
143
- @msh.update_fields_metadata(['name', 'desc', 'type'], omit_if=lang.is_none)
144
- @msh.update_fields_metadata(['required'], omit_if=operator.not_)
143
+ @msh.update_fields_options(['name', 'desc', 'type'], omit_if=lang.is_none)
144
+ @msh.update_fields_options(['required'], omit_if=operator.not_)
145
145
  class ToolParam:
146
146
  name: str | None = None
147
147
 
@@ -158,8 +158,8 @@ class ToolParam:
158
158
 
159
159
 
160
160
  @dc.dataclass(frozen=True)
161
- @msh.update_fields_metadata(['name', 'desc', 'params', 'returns_desc', 'returns_type'], omit_if=lang.is_none)
162
- @msh.update_fields_metadata(['allow_additional_params'], omit_if=operator.not_)
161
+ @msh.update_fields_options(['name', 'desc', 'params', 'returns_desc', 'returns_type'], omit_if=lang.is_none)
162
+ @msh.update_fields_options(['allow_additional_params'], omit_if=operator.not_)
163
163
  class ToolSpec:
164
164
  name: str | None = None
165
165
 
@@ -37,13 +37,11 @@ msh.register_global_module_import('._marshal', __package__)
37
37
 
38
38
 
39
39
  def _set_class_marshal_options(cls):
40
- msh.update_object_metadata(
40
+ msh.update_object_options(
41
41
  cls,
42
42
  field_naming=msh.Naming.LOW_CAMEL,
43
- field_defaults=msh.FieldMetadata(
44
- options=msh.FieldOptions(
45
- omit_if=lang.is_none,
46
- ),
43
+ field_defaults=msh.FieldOptions(
44
+ omit_if=lang.is_none,
47
45
  ),
48
46
  )
49
47
  return cls
@@ -94,7 +92,7 @@ class Notification(Message, lang.Abstract):
94
92
 
95
93
  @dc.dataclass(frozen=True, kw_only=True)
96
94
  class WithMeta(lang.Sealed, lang.Abstract):
97
- meta_: ta.Mapping[str, ta.Any] | None = dc.field(default=None) | msh.with_field_metadata(name='_meta')
95
+ meta_: ta.Mapping[str, ta.Any] | None = dc.field(default=None) | msh.with_field_options(name='_meta')
98
96
 
99
97
 
100
98
  ##
ommlds/wiki/models.py CHANGED
@@ -51,7 +51,7 @@ class Redirect:
51
51
 
52
52
 
53
53
  @dc.dataclass(frozen=True)
54
- @msh.update_fields_metadata([
54
+ @msh.update_fields_options([
55
55
  'username',
56
56
  'id',
57
57
  'ip',
@@ -78,7 +78,7 @@ class RevisionText:
78
78
 
79
79
 
80
80
  @dc.dataclass(frozen=True)
81
- @msh.update_fields_metadata([
81
+ @msh.update_fields_options([
82
82
  'parentid',
83
83
  'timestamp',
84
84
  'contributors',
@@ -108,7 +108,7 @@ class Revision:
108
108
 
109
109
 
110
110
  @dc.dataclass(frozen=True)
111
- @msh.update_fields_metadata([
111
+ @msh.update_fields_options([
112
112
  'timestamp',
113
113
  'contributor',
114
114
  'comment',
@@ -129,7 +129,7 @@ class Upload:
129
129
 
130
130
 
131
131
  @dc.dataclass(frozen=True)
132
- @msh.update_fields_metadata([
132
+ @msh.update_fields_options([
133
133
  'redirect',
134
134
  'restrictions',
135
135
  'revisions',
ommlds/wiki/text/mfh.py CHANGED
@@ -38,7 +38,7 @@ Content: ta.TypeAlias = ta.Sequence[ContentNode]
38
38
 
39
39
 
40
40
  @dc.dataclass(frozen=True)
41
- @msh.update_fields_metadata(['body'], omit_if=operator.not_)
41
+ @msh.update_fields_options(['body'], omit_if=operator.not_)
42
42
  class Doc(Node):
43
43
  body: Content = ()
44
44
 
@@ -49,14 +49,14 @@ class Text(ContentNode):
49
49
 
50
50
 
51
51
  @dc.dataclass(frozen=True)
52
- @msh.update_fields_metadata(['title', 'text'], omit_if=operator.not_)
52
+ @msh.update_fields_options(['title', 'text'], omit_if=operator.not_)
53
53
  class WikiLink(ContentNode):
54
54
  title: Content = ()
55
55
  text: Content = ()
56
56
 
57
57
 
58
58
  @dc.dataclass(frozen=True)
59
- @msh.update_fields_metadata(['title', 'url'], omit_if=operator.not_)
59
+ @msh.update_fields_options(['title', 'url'], omit_if=operator.not_)
60
60
  class ExternalLink(ContentNode):
61
61
  title: Content = ()
62
62
  url: Content = ()
@@ -73,28 +73,28 @@ class Comment(ContentNode):
73
73
 
74
74
 
75
75
  @dc.dataclass(frozen=True)
76
- @msh.update_fields_metadata(['name', 'value'], omit_if=operator.not_)
76
+ @msh.update_fields_options(['name', 'value'], omit_if=operator.not_)
77
77
  class Parameter(Node):
78
78
  name: Content = ()
79
79
  value: Content = ()
80
80
 
81
81
 
82
82
  @dc.dataclass(frozen=True)
83
- @msh.update_fields_metadata(['name', 'params'], omit_if=operator.not_)
83
+ @msh.update_fields_options(['name', 'params'], omit_if=operator.not_)
84
84
  class Template(ContentNode):
85
85
  name: Content = ()
86
86
  params: ta.Sequence[Parameter] = ()
87
87
 
88
88
 
89
89
  @dc.dataclass(frozen=True)
90
- @msh.update_fields_metadata(['name', 'value'], omit_if=operator.not_)
90
+ @msh.update_fields_options(['name', 'value'], omit_if=operator.not_)
91
91
  class Attribute(Node):
92
92
  name: Content = ()
93
93
  value: Content = ()
94
94
 
95
95
 
96
96
  @dc.dataclass(frozen=True)
97
- @msh.update_fields_metadata(['l', 'atts', 'body', 'r'], omit_if=operator.not_)
97
+ @msh.update_fields_options(['l', 'atts', 'body', 'r'], omit_if=operator.not_)
98
98
  class Tag(ContentNode):
99
99
  l: Content = ()
100
100
  atts: ta.Sequence[Attribute] = ()
@@ -103,14 +103,14 @@ class Tag(ContentNode):
103
103
 
104
104
 
105
105
  @dc.dataclass(frozen=True)
106
- @msh.update_fields_metadata(['title'], omit_if=operator.not_)
106
+ @msh.update_fields_options(['title'], omit_if=operator.not_)
107
107
  class Heading(ContentNode):
108
108
  title: Content = ()
109
109
  level: int = 0
110
110
 
111
111
 
112
112
  @dc.dataclass(frozen=True)
113
- @msh.update_fields_metadata(['name', 'default'], omit_if=operator.not_)
113
+ @msh.update_fields_options(['name', 'default'], omit_if=operator.not_)
114
114
  class Argument(ContentNode):
115
115
  name: Content = ()
116
116
  default: Content = ()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ommlds
3
- Version: 0.0.0.dev506
3
+ Version: 0.0.0.dev508
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.dev506
17
+ Requires-Dist: omlish==0.0.0.dev508
18
18
  Provides-Extra: all
19
- Requires-Dist: omdev==0.0.0.dev506; extra == "all"
19
+ Requires-Dist: omdev==0.0.0.dev508; 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.dev506; extra == "omdev"
41
+ Requires-Dist: omdev==0.0.0.dev508; 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=8fbwe2p3vu-qOXuBIKtwadocgl-rNP6H42qRRR_j9mY,28359
1
+ ommlds/.omlish-manifests.json,sha256=PihtJmB7EFRQ5MHZTzfq6GOST1683niUqHZJDFc0vmw,28921
2
2
  ommlds/README.md,sha256=xhbl2n19GznXrIzAGdlX8PAYJYsOo_Zu63I7G1UFRZE,398
3
3
  ommlds/__about__.py,sha256=5uwlSH3-Tf8nr0wsDL7kYqAQ_lI21WAYbTlAlGLtwyI,1901
4
4
  ommlds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -8,12 +8,11 @@ ommlds/_hacks/names.py,sha256=01XSF-Rd0nLGb7oA0Jg1R9MtkOk0jfUhIO5CPyA-s6M,4690
8
8
  ommlds/_hacks/params.py,sha256=FihwXN6RAvQR1HqEemTRL_ivEr8WOlirH1sZ-lM3vgM,1725
9
9
  ommlds/_hacks/patches.py,sha256=Dsz4GcgRXd1zi18jiDO2C_8IF12VTsysjthiOQz-h80,1871
10
10
  ommlds/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- ommlds/backends/huggingface.py,sha256=JfEyfKOxU3-SY_ojtXBJFNeD-NIuKjvMe3GL3e93wNA,1175
12
11
  ommlds/backends/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
12
  ommlds/backends/anthropic/protocol/__init__.py,sha256=g05gJKHqrySqtvMBAaZUueRxYafBTGOLw7FfEDiXi34,248
14
13
  ommlds/backends/anthropic/protocol/_dataclasses.py,sha256=LJGB0yaRbdwRgNlMR0nDQrYRk4uv9R7mtRZDcjR91nw,80681
15
14
  ommlds/backends/anthropic/protocol/_marshal.py,sha256=RHbwekaw21lTS_1KBX9z6dLpbmWmyYUE5j6Uyq1tn0w,539
16
- ommlds/backends/anthropic/protocol/types.py,sha256=f-_VXg_-KlhGIKp0R8vL50Rg_ZxqiBvQUGexQaDf8HY,2761
15
+ ommlds/backends/anthropic/protocol/types.py,sha256=r1tRmwAa_8vgdc1gysS0VsXekRKAAZ0TyE2nAlu3slI,2706
17
16
  ommlds/backends/anthropic/protocol/sse/__init__.py,sha256=LpijqXk0ceMDcgwOvZ8iLoh0I328JSfG8V0JalcZD3I,98
18
17
  ommlds/backends/anthropic/protocol/sse/_marshal.py,sha256=2No-qWRKV9ilOhC5NqHAA92DJF0fAcr4-OPvEP0KOjQ,627
19
18
  ommlds/backends/anthropic/protocol/sse/assemble.py,sha256=MVpA0iSU2LNMXy4VpIVV8Oe7nj3dgmXpfLe-7nnA5QE,6552
@@ -21,17 +20,20 @@ ommlds/backends/anthropic/protocol/sse/events.py,sha256=77xVcT6H22uRIxZcxc0_-79j
21
20
  ommlds/backends/cerebras/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
22
21
  ommlds/backends/cerebras/_dataclasses.py,sha256=VPR97XO7Qka5_R6GERCgrtNEFuYCaMM5JGfjPcbx0Xw,215108
23
22
  ommlds/backends/cerebras/_marshal.py,sha256=KqhIymYaVUJ5-XubSHLDiEagK_jmp-738mbduazlEE8,658
24
- ommlds/backends/cerebras/protocol.py,sha256=gfOdPgJRg0XsZIMgrZh8yppAB7iuzgSVM8qFv2Spq_I,8848
23
+ ommlds/backends/cerebras/protocol.py,sha256=nbgDYKHyjxbzFgK1ot4VU5fytrvOdOS6XX8bPspqfyY,8789
25
24
  ommlds/backends/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
25
  ommlds/backends/google/protocol/__init__.py,sha256=5fguMBg9qGfTEvEBCgjFbDBfRzaiRdil6d1DakJGvPY,214
27
26
  ommlds/backends/google/protocol/_dataclasses.py,sha256=KECT4r6gBPVtiEvb1y0kj_HLeH-Y8Rgp_a5CTbd4Q14,304996
28
27
  ommlds/backends/google/protocol/_marshal.py,sha256=LWikcdMDrKQ0lMtclNXwK9qamijUBzK62nrEVo2OFtc,305
29
- ommlds/backends/google/protocol/types.py,sha256=JDft5-5sPuy8sFWTvid4JuC9a9EnuQizt9dyAV2L56s,17536
28
+ ommlds/backends/google/protocol/types.py,sha256=NoeOi_oujtBRESWu4en_ZmncoOcEubfPy9oAxuvIIYA,17474
30
29
  ommlds/backends/groq/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
31
30
  ommlds/backends/groq/_dataclasses.py,sha256=8XK7IEEJNGqSFib_s3dFf2bMH1TJ1RT-NvGBSXf6sCE,200729
32
31
  ommlds/backends/groq/_marshal.py,sha256=3o4CVK9VbP_UnEbXZ4fQJuZK3Sy9xnkXTTempSDSvgE,602
33
32
  ommlds/backends/groq/clients.py,sha256=n1zvVPvk5lJ42JMSSU3EFGYUJ9Az-YAOU6DTGNsJ8_M,152
34
- ommlds/backends/groq/protocol.py,sha256=ieKrjlxcDE5RqWcugc996O5Ksy4Chse_RdigPQPbP2Y,7823
33
+ ommlds/backends/groq/protocol.py,sha256=IdsDwxQEcYJ0slLuZOqJiRHXvZ1pYShEBpIrevb40SU,7764
34
+ ommlds/backends/huggingface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ ommlds/backends/huggingface/cache.py,sha256=Ff5vWNQCgABURSS0XxAbhdoHt5a5c6MgP0qDs6mlErc,1091
36
+ ommlds/backends/huggingface/cli.py,sha256=GdnXIYAiZdJcd15c1LgxIaNc14UifqQ44WBwRYMa0p0,6091
35
37
  ommlds/backends/llamacpp/__init__.py,sha256=zXFpLXE4a2vEl0jcPDyKlPHHfZ3Z8Dz0twhEIyZ8-vg,59
36
38
  ommlds/backends/llamacpp/buildwheel.py,sha256=q9ghCLVbm8Jm6syrZlBP-x1qNDd0wSl15B2OXBtDBQ8,3813
37
39
  ommlds/backends/llamacpp/logging.py,sha256=qLTDd3JdnB-wEQ51fBJra-oTid5kO-ezHHFP7FBPcio,933
@@ -53,11 +55,12 @@ ommlds/backends/mlx/tokenization/detokenization/bpe.py,sha256=cIw6-r-cyXTfZdyfGR
53
55
  ommlds/backends/mlx/tokenization/detokenization/naive.py,sha256=6L-SvphzP1z16cmVB4QC9VraF7khE8ZcvKqIwwFqN6U,1779
54
56
  ommlds/backends/mlx/tokenization/detokenization/spm.py,sha256=IYSnEm-C0z_o5TKLJE_Rj6P0nNd-prT6psVPKsERWAE,1751
55
57
  ommlds/backends/ollama/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
56
- ommlds/backends/ollama/_dataclasses.py,sha256=D3Jz0K7BuDMO5BB3XYW7fC-wzXXCDd9hyBCY15zlazQ,187980
57
- ommlds/backends/ollama/protocol.py,sha256=Zq9MTvE8moUUVqtUcuhmn_DdDELPp9xb1r3dzwxm4MI,4505
58
+ ommlds/backends/ollama/_dataclasses.py,sha256=SxyfdM4Bv8iXlSQ2RoiMXFNM9MyjTAOFIPPr_JIMTsk,211794
59
+ ommlds/backends/ollama/cli.py,sha256=zqZx74aNLTc-PVB6zJIxs45Je9TsbttIq8h4uaSybzA,682
60
+ ommlds/backends/ollama/protocol.py,sha256=nw0RBApBYYnncXmwOA7mULo4dwI_ObpUaybYVU3F3Pk,5123
58
61
  ommlds/backends/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
62
  ommlds/backends/openai/protocol/__init__.py,sha256=S-p81JfMaS0nwdII9jyhcmj0c5fJJD5sHwphnY45WdI,1862
60
- ommlds/backends/openai/protocol/_common.py,sha256=r4EXmw1fBFHjU5vbWTDvlM_fsafdIVg3d3PNw4F9m-Q,313
63
+ ommlds/backends/openai/protocol/_common.py,sha256=ydO083WKkqyYz1Y5aeRISChcDHg1Dv2cZx62KNPsQnk,254
61
64
  ommlds/backends/openai/protocol/_dataclasses.py,sha256=2vLfQyErQlOINwviL_4ZzkdmyLTXJgsbY5EAaQQjdPg,375658
62
65
  ommlds/backends/openai/protocol/_marshal.py,sha256=V9s7old4lRzabr28kKVMNfa5lkrJ_F1MqYfAEed4cMo,839
63
66
  ommlds/backends/openai/protocol/completionusage.py,sha256=hoJ68nUU3IoCl1QVT8tcprQRbAZbgksCdnYrQS8xdPs,944
@@ -71,7 +74,7 @@ ommlds/backends/openai/protocol/chatcompletion/responseformat.py,sha256=UtkyOKlE
71
74
  ommlds/backends/openai/protocol/chatcompletion/tokenlogprob.py,sha256=VTj9aI_wqcOArzHFG8W4R8RCIJZ8izpIUosVzAnrhQ8,573
72
75
  ommlds/backends/tavily/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
73
76
  ommlds/backends/tavily/_dataclasses.py,sha256=Vy3vrxYzVhaMww5GRqsWFNcRSC5mNKYLQcGmR2qBpiA,90739
74
- ommlds/backends/tavily/protocol.py,sha256=8ioCdovoD3dwfsK-B2YSQCh-6CyujaxzUaEUJ8yL1EA,5930
77
+ ommlds/backends/tavily/protocol.py,sha256=pd-wD4y7dhOLfWKOniM5ndfyQlkrGc3ZU1Pzq6TDmQI,5871
75
78
  ommlds/backends/tinygrad/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
79
  ommlds/backends/tinygrad/tinygrad.py,sha256=Va2mI11Q76IN9vLCYozMRXbEDVKxjKvRI0iQXJNJtJI,342
77
80
  ommlds/backends/tinygrad/models/LICENSE,sha256=2IwCnrbqw67PNQEr5RnaRgXROGYc1nmfgO64MDlfMwI,1058
@@ -94,7 +97,7 @@ ommlds/backends/tinygrad/models/sdxl/clip.py,sha256=u9PXN5TQZjVuRk6CaKaXuemYg8Ee
94
97
  ommlds/backends/tinygrad/models/sdxl/sdxl.py,sha256=3lzC_6PJHSFQKT7VCdjL1Kzi9vDhtzHYwJStdmq_CSE,21181
95
98
  ommlds/backends/tinygrad/models/sdxl/unet.py,sha256=1hBpo22d8N7GNmCc449fpD2QvYz-ZYCD795moNxjc9g,12507
96
99
  ommlds/backends/torch/__init__.py,sha256=Id8dKbxMLlp3ux62ohu9JKoXPSrM0ZXUK0eCDTY1rLc,266
97
- ommlds/backends/torch/backends.py,sha256=Bo-ZdW1n9NswvptT8bL9CssEOKwusDuBMaXVjRS8zrA,3528
100
+ ommlds/backends/torch/backends.py,sha256=izVN_jPLZ8TjooY-IDowcyeF34drgnMb_GjYiglWEQ8,3530
98
101
  ommlds/backends/torch/devices.py,sha256=KWkeyArPdUwVqckQTJPkN-4GQdv39cpOgCMv_XfkLkQ,776
99
102
  ommlds/backends/torch/purge.py,sha256=sp6XUxNLoVCepxIPKw3tevHn-cQqgorILvIQzixauiI,1834
100
103
  ommlds/backends/transformers/__init__.py,sha256=SCQ8a-0XihXaUzSsUYGo3buRMogPmybzfmhr2OBtw3U,261
@@ -241,7 +244,7 @@ ommlds/datasets/lib/movies.py,sha256=LmdfoXsZU9XMM_r-sxCLv_s06BFzwWO4xUj6sc9XVcI
241
244
  ommlds/minichain/__init__.py,sha256=GryYNuSiSv7LvoIyP6rYGDnHe2Q4Rkr4majHaEd2nhs,13794
242
245
  ommlds/minichain/_dataclasses.py,sha256=HK9ZIQGoERkR6kZramRLHRiWBDmetTV3Rgi5J-gl5Nw,948708
243
246
  ommlds/minichain/_marshal.py,sha256=n9PGWrHhvAmGIc7KDOYt3IF9Z6G0ncXskyICTp3Ji6k,1923
244
- ommlds/minichain/_typedvalues.py,sha256=NEQ7YCD7YtYJoEKHRwBksHFv-CULvyXniju_IeVfD5s,2349
247
+ ommlds/minichain/_typedvalues.py,sha256=0EkpyGo1IVnpcsssz8Xdm_vIoqIbb0dKdhZ5AJzAJCk,2292
245
248
  ommlds/minichain/completion.py,sha256=lQ0LfCIYZsvDqteHhhDIv16D2_gn_xMfEL0ouywE5Yo,1033
246
249
  ommlds/minichain/configs.py,sha256=WwrHxfkDAfo_RtuCqUgySthj-2W26lZbpuQoghUyGNw,167
247
250
  ommlds/minichain/envs.py,sha256=vE2CSeT6KYxOpPY72VbFLzGUnBERYdhfiEUlvSRHkXE,225
@@ -279,7 +282,7 @@ ommlds/minichain/backends/impls/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JC
279
282
  ommlds/minichain/backends/impls/google/chat.py,sha256=jT7AIevnP5jKxArp0VPppEGCNCihcIdblO3qKGpWGPo,3876
280
283
  ommlds/minichain/backends/impls/google/names.py,sha256=Yt7xL84JZEtPf7CIcBzEBrWAfEUUs2_gXk2W7m5wC3g,1051
281
284
  ommlds/minichain/backends/impls/google/protocol.py,sha256=Re4iKzXwNQEeBhMe3Mu2yYfGrOOJemupy5JaL0i9MHU,2585
282
- ommlds/minichain/backends/impls/google/search.py,sha256=y5_6seSRU8CFnLA_Ja8XEMbIBWSgwBzE1iBf-qyz0tA,3427
285
+ ommlds/minichain/backends/impls/google/search.py,sha256=DQHf2gwEmOJAOn0OHD2NUGig9I91PC_UN5VKC9W3rB4,3423
283
286
  ommlds/minichain/backends/impls/google/stream.py,sha256=3_rUtobcF3kSeQqfhsowhYbjZ7IYRDIzwsFYKvdhxrI,4711
284
287
  ommlds/minichain/backends/impls/google/tools.py,sha256=bP4bqHt1oZTvrcObkjQCNAUJEXrR9fFIRuvjsVFM910,5109
285
288
  ommlds/minichain/backends/impls/groq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -319,14 +322,14 @@ ommlds/minichain/backends/impls/transformers/tokens.py,sha256=ozlTX0c3sixgcgz87O
319
322
  ommlds/minichain/backends/impls/transformers/transformers.py,sha256=hXWNe2knROuTJoI737t5FIqUdhmldpHW89tBkfpyofM,9052
320
323
  ommlds/minichain/backends/strings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
324
  ommlds/minichain/backends/strings/manifests.py,sha256=kmlanVUAZqIh0P95Mm8H20e8ib3gEgYHHUlkCXDQGFk,413
322
- ommlds/minichain/backends/strings/parsing.py,sha256=Etmk04BnKvCMtGg4AgbvxsPGvfRcLldLxpdpxcozdNk,1779
325
+ ommlds/minichain/backends/strings/parsing.py,sha256=FbijHuHiIkOwC3jecUD-IXs7y12PS0ByCQeCfjJKuE8,1781
323
326
  ommlds/minichain/backends/strings/resolving.py,sha256=EXgOmcBJsBnUmo1FMgd3-RLR5TgNXOY27gGTN7JP01E,5909
324
327
  ommlds/minichain/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
328
  ommlds/minichain/chat/_marshal.py,sha256=M3p093nxzxITbznc--P-tyCXuWDHrq4JFKTZAx6XWdk,740
326
329
  ommlds/minichain/chat/content.py,sha256=NpxeYxP7WOWq94UR9AY0THVRIzWAcgP1w7r_srgntOk,1098
327
330
  ommlds/minichain/chat/formats.py,sha256=LmlU7iu8PMJuroFTmyWfP4tXvLjj5VNxdAp1Us9MSAA,562
328
331
  ommlds/minichain/chat/history.py,sha256=GI10mTCr8yv0mxJRK-YVtYqOuUjBvX5Su5FYYmLpPxU,1566
329
- ommlds/minichain/chat/messages.py,sha256=WZN-kffu0BmoZgjXfRE4AAIS4J4xR9EpuAcWodnQhpg,3490
332
+ ommlds/minichain/chat/messages.py,sha256=lqFik-mFfVHyYmrSGFE3ukoQ76zKf9EyCt2FfyKhPqU,3493
330
333
  ommlds/minichain/chat/metadata.py,sha256=V8EUqUsiAITtIae8SC_4YyyBBvciG34jRuSylql4AvU,248
331
334
  ommlds/minichain/chat/services.py,sha256=HzP35CLOz-vCptUUpuehI5yNJorTtY64gwrb6ZWNfwI,919
332
335
  ommlds/minichain/chat/templating.py,sha256=0JwWOL6gsZmtmQddAIBOP2J_Rz47DAYSg_1f_C_roC0,3152
@@ -423,7 +426,7 @@ ommlds/minichain/llms/_marshal.py,sha256=YR7n2GVhS9I2rDvKe-VqzS-u1WbLcJT9DgFBO6o
423
426
  ommlds/minichain/llms/tokens.py,sha256=RPrAzf4Qx9xNPGj7_EkzcVOR9qIGkhQg8AM6qhr7gfw,292
424
427
  ommlds/minichain/llms/types.py,sha256=STXV-zAhJ2yytbVn6JSNxCLDIqmKpsg0q4vq8ueRvJA,1130
425
428
  ommlds/minichain/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
426
- ommlds/minichain/models/configs.py,sha256=5iyz_yDk3nlfQouRTvy__8I_ohn7bh67LTbFn30t5UU,825
429
+ ommlds/minichain/models/configs.py,sha256=PxFmyKWGsNToMqbrPpppgHrpHyOdCDpx5j5CMGoGZe0,829
427
430
  ommlds/minichain/models/names.py,sha256=hwzKtRMY3Ch4gBtIVfWKvlq77EQSvdPub0TZ9F3i7pM,1236
428
431
  ommlds/minichain/models/repos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
429
432
  ommlds/minichain/models/repos/resolving.py,sha256=I8l8osTJNE0mT5nmb7tYhOfNH0f-F3JQVkvIrjLPvOE,602
@@ -433,7 +436,7 @@ ommlds/minichain/registries/manifests.py,sha256=GTWk4lssAk8mmG3ilGK2NvIU-rGS3otO
433
436
  ommlds/minichain/registries/registry.py,sha256=wmk88NsM20Kl4PduX3Oy5roHPfNKtXENCITTc7M8gAY,4626
434
437
  ommlds/minichain/services/README.md,sha256=uHS4Exv-9Wlm3WMDn9myZ_MBPgsjKG_AN1YeCrBn4qo,9428
435
438
  ommlds/minichain/services/__init__.py,sha256=Su3p_xIAdTK4uTabmSAEIwnoVq0EL5_OpFi1TROfQ5U,424
436
- ommlds/minichain/services/_marshal.py,sha256=zIp4WnbGh-e2DS2lN2qi_Y3XO-MJN8sVYGB4HAPOOIU,5321
439
+ ommlds/minichain/services/_marshal.py,sha256=eeElYdzHX28LGS40w9aroHuIRKt13R_xKaNI2wgBtck,5319
437
440
  ommlds/minichain/services/_origclasses.py,sha256=cUao3vxNzArsHH3RAC3PKHLBWN66oQDvYyGT_agYZ-g,1625
438
441
  ommlds/minichain/services/_typedvalues.py,sha256=j3Rw6cZ-xfhzSTOPDe4OLsvzsADuy9r0lVmW9_egvjM,3040
439
442
  ommlds/minichain/services/facades.py,sha256=zoTY5GT7yIrFUY3fX7a-sSOvkk1_4GK5FlJJmRL_ems,1734
@@ -463,9 +466,9 @@ ommlds/minichain/tools/_marshal.py,sha256=9np2tuzGfRwL5BMCd6QYChzimtTBUfHxT4IoEA
463
466
  ommlds/minichain/tools/fns.py,sha256=zNDLV2ZlMk9no0YJpTXlZ6sgYCpD6oGcUpsgc65tQhQ,3932
464
467
  ommlds/minichain/tools/jsonschema.py,sha256=gipEyit6OmVAa02Azhk8xbFHlolWXd0Jp5x_fvAzdHg,4253
465
468
  ommlds/minichain/tools/reflect.py,sha256=jy9xxcewxeWJ9aRdPg9qhVmgZ7K3a2j2p3xCBewCKfA,8723
466
- ommlds/minichain/tools/types.py,sha256=77O0ufX6YSdijYXSSxHhamBC9MEIdcL2Cq3ihLJOPzI,4769
469
+ ommlds/minichain/tools/types.py,sha256=ZY35TlWsTe5RFMBJ5yIDzFpi3WtL7K9t7QYzgVAMHEM,4765
467
470
  ommlds/minichain/tools/execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
468
- ommlds/minichain/tools/execution/catalog.py,sha256=4BjQFdDnpO7pJ74VTl0Pv7qDjFuz2maZvPUi5KmHfFg,2004
471
+ ommlds/minichain/tools/execution/catalog.py,sha256=M0sW8o03FB3xY1TfENmMjQVgUJDrhvibDp0qVfNyY-M,2006
469
472
  ommlds/minichain/tools/execution/context.py,sha256=Gdl1UNjzLQTeIc7m2BlNyLtNsdqCookQv12_WwDDkAI,1872
470
473
  ommlds/minichain/tools/execution/errorhandling.py,sha256=Tx5h8SJQ297IHfTxFSZjjsoemMWAJYkeeCnh3cKWPmU,1015
471
474
  ommlds/minichain/tools/execution/errors.py,sha256=DhpwW-rp0_4O9azWXzjNFcKkTAtG-vvLXxtplaPVXkw,241
@@ -500,25 +503,25 @@ ommlds/specs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
500
503
  ommlds/specs/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
501
504
  ommlds/specs/mcp/_marshal.py,sha256=EGw9ZIIkH8CaOguKGl7xgMFOXh-UmbTH0VKTbLf6-jY,576
502
505
  ommlds/specs/mcp/clients.py,sha256=l-QX7KQtsSn40Hb3cATVUqmycGQm4FDTGyljUmpGyCY,4209
503
- ommlds/specs/mcp/protocol.py,sha256=Q3GQmNCn-fVEvivkROljeeddP1SPDI8v7o3BcxD-Roc,8993
506
+ ommlds/specs/mcp/protocol.py,sha256=ryCjHyrFoJGYoLX_kN5RP_1HbRejzn1pRsjWF08_pkM,8933
504
507
  ommlds/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
505
508
  ommlds/tools/git.py,sha256=He5CQOyC_xx1TP5UfqiKUKYMxP8O6Klez7vIfKINAas,8873
506
509
  ommlds/tools/ocr.py,sha256=UP2XK4-ELyhK2BnuBr7-DwUbkDIcX9xdvfXVimM19Y8,1839
507
510
  ommlds/wiki/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
508
511
  ommlds/wiki/analyze.py,sha256=lRzqxHjguc5WA0tasnbTSiCYCJiYWDU_q27rJn67HHU,9552
509
512
  ommlds/wiki/convert.py,sha256=4UqEKMWW03HwrfxYTn0wmXobYVrTSK2x9Lx-2MeJW8M,2531
510
- ommlds/wiki/models.py,sha256=MV7WqEqJJ_JTwIhaPNbQnRa_w7tO7mJggPu0xitJyLM,2473
513
+ ommlds/wiki/models.py,sha256=_vkoJHGsorIKNemltmAxTZunusifV1yGO2znBTWtLMA,2469
511
514
  ommlds/wiki/xml.py,sha256=8Xt4roJ9cyOlZMxT4L5NHbkaeMlgXt3wmjiArmiMh28,2925
512
515
  ommlds/wiki/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
513
- ommlds/wiki/text/mfh.py,sha256=Qk2WjmtZgoEMgZtBbYjKnWZhusx_VA5CIDSbUatfIAk,6702
516
+ ommlds/wiki/text/mfh.py,sha256=dLiyYhQK7ZdKgsEijXBrCK3P1rCroHdaht111FgJKkE,6693
514
517
  ommlds/wiki/text/wtp.py,sha256=Ga4dGfUsLwbS2i9LJd4xwSbHAAnwnReWGQgOrRIcedQ,2200
515
518
  ommlds/wiki/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
516
519
  ommlds/wiki/utils/io.py,sha256=UKgDJGtmpnWvIqVd2mJc2QNPOqlToEY1GEveNp6_pMo,7088
517
520
  ommlds/wiki/utils/progress.py,sha256=EhvKcMFYtsarCQhIahlO6f0SboyAKP3UwUyrnVnP-Vk,3222
518
521
  ommlds/wiki/utils/xml.py,sha256=sNJNkZ9rT8B-kJMO6bRz8J1USy4fyPx0m2PwTX7vxYY,3846
519
- ommlds-0.0.0.dev506.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
520
- ommlds-0.0.0.dev506.dist-info/METADATA,sha256=3ncoVk1_7XcnFOZJPLu0u8dyy_wJLWhCnbObf9nnWCc,3495
521
- ommlds-0.0.0.dev506.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
522
- ommlds-0.0.0.dev506.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
523
- ommlds-0.0.0.dev506.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
524
- ommlds-0.0.0.dev506.dist-info/RECORD,,
522
+ ommlds-0.0.0.dev508.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
523
+ ommlds-0.0.0.dev508.dist-info/METADATA,sha256=M4dhZq42dxr1rI3U3dl8D0I874PVq37zjwjJUzeSdPE,3495
524
+ ommlds-0.0.0.dev508.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
525
+ ommlds-0.0.0.dev508.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
526
+ ommlds-0.0.0.dev508.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
527
+ ommlds-0.0.0.dev508.dist-info/RECORD,,