ommlds 0.0.0.dev441__tar.gz → 0.0.0.dev442__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. {ommlds-0.0.0.dev441/ommlds.egg-info → ommlds-0.0.0.dev442}/PKG-INFO +5 -5
  2. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/.omlish-manifests.json +3 -3
  3. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/__about__.py +1 -1
  4. ommlds-0.0.0.dev442/ommlds/backends/google/protocol/types.py +75 -0
  5. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/openai/protocol/__init__.py +9 -28
  6. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/_marshal.py +26 -0
  7. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/chatcompletion/chunk.py +94 -0
  8. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/chatcompletion/contentpart.py +74 -0
  9. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/chatcompletion/message.py +93 -0
  10. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/chatcompletion/request.py +170 -0
  11. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/chatcompletion/response.py +106 -0
  12. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/chatcompletion/responseformat.py +42 -0
  13. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/chatcompletion/tokenlogprob.py +22 -0
  14. ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/completionusage.py +28 -0
  15. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/chat/interactive.py +1 -1
  16. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/chat/prompt.py +4 -4
  17. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/completion/completion.py +1 -1
  18. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/embedding/embedding.py +1 -1
  19. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/anthropic/chat.py +1 -1
  20. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/anthropic/stream.py +17 -15
  21. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/duckduckgo/search.py +1 -1
  22. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/google/chat.py +19 -14
  23. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/google/search.py +1 -1
  24. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/llamacpp/chat.py +1 -1
  25. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/llamacpp/completion.py +1 -1
  26. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/llamacpp/stream.py +1 -1
  27. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/mistral.py +1 -1
  28. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/mlx/chat.py +1 -1
  29. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/openai/chat.py +1 -1
  30. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/openai/completion.py +1 -1
  31. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/openai/embedding.py +1 -1
  32. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/openai/stream.py +9 -1
  33. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/tinygrad/chat.py +2 -2
  34. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/transformers/sentence.py +1 -1
  35. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/transformers/transformers.py +2 -2
  36. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/choices/adapters.py +2 -2
  37. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/choices/services.py +1 -1
  38. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/history.py +2 -2
  39. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/services.py +1 -1
  40. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/stream/adapters.py +2 -2
  41. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/stream/services.py +1 -1
  42. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/transforms/services.py +4 -4
  43. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/services/facades.py +3 -3
  44. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/services/services.py +1 -1
  45. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/stream/wrap.py +2 -2
  46. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/server/server.py +2 -2
  47. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/tools/git.py +4 -4
  48. ommlds-0.0.0.dev442/ommlds/wiki/text/__init__.py +0 -0
  49. ommlds-0.0.0.dev442/ommlds/wiki/utils/__init__.py +0 -0
  50. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442/ommlds.egg-info}/PKG-INFO +5 -5
  51. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds.egg-info/SOURCES.txt +4 -0
  52. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds.egg-info/requires.txt +4 -4
  53. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/pyproject.toml +5 -5
  54. ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/chatcompletion/chunk.py +0 -71
  55. ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/chatcompletion/contentpart.py +0 -77
  56. ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/chatcompletion/message.py +0 -91
  57. ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/chatcompletion/request.py +0 -140
  58. ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/chatcompletion/response.py +0 -90
  59. ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/chatcompletion/responseformat.py +0 -41
  60. ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/chatcompletion/tokenlogprob.py +0 -17
  61. ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/completionusage.py +0 -24
  62. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/LICENSE +0 -0
  63. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/MANIFEST.in +0 -0
  64. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/README.md +0 -0
  65. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/__init__.py +0 -0
  66. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/_hacks/__init__.py +0 -0
  67. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/_hacks/patches.py +0 -0
  68. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/__init__.py +0 -0
  69. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/anthropic/__init__.py +0 -0
  70. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/anthropic/protocol/__init__.py +0 -0
  71. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/anthropic/protocol/_marshal.py +0 -0
  72. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/anthropic/protocol/sse/__init__.py +0 -0
  73. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/anthropic/protocol/sse/_marshal.py +0 -0
  74. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/anthropic/protocol/sse/assemble.py +0 -0
  75. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/anthropic/protocol/sse/events.py +0 -0
  76. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/anthropic/protocol/types.py +0 -0
  77. {ommlds-0.0.0.dev441/ommlds/backends/mlx/tokenization/detokenization → ommlds-0.0.0.dev442/ommlds/backends/google}/__init__.py +0 -0
  78. {ommlds-0.0.0.dev441/ommlds/backends/openai → ommlds-0.0.0.dev442/ommlds/backends/google/protocol}/__init__.py +0 -0
  79. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/llamacpp/__init__.py +0 -0
  80. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/llamacpp/buildwheel.py +0 -0
  81. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/llamacpp/logging.py +0 -0
  82. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/__init__.py +0 -0
  83. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/__main__.py +0 -0
  84. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/caching.py +0 -0
  85. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/cli.py +0 -0
  86. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/generation.py +0 -0
  87. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/limits.py +0 -0
  88. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/loading.py +0 -0
  89. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/LICENSE +0 -0
  90. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/__init__.py +0 -0
  91. {ommlds-0.0.0.dev441/ommlds/backends/openai/protocol/chatcompletion → ommlds-0.0.0.dev442/ommlds/backends/mlx/tokenization/detokenization}/__init__.py +0 -0
  92. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/detokenization/base.py +0 -0
  93. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/detokenization/bpe.py +0 -0
  94. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/detokenization/naive.py +0 -0
  95. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/detokenization/spm.py +0 -0
  96. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/loading.py +0 -0
  97. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/tokenization.py +0 -0
  98. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/mlx/tokenization/types.py +0 -0
  99. {ommlds-0.0.0.dev441/ommlds/backends/tinygrad → ommlds-0.0.0.dev442/ommlds/backends/openai}/__init__.py +0 -0
  100. {ommlds-0.0.0.dev441/ommlds/backends/tinygrad/models → ommlds-0.0.0.dev442/ommlds/backends/openai/protocol/chatcompletion}/__init__.py +0 -0
  101. {ommlds-0.0.0.dev441/ommlds/cli → ommlds-0.0.0.dev442/ommlds/backends/tinygrad}/__init__.py +0 -0
  102. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/LICENSE +0 -0
  103. {ommlds-0.0.0.dev441/ommlds/cli/backends → ommlds-0.0.0.dev442/ommlds/backends/tinygrad/models}/__init__.py +0 -0
  104. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/__init__.py +0 -0
  105. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/__main__.py +0 -0
  106. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/attention.py +0 -0
  107. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/cli.py +0 -0
  108. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/fetch.py +0 -0
  109. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/llm.py +0 -0
  110. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/loading.py +0 -0
  111. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/quantization.py +0 -0
  112. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/sampling.py +0 -0
  113. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/tokenization.py +0 -0
  114. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/llama3/transformer.py +0 -0
  115. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/sdxl/__init__.py +0 -0
  116. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/sdxl/__main__.py +0 -0
  117. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/sdxl/cli.py +0 -0
  118. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/sdxl/clip.py +0 -0
  119. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/sdxl/sdxl.py +0 -0
  120. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/models/sdxl/unet.py +0 -0
  121. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/tinygrad/tinygrad.py +0 -0
  122. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/torch/__init__.py +0 -0
  123. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/torch/backends.py +0 -0
  124. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/torch/devices.py +0 -0
  125. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/backends/torch/purge.py +0 -0
  126. {ommlds-0.0.0.dev441/ommlds/cli/sessions → ommlds-0.0.0.dev442/ommlds/cli}/__init__.py +0 -0
  127. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/__main__.py +0 -0
  128. {ommlds-0.0.0.dev441/ommlds/cli/sessions/chat → ommlds-0.0.0.dev442/ommlds/cli/backends}/__init__.py +0 -0
  129. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/backends/inject.py +0 -0
  130. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/backends/standard.py +0 -0
  131. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/inject.py +0 -0
  132. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/main.py +0 -0
  133. {ommlds-0.0.0.dev441/ommlds/cli/sessions/completion → ommlds-0.0.0.dev442/ommlds/cli/sessions}/__init__.py +0 -0
  134. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/base.py +0 -0
  135. {ommlds-0.0.0.dev441/ommlds/cli/sessions/embedding → ommlds-0.0.0.dev442/ommlds/cli/sessions/chat}/__init__.py +0 -0
  136. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/chat/base.py +0 -0
  137. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/chat/inject.py +0 -0
  138. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/chat/printing.py +0 -0
  139. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/chat/state.py +0 -0
  140. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/chat/tools.py +0 -0
  141. {ommlds-0.0.0.dev441/ommlds/cli/tools → ommlds-0.0.0.dev442/ommlds/cli/sessions/completion}/__init__.py +0 -0
  142. {ommlds-0.0.0.dev441/ommlds/datasets → ommlds-0.0.0.dev442/ommlds/cli/sessions/embedding}/__init__.py +0 -0
  143. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/sessions/inject.py +0 -0
  144. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/state.py +0 -0
  145. {ommlds-0.0.0.dev441/ommlds/datasets/lib → ommlds-0.0.0.dev442/ommlds/cli/tools}/__init__.py +0 -0
  146. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/tools/config.py +0 -0
  147. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/tools/inject.py +0 -0
  148. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/cli/tools/weather.py +0 -0
  149. {ommlds-0.0.0.dev441/ommlds/minichain/backends → ommlds-0.0.0.dev442/ommlds/datasets}/__init__.py +0 -0
  150. {ommlds-0.0.0.dev441/ommlds/minichain/backends/catalogs → ommlds-0.0.0.dev442/ommlds/datasets/lib}/__init__.py +0 -0
  151. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/datasets/lib/movies.py +0 -0
  152. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/huggingface.py +0 -0
  153. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/__init__.py +0 -0
  154. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/_marshal.py +0 -0
  155. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/_typedvalues.py +0 -0
  156. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls → ommlds-0.0.0.dev442/ommlds/minichain/backends}/__init__.py +0 -0
  157. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/anthropic → ommlds-0.0.0.dev442/ommlds/minichain/backends/catalogs}/__init__.py +0 -0
  158. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/catalogs/base.py +0 -0
  159. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/catalogs/simple.py +0 -0
  160. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/catalogs/strings.py +0 -0
  161. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/duckduckgo → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls}/__init__.py +0 -0
  162. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/google → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/anthropic}/__init__.py +0 -0
  163. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/anthropic/names.py +0 -0
  164. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/huggingface → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/duckduckgo}/__init__.py +0 -0
  165. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/llamacpp → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/google}/__init__.py +0 -0
  166. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/google/names.py +0 -0
  167. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/mlx → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/huggingface}/__init__.py +0 -0
  168. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/huggingface/configs.py +0 -0
  169. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/huggingface/repos.py +0 -0
  170. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/openai → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/llamacpp}/__init__.py +0 -0
  171. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/llamacpp/format.py +0 -0
  172. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/sentencepiece → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/mlx}/__init__.py +0 -0
  173. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/tinygrad → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/openai}/__init__.py +0 -0
  174. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/openai/format.py +0 -0
  175. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/openai/names.py +0 -0
  176. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/tokenizers → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/sentencepiece}/__init__.py +0 -0
  177. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/sentencepiece/tokens.py +0 -0
  178. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/sqlite.py +0 -0
  179. {ommlds-0.0.0.dev441/ommlds/minichain/backends/impls/transformers → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/tinygrad}/__init__.py +0 -0
  180. {ommlds-0.0.0.dev441/ommlds/minichain/backends/strings → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/tokenizers}/__init__.py +0 -0
  181. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/tokenizers/tokens.py +0 -0
  182. {ommlds-0.0.0.dev441/ommlds/minichain/chat → ommlds-0.0.0.dev442/ommlds/minichain/backends/impls/transformers}/__init__.py +0 -0
  183. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/impls/transformers/tokens.py +0 -0
  184. {ommlds-0.0.0.dev441/ommlds/minichain/chat/choices → ommlds-0.0.0.dev442/ommlds/minichain/backends/strings}/__init__.py +0 -0
  185. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/strings/manifests.py +0 -0
  186. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/strings/parsing.py +0 -0
  187. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/backends/strings/resolving.py +0 -0
  188. {ommlds-0.0.0.dev441/ommlds/minichain/chat/stream → ommlds-0.0.0.dev442/ommlds/minichain/chat}/__init__.py +0 -0
  189. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/_marshal.py +0 -0
  190. {ommlds-0.0.0.dev441/ommlds/minichain/chat/tools → ommlds-0.0.0.dev442/ommlds/minichain/chat/choices}/__init__.py +0 -0
  191. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/choices/types.py +0 -0
  192. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/formats.py +0 -0
  193. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/messages.py +0 -0
  194. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/metadata.py +0 -0
  195. {ommlds-0.0.0.dev441/ommlds/minichain/chat/transforms → ommlds-0.0.0.dev442/ommlds/minichain/chat/stream}/__init__.py +0 -0
  196. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/stream/types.py +0 -0
  197. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/templating.py +0 -0
  198. {ommlds-0.0.0.dev441/ommlds/minichain/content/transforms → ommlds-0.0.0.dev442/ommlds/minichain/chat/tools}/__init__.py +0 -0
  199. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/tools/execution.py +0 -0
  200. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/tools/ids.py +0 -0
  201. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/tools/parsing.py +0 -0
  202. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/tools/types.py +0 -0
  203. {ommlds-0.0.0.dev441/ommlds/minichain/lib → ommlds-0.0.0.dev442/ommlds/minichain/chat/transforms}/__init__.py +0 -0
  204. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/transforms/base.py +0 -0
  205. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/transforms/metadata.py +0 -0
  206. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/chat/types.py +0 -0
  207. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/completion.py +0 -0
  208. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/configs.py +0 -0
  209. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/__init__.py +0 -0
  210. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/_marshal.py +0 -0
  211. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/images.py +0 -0
  212. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/materialize.py +0 -0
  213. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/metadata.py +0 -0
  214. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/namespaces.py +0 -0
  215. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/placeholders.py +0 -0
  216. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/prepare.py +0 -0
  217. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/sequence.py +0 -0
  218. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/simple.py +0 -0
  219. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/text.py +0 -0
  220. {ommlds-0.0.0.dev441/ommlds/minichain/lib/fs → ommlds-0.0.0.dev442/ommlds/minichain/content/transforms}/__init__.py +0 -0
  221. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/transforms/base.py +0 -0
  222. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/transforms/interleave.py +0 -0
  223. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/transforms/squeeze.py +0 -0
  224. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/transforms/stringify.py +0 -0
  225. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/transforms/strings.py +0 -0
  226. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/content/types.py +0 -0
  227. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/docs/__init__.py +0 -0
  228. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/docs/docs.py +0 -0
  229. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/docs/dtypes.py +0 -0
  230. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/docs/filters.py +0 -0
  231. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/envs.py +0 -0
  232. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/json.py +0 -0
  233. {ommlds-0.0.0.dev441/ommlds/minichain/lib/fs/ls → ommlds-0.0.0.dev442/ommlds/minichain/lib}/__init__.py +0 -0
  234. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/lib/bash.py +0 -0
  235. {ommlds-0.0.0.dev441/ommlds/minichain/llms → ommlds-0.0.0.dev442/ommlds/minichain/lib/fs}/__init__.py +0 -0
  236. {ommlds-0.0.0.dev441/ommlds/minichain/models → ommlds-0.0.0.dev442/ommlds/minichain/lib/fs/ls}/__init__.py +0 -0
  237. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/lib/fs/ls/execution.py +0 -0
  238. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/lib/fs/ls/rendering.py +0 -0
  239. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/lib/fs/ls/running.py +0 -0
  240. {ommlds-0.0.0.dev441/ommlds/minichain/models/repos → ommlds-0.0.0.dev442/ommlds/minichain/llms}/__init__.py +0 -0
  241. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/llms/_marshal.py +0 -0
  242. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/llms/tokens.py +0 -0
  243. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/llms/types.py +0 -0
  244. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/metadata.py +0 -0
  245. {ommlds-0.0.0.dev441/ommlds/minichain/registries → ommlds-0.0.0.dev442/ommlds/minichain/models}/__init__.py +0 -0
  246. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/models/configs.py +0 -0
  247. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/models/names.py +0 -0
  248. {ommlds-0.0.0.dev441/ommlds/minichain/stream → ommlds-0.0.0.dev442/ommlds/minichain/models/repos}/__init__.py +0 -0
  249. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/models/repos/resolving.py +0 -0
  250. {ommlds-0.0.0.dev441/ommlds/minichain/text → ommlds-0.0.0.dev442/ommlds/minichain/registries}/__init__.py +0 -0
  251. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/registries/globals.py +0 -0
  252. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/registries/manifests.py +0 -0
  253. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/registries/registry.py +0 -0
  254. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/resources.py +0 -0
  255. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/search.py +0 -0
  256. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/services/__init__.py +0 -0
  257. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/services/_marshal.py +0 -0
  258. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/services/_origclasses.py +0 -0
  259. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/services/_typedvalues.py +0 -0
  260. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/services/requests.py +0 -0
  261. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/services/responses.py +0 -0
  262. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/standard.py +0 -0
  263. {ommlds-0.0.0.dev441/ommlds/minichain/text/toolparsing → ommlds-0.0.0.dev442/ommlds/minichain/stream}/__init__.py +0 -0
  264. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/stream/services.py +0 -0
  265. {ommlds-0.0.0.dev441/ommlds/minichain/tools → ommlds-0.0.0.dev442/ommlds/minichain/text}/__init__.py +0 -0
  266. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/applypatch.py +0 -0
  267. {ommlds-0.0.0.dev441/ommlds/minichain/tools/execution → ommlds-0.0.0.dev442/ommlds/minichain/text/toolparsing}/__init__.py +0 -0
  268. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/toolparsing/base.py +0 -0
  269. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/toolparsing/dumb.py +0 -0
  270. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/toolparsing/llamacpp/LICENSE +0 -0
  271. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/toolparsing/llamacpp/__init__.py +0 -0
  272. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/toolparsing/llamacpp/hermes2.py +0 -0
  273. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/toolparsing/llamacpp/llama31.py +0 -0
  274. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/toolparsing/llamacpp/types.py +0 -0
  275. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/text/toolparsing/llamacpp/utils.py +0 -0
  276. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tokens/__init__.py +0 -0
  277. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tokens/specials.py +0 -0
  278. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tokens/tokenizers.py +0 -0
  279. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tokens/types.py +0 -0
  280. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tokens/vocabs.py +0 -0
  281. {ommlds-0.0.0.dev441/ommlds/minichain/vectors → ommlds-0.0.0.dev442/ommlds/minichain/tools}/__init__.py +0 -0
  282. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/_marshal.py +0 -0
  283. {ommlds-0.0.0.dev441/ommlds/server → ommlds-0.0.0.dev442/ommlds/minichain/tools/execution}/__init__.py +0 -0
  284. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/execution/catalog.py +0 -0
  285. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/execution/context.py +0 -0
  286. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/execution/executors.py +0 -0
  287. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/execution/reflect.py +0 -0
  288. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/fns.py +0 -0
  289. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/jsonschema.py +0 -0
  290. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/reflect.py +0 -0
  291. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/tools/types.py +0 -0
  292. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/types.py +0 -0
  293. {ommlds-0.0.0.dev441/ommlds/tools → ommlds-0.0.0.dev442/ommlds/minichain/vectors}/__init__.py +0 -0
  294. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/vectors/_marshal.py +0 -0
  295. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/vectors/embeddings.py +0 -0
  296. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/vectors/index.py +0 -0
  297. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/vectors/search.py +0 -0
  298. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/vectors/similarity.py +0 -0
  299. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/vectors/stores.py +0 -0
  300. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/minichain/vectors/types.py +0 -0
  301. {ommlds-0.0.0.dev441/ommlds/wiki → ommlds-0.0.0.dev442/ommlds/server}/__init__.py +0 -0
  302. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/server/__main__.py +0 -0
  303. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/server/cli.py +0 -0
  304. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/server/client.py +0 -0
  305. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/server/service.py +0 -0
  306. {ommlds-0.0.0.dev441/ommlds/wiki/text → ommlds-0.0.0.dev442/ommlds/tools}/__init__.py +0 -0
  307. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/tools/ocr.py +0 -0
  308. {ommlds-0.0.0.dev441/ommlds/wiki/utils → ommlds-0.0.0.dev442/ommlds/wiki}/__init__.py +0 -0
  309. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/analyze.py +0 -0
  310. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/convert.py +0 -0
  311. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/models.py +0 -0
  312. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/text/mfh.py +0 -0
  313. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/text/wtp.py +0 -0
  314. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/utils/io.py +0 -0
  315. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/utils/progress.py +0 -0
  316. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/utils/xml.py +0 -0
  317. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds/wiki/xml.py +0 -0
  318. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds.egg-info/dependency_links.txt +0 -0
  319. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds.egg-info/entry_points.txt +0 -0
  320. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/ommlds.egg-info/top_level.txt +0 -0
  321. {ommlds-0.0.0.dev441 → ommlds-0.0.0.dev442}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ommlds
3
- Version: 0.0.0.dev441
3
+ Version: 0.0.0.dev442
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.dev441
18
- Requires-Dist: omlish==0.0.0.dev441
17
+ Requires-Dist: omdev==0.0.0.dev442
18
+ Requires-Dist: omlish==0.0.0.dev442
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"
@@ -32,7 +32,7 @@ Requires-Dist: numpy>=1.26; extra == "all"
32
32
  Requires-Dist: pytesseract~=0.3; extra == "all"
33
33
  Requires-Dist: rapidocr-onnxruntime~=1.4; extra == "all"
34
34
  Requires-Dist: pillow~=11.3; extra == "all"
35
- Requires-Dist: ddgs~=9.5; extra == "all"
35
+ Requires-Dist: ddgs~=9.6; extra == "all"
36
36
  Requires-Dist: mwparserfromhell~=0.7; extra == "all"
37
37
  Requires-Dist: wikitextparser~=0.56; extra == "all"
38
38
  Requires-Dist: lxml>=5.3; python_version < "3.13" and extra == "all"
@@ -57,7 +57,7 @@ Requires-Dist: rapidocr-onnxruntime~=1.4; extra == "ocr"
57
57
  Provides-Extra: pillow
58
58
  Requires-Dist: pillow~=11.3; extra == "pillow"
59
59
  Provides-Extra: search
60
- Requires-Dist: ddgs~=9.5; extra == "search"
60
+ Requires-Dist: ddgs~=9.6; extra == "search"
61
61
  Provides-Extra: wiki
62
62
  Requires-Dist: mwparserfromhell~=0.7; extra == "wiki"
63
63
  Requires-Dist: wikitextparser~=0.56; extra == "wiki"
@@ -63,7 +63,7 @@
63
63
  "module": ".minichain.backends.impls.anthropic.stream",
64
64
  "attr": null,
65
65
  "file": "ommlds/minichain/backends/impls/anthropic/stream.py",
66
- "line": 29,
66
+ "line": 34,
67
67
  "value": {
68
68
  "!.minichain.registries.manifests.RegistryManifest": {
69
69
  "module": "ommlds.minichain.backends.impls.anthropic.stream",
@@ -95,7 +95,7 @@
95
95
  "module": ".minichain.backends.impls.google.chat",
96
96
  "attr": null,
97
97
  "file": "ommlds/minichain/backends/impls/google/chat.py",
98
- "line": 27,
98
+ "line": 30,
99
99
  "value": {
100
100
  "!.minichain.registries.manifests.RegistryManifest": {
101
101
  "module": "ommlds.minichain.backends.impls.google.chat",
@@ -341,7 +341,7 @@
341
341
  "module": ".minichain.backends.impls.openai.stream",
342
342
  "attr": null,
343
343
  "file": "ommlds/minichain/backends/impls/openai/stream.py",
344
- "line": 31,
344
+ "line": 36,
345
345
  "value": {
346
346
  "!.minichain.registries.manifests.RegistryManifest": {
347
347
  "module": "ommlds.minichain.backends.impls.openai.stream",
@@ -56,7 +56,7 @@ class Project(ProjectBase):
56
56
  ],
57
57
 
58
58
  'search': [
59
- 'ddgs ~= 9.5',
59
+ 'ddgs ~= 9.6',
60
60
  ],
61
61
 
62
62
  'wiki': [
@@ -0,0 +1,75 @@
1
+ import typing as ta
2
+
3
+ from omlish import dataclasses as dc
4
+ from omlish import lang
5
+ from omlish import marshal as msh
6
+
7
+
8
+ ##
9
+
10
+
11
+ @dc.dataclass(frozen=True, kw_only=True)
12
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
13
+ class GenerateContentRequest:
14
+ """https://ai.google.dev/api/generate-content#request-body"""
15
+
16
+ @dc.dataclass(frozen=True, kw_only=True)
17
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
18
+ class Content(lang.Final):
19
+ @dc.dataclass(frozen=True, kw_only=True)
20
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
21
+ class Part(lang.Final):
22
+ text: str
23
+
24
+ parts: ta.Sequence[Part]
25
+ role: ta.Literal['user', 'model']
26
+
27
+ contents: ta.Sequence[Content]
28
+
29
+
30
+ @dc.dataclass(frozen=True, kw_only=True)
31
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
32
+ class GenerateContentResponse:
33
+ """https://ai.google.dev/api/generate-content#v1beta.GenerateContentResponse"""
34
+
35
+ @dc.dataclass(frozen=True, kw_only=True)
36
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
37
+ class Candidate(lang.Final):
38
+ @dc.dataclass(frozen=True, kw_only=True)
39
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
40
+ class Content(lang.Final):
41
+ @dc.dataclass(frozen=True, kw_only=True)
42
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
43
+ class Part(lang.Final):
44
+ text: str
45
+
46
+ parts: ta.Sequence[Part]
47
+ role: ta.Literal['user', 'model']
48
+
49
+ content: Content
50
+ finish_reason: ta.Literal['STOP'] | None
51
+ index: int
52
+
53
+ candidates: ta.Sequence[Candidate]
54
+
55
+ @dc.dataclass(frozen=True, kw_only=True)
56
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
57
+ class UsageMetadata(lang.Final):
58
+ prompt_token_count: int
59
+ candidates_token_count: int
60
+ total_token_count: int
61
+ thoughts_token_count: int
62
+
63
+ @dc.dataclass(frozen=True, kw_only=True)
64
+ @msh.update_object_metadata(field_naming=msh.Naming.LOW_CAMEL)
65
+ class ModalityTokenCount:
66
+ modality: str
67
+ token_count: int
68
+
69
+ prompt_tokens_details: ta.Sequence[ModalityTokenCount]
70
+
71
+ usage_metadata: UsageMetadata
72
+
73
+ model_version: str
74
+
75
+ response_id: str
@@ -5,11 +5,8 @@ https://github.com/openai/openai-openapi/blob/master/openapi.yaml
5
5
  # ruff: noqa: I001
6
6
 
7
7
  from .chatcompletion.chunk import ( # noqa
8
- ChatCompletionChunkChoiceDeltaToolCallFunction,
9
- ChatCompletionChunkChoiceDeltaToolCall,
10
8
  ChatCompletionChunkChoiceDelta,
11
9
 
12
- ChatCompletionChunkChoiceLogprobs,
13
10
  ChatCompletionChunkChoice,
14
11
 
15
12
  ChatCompletionChunk,
@@ -18,13 +15,10 @@ from .chatcompletion.chunk import ( # noqa
18
15
  from .chatcompletion.contentpart import ( # noqa
19
16
  TextChatCompletionContentPart,
20
17
 
21
- ImageChatCompletionContentPartImageUrl,
22
- ImageChatCompletionContentPart,
18
+ ImageUrlChatCompletionContentPart,
23
19
 
24
- FileChatCompletionContentPartFileInfo,
25
20
  FileChatCompletionContentPart,
26
21
 
27
- InputAudioChatCompletionContentPartInputAudio,
28
22
  InputAudioChatCompletionContentPart,
29
23
 
30
24
  RefusalChatCompletionContentPart,
@@ -39,9 +33,6 @@ from .chatcompletion.message import ( # noqa
39
33
 
40
34
  UserChatCompletionMessage,
41
35
 
42
- AssistantChatCompletionMessageAudio,
43
- AssistantChatCompletionMessageToolCallFunction,
44
- AssistantChatCompletionMessageToolCall,
45
36
  AssistantChatCompletionMessage,
46
37
 
47
38
  ToolChatCompletionMessage,
@@ -52,18 +43,12 @@ from .chatcompletion.message import ( # noqa
52
43
  )
53
44
 
54
45
  from .chatcompletion.request import ( # noqa
55
- ChatCompletionRequestWebSearchOptionsUserLocationApproximate,
56
- ChatCompletionRequestWebSearchOptionsUserLocation,
57
46
  ChatCompletionRequestWebSearchOptions,
58
47
 
59
48
  ChatCompletionRequestPrediction,
60
49
 
61
- ChatCompletionRequestToolFunction,
62
50
  ChatCompletionRequestTool,
63
51
 
64
- ChatCompletionRequestStreamOptions,
65
-
66
- ChatCompletionRequestNamedToolChoiceFunction,
67
52
  ChatCompletionRequestNamedToolChoice,
68
53
 
69
54
  ChatCompletionRequestAudio,
@@ -72,16 +57,8 @@ from .chatcompletion.request import ( # noqa
72
57
  )
73
58
 
74
59
  from .chatcompletion.response import ( # noqa
75
- ChatCompletionResponseAnnotationUrlCitation,
76
- ChatCompletionResponseAnnotation,
77
-
78
- ChatCompletionResponseAudio,
79
-
80
- ChatCompletionResponseMessageToolCallFunction,
81
- ChatCompletionResponseMessageToolCall,
82
60
  ChatCompletionResponseMessage,
83
61
 
84
- ChatCompletionResponseChoiceLogprobs,
85
62
  ChatCompletionResponseChoice,
86
63
 
87
64
  ChatCompletionResponse,
@@ -90,7 +67,6 @@ from .chatcompletion.response import ( # noqa
90
67
  from .chatcompletion.responseformat import ( # noqa
91
68
  TextChatCompletionResponseFormat,
92
69
 
93
- JsonSchemaChatCompletionResponseFormatJsonSchema,
94
70
  JsonSchemaChatCompletionResponseFormat,
95
71
 
96
72
  JsonObjectChatCompletionResponseFormat,
@@ -99,12 +75,17 @@ from .chatcompletion.responseformat import ( # noqa
99
75
  )
100
76
 
101
77
  from .chatcompletion.tokenlogprob import ( # noqa
102
- ChatCompletionTokenLogprobTopLogprob,
103
78
  ChatCompletionTokenLogprob,
104
79
  )
105
80
 
106
81
  from .completionusage import ( # noqa
107
- CompletionUsageCompletionTokensDetails,
108
- CompletionUsagePromptTokensDetails,
109
82
  CompletionUsage,
110
83
  )
84
+
85
+
86
+ ##
87
+
88
+
89
+ from omlish import marshal as _msh # noqa
90
+
91
+ _msh.register_global_module_import('._marshal', __package__)
@@ -0,0 +1,26 @@
1
+ from omlish import lang
2
+ from omlish import marshal as msh
3
+
4
+ from .chatcompletion.contentpart import ChatCompletionContentPart
5
+ from .chatcompletion.message import ChatCompletionMessage
6
+ from .chatcompletion.responseformat import ChatCompletionResponseFormat
7
+
8
+
9
+ ##
10
+
11
+
12
+ @lang.static_init
13
+ def _install_standard_marshalling() -> None:
14
+ for root_cls, tag_field in [
15
+ (ChatCompletionContentPart, 'type'),
16
+ (ChatCompletionMessage, 'role'),
17
+ (ChatCompletionResponseFormat, 'type'),
18
+ ]:
19
+ msh.install_standard_factories(*msh.standard_polymorphism_factories(
20
+ msh.polymorphism_from_subclasses(
21
+ root_cls,
22
+ naming=msh.Naming.SNAKE,
23
+ strip_suffix='auto',
24
+ ),
25
+ msh.FieldTypeTagging(tag_field),
26
+ ))
@@ -0,0 +1,94 @@
1
+ import typing as ta
2
+
3
+ from omlish import dataclasses as dc
4
+ from omlish import lang
5
+
6
+ from ..completionusage import CompletionUsage
7
+ from .tokenlogprob import ChatCompletionTokenLogprob
8
+
9
+
10
+ ##
11
+
12
+
13
+ @dc.dataclass(frozen=True, kw_only=True)
14
+ class ChatCompletionChunkChoiceDelta(lang.Final):
15
+ content: str | None = None
16
+
17
+ refusal: str | None = None
18
+
19
+ role: ta.Literal[
20
+ 'developer',
21
+ 'system',
22
+ 'user',
23
+ 'assistant',
24
+ 'tool',
25
+ ] | None = None
26
+
27
+ @dc.dataclass(frozen=True, kw_only=True)
28
+ class ToolCall(lang.Final):
29
+ index: int
30
+
31
+ id: str | None = None
32
+
33
+ @dc.dataclass(frozen=True, kw_only=True)
34
+ class Function(lang.Final):
35
+ arguments: str | None = None
36
+ name: str | None = None
37
+
38
+ function: Function | None = None
39
+
40
+ type: ta.Literal['function'] = dc.xfield('function', repr=False)
41
+
42
+ tool_calls: ta.Sequence[ToolCall] | None = None
43
+
44
+
45
+ #
46
+
47
+
48
+ @dc.dataclass(frozen=True, kw_only=True)
49
+ class ChatCompletionChunkChoice(lang.Final):
50
+ delta: ChatCompletionChunkChoiceDelta
51
+
52
+ finish_reason: ta.Literal[
53
+ 'stop',
54
+ 'length',
55
+ 'tool_calls',
56
+ 'content_filter',
57
+ ] | None = None
58
+
59
+ index: int
60
+
61
+ @dc.dataclass(frozen=True, kw_only=True)
62
+ class Logprobs(lang.Final):
63
+ content: ta.Sequence[ChatCompletionTokenLogprob] | None = None
64
+ refusal: ta.Sequence[ChatCompletionTokenLogprob] | None = None
65
+
66
+ logprobs: Logprobs | None = None
67
+
68
+
69
+ #
70
+
71
+
72
+ @dc.dataclass(frozen=True, kw_only=True)
73
+ class ChatCompletionChunk(lang.Final):
74
+ id: str
75
+
76
+ choices: ta.Sequence[ChatCompletionChunkChoice]
77
+
78
+ created: int
79
+
80
+ model: str
81
+
82
+ object: ta.Literal['chat.completion.chunk'] = dc.xfield('chat.completion.chunk', repr=False)
83
+
84
+ service_tier: ta.Literal[
85
+ 'auto',
86
+ 'default',
87
+ 'flex',
88
+ ] | None = None
89
+
90
+ system_fingerprint: str | None = None
91
+
92
+ usage: CompletionUsage | None = None
93
+
94
+ obfuscation: str | None = None
@@ -0,0 +1,74 @@
1
+ import typing as ta
2
+
3
+ from omlish import dataclasses as dc
4
+ from omlish import lang
5
+
6
+
7
+ ##
8
+
9
+
10
+ class ChatCompletionContentPart(lang.Abstract):
11
+ pass
12
+
13
+
14
+ #
15
+
16
+
17
+ @dc.dataclass(frozen=True, kw_only=True)
18
+ class TextChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
19
+ text: str
20
+
21
+
22
+ #
23
+
24
+
25
+ @dc.dataclass(frozen=True, kw_only=True)
26
+ class ImageUrlChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
27
+ @dc.dataclass(frozen=True, kw_only=True)
28
+ class ImageUrl(lang.Final):
29
+ url: str
30
+ detail: ta.Literal[
31
+ 'auto',
32
+ 'low',
33
+ 'high',
34
+ ]
35
+
36
+ image_url: ImageUrl
37
+
38
+
39
+ #
40
+
41
+
42
+ @dc.dataclass(frozen=True, kw_only=True)
43
+ class FileChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
44
+ @dc.dataclass(frozen=True, kw_only=True)
45
+ class File(lang.Final):
46
+ file_data: str | None = None
47
+ file_id: str | None = None
48
+ filename: str | None = None
49
+
50
+ file: File
51
+
52
+
53
+ #
54
+
55
+
56
+ @dc.dataclass(frozen=True, kw_only=True)
57
+ class InputAudioChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
58
+ @dc.dataclass(frozen=True, kw_only=True)
59
+ class InputAudio(lang.Final):
60
+ data: str
61
+ format: ta.Literal[
62
+ 'wav',
63
+ 'mp3',
64
+ ]
65
+
66
+ input_audio: InputAudio
67
+
68
+
69
+ #
70
+
71
+
72
+ @dc.dataclass(frozen=True, kw_only=True)
73
+ class RefusalChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
74
+ refusal: str
@@ -0,0 +1,93 @@
1
+ import typing as ta
2
+
3
+ from omlish import dataclasses as dc
4
+ from omlish import lang
5
+
6
+ from .contentpart import ChatCompletionContentPart
7
+ from .contentpart import RefusalChatCompletionContentPart
8
+ from .contentpart import TextChatCompletionContentPart
9
+
10
+
11
+ ##
12
+
13
+
14
+ class ChatCompletionMessage(lang.Abstract, lang.Sealed):
15
+ pass
16
+
17
+
18
+ #
19
+
20
+
21
+ @dc.dataclass(frozen=True, kw_only=True)
22
+ class DeveloperChatCompletionMessage(ChatCompletionMessage, lang.Final):
23
+ content: str | ta.Iterable[TextChatCompletionContentPart]
24
+ name: str | None = None
25
+
26
+
27
+ #
28
+
29
+
30
+ @dc.dataclass(frozen=True, kw_only=True)
31
+ class SystemChatCompletionMessage(ChatCompletionMessage, lang.Final):
32
+ content: str | ta.Iterable[TextChatCompletionContentPart]
33
+ name: str | None = None
34
+
35
+
36
+ #
37
+
38
+
39
+ @dc.dataclass(frozen=True, kw_only=True)
40
+ class UserChatCompletionMessage(ChatCompletionMessage, lang.Final):
41
+ content: str | ta.Iterable[ChatCompletionContentPart]
42
+ name: str | None = None
43
+
44
+
45
+ #
46
+
47
+
48
+ @dc.dataclass(frozen=True, kw_only=True)
49
+ class AssistantChatCompletionMessage(ChatCompletionMessage, lang.Final):
50
+ @dc.dataclass(frozen=True, kw_only=True)
51
+ class Audio(lang.Final):
52
+ id: str
53
+
54
+ audio: Audio | None = None
55
+
56
+ content: str | ta.Iterable[TextChatCompletionContentPart | RefusalChatCompletionContentPart] | None = None
57
+
58
+ name: str | None = None
59
+
60
+ refusal: str | None = None
61
+
62
+ @dc.dataclass(frozen=True, kw_only=True)
63
+ class ToolCall(lang.Final):
64
+ id: str
65
+
66
+ @dc.dataclass(frozen=True, kw_only=True)
67
+ class Function(lang.Final):
68
+ arguments: str
69
+ name: str
70
+
71
+ function: Function
72
+
73
+ type: ta.Literal['function'] = dc.xfield('function', repr=False)
74
+
75
+ tool_calls: ta.Iterable[ToolCall] | None = None
76
+
77
+
78
+ #
79
+
80
+
81
+ @dc.dataclass(frozen=True, kw_only=True)
82
+ class ToolChatCompletionMessage(ChatCompletionMessage, lang.Final):
83
+ content: str | ta.Iterable[TextChatCompletionContentPart]
84
+ tool_call_id: str
85
+
86
+
87
+ #
88
+
89
+
90
+ @dc.dataclass(frozen=True, kw_only=True)
91
+ class FunctionChatCompletionMessage(ChatCompletionMessage, lang.Final):
92
+ content: str | None
93
+ name: str
@@ -0,0 +1,170 @@
1
+ # ruff: noqa: UP007
2
+ import typing as ta
3
+
4
+ from omlish import dataclasses as dc
5
+ from omlish import lang
6
+
7
+ from .contentpart import TextChatCompletionContentPart
8
+ from .message import ChatCompletionMessage
9
+ from .responseformat import ChatCompletionResponseFormat
10
+
11
+
12
+ ##
13
+
14
+
15
+ @dc.dataclass(frozen=True, kw_only=True)
16
+ class ChatCompletionRequestWebSearchOptions(lang.Final):
17
+ search_context_size: ta.Literal[
18
+ 'low',
19
+ 'medium',
20
+ 'high',
21
+ ] | None = None
22
+
23
+ @dc.dataclass(frozen=True, kw_only=True)
24
+ class UserLocation(lang.Final):
25
+ @dc.dataclass(frozen=True, kw_only=True)
26
+ class Approximate(lang.Final):
27
+ city: str | None = None
28
+ country: str | None = None
29
+ region: str | None = None
30
+ timezone: str | None = None
31
+
32
+ approximate: Approximate
33
+ type: ta.Literal['approximate'] | None = None
34
+
35
+ user_location: UserLocation | None = None
36
+
37
+
38
+ #
39
+
40
+
41
+ @dc.dataclass(frozen=True, kw_only=True)
42
+ class ChatCompletionRequestPrediction(lang.Final):
43
+ content: str | ta.Iterable[TextChatCompletionContentPart]
44
+ type: ta.Literal['content'] | None = None
45
+
46
+
47
+ #
48
+
49
+
50
+ @dc.dataclass(frozen=True, kw_only=True)
51
+ class ChatCompletionRequestTool(lang.Final):
52
+ @dc.dataclass(frozen=True, kw_only=True)
53
+ class Function(lang.Final):
54
+ name: str
55
+ description: str | None = None
56
+ parameters: ta.Mapping[str, ta.Any] | None = None
57
+ strict: bool | None = None
58
+
59
+ function: Function
60
+ type: ta.Literal['function'] | None = None
61
+
62
+
63
+ #
64
+
65
+
66
+ @dc.dataclass(frozen=True, kw_only=True)
67
+ class ChatCompletionRequestNamedToolChoice(lang.Final):
68
+ @dc.dataclass(frozen=True, kw_only=True)
69
+ class Function(lang.Final):
70
+ name: str
71
+
72
+ function: Function
73
+ type: ta.Literal['function'] | None = None
74
+
75
+
76
+ #
77
+
78
+
79
+ @dc.dataclass(frozen=True, kw_only=True)
80
+ class ChatCompletionRequestAudio(lang.Final):
81
+ format: ta.Literal[
82
+ 'wav',
83
+ 'aac',
84
+ 'mp3',
85
+ 'flac',
86
+ 'opus',
87
+ 'pcm16',
88
+ ]
89
+
90
+ voice: str
91
+
92
+
93
+ #
94
+
95
+
96
+ @dc.dataclass(frozen=True, kw_only=True)
97
+ class ChatCompletionRequest(lang.Final):
98
+ messages: ta.Iterable[ChatCompletionMessage]
99
+
100
+ model: str
101
+
102
+ audio: ChatCompletionRequestAudio | None = None
103
+
104
+ frequency_penalty: float | None = None
105
+ logit_bias: ta.Mapping[str, int] | None = None
106
+ logprobs: bool | None = None
107
+
108
+ max_completion_tokens: int | None = None
109
+ max_tokens: int | None = None
110
+
111
+ metadata: ta.Mapping[str, str] | None = None
112
+
113
+ modalities: ta.Sequence[ta.Literal[
114
+ 'text',
115
+ 'audio',
116
+ ]] | None = None
117
+
118
+ n: int | None = None
119
+
120
+ parallel_tool_calls: bool | None = None
121
+
122
+ prediction: ChatCompletionRequestPrediction | None = None
123
+
124
+ presence_penalty: float | None = None
125
+
126
+ reasoning_effort: ta.Literal[
127
+ 'low',
128
+ 'medium',
129
+ 'high',
130
+ ] | None = None
131
+
132
+ response_format: ChatCompletionResponseFormat | None = None
133
+
134
+ seed: int | None = None
135
+
136
+ service_tier: ta.Literal[
137
+ 'auto',
138
+ 'default',
139
+ 'flex',
140
+ ] | None = None
141
+
142
+ stop: ta.Union[str, ta.Sequence[str], None] = None
143
+
144
+ store: bool | None = None
145
+
146
+ @dc.dataclass(frozen=True, kw_only=True)
147
+ class StreamOptions(lang.Final):
148
+ include_usage: bool | None = None
149
+
150
+ stream_options: StreamOptions | None = None
151
+
152
+ temperature: float | None = None
153
+
154
+ tool_choice: ta.Union[
155
+ ta.Literal[
156
+ 'none',
157
+ 'auto',
158
+ 'required',
159
+ ],
160
+ ChatCompletionRequestNamedToolChoice,
161
+ ] | None = None
162
+
163
+ tools: ta.Iterable[ChatCompletionRequestTool] | None = None
164
+
165
+ top_logprobs: int | None = None
166
+ top_p: float | None = None
167
+
168
+ user: str | None = None
169
+
170
+ web_search_options: ChatCompletionRequestWebSearchOptions | None = None