ommlds 0.0.0.dev450__tar.gz → 0.0.0.dev452__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.

Potentially problematic release.


This version of ommlds might be problematic. Click here for more details.

Files changed (349) hide show
  1. {ommlds-0.0.0.dev450/ommlds.egg-info → ommlds-0.0.0.dev452}/PKG-INFO +3 -3
  2. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/.omlish-manifests.json +12 -12
  3. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/anthropic/protocol/_marshal.py +2 -2
  4. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/anthropic/protocol/sse/_marshal.py +1 -1
  5. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/anthropic/protocol/sse/assemble.py +1 -1
  6. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/anthropic/protocol/types.py +30 -9
  7. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/google/protocol/_marshal.py +1 -1
  8. ommlds-0.0.0.dev452/ommlds/backends/openai/protocol/_common.py +18 -0
  9. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/_marshal.py +3 -2
  10. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/chatcompletion/chunk.py +4 -0
  11. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/chatcompletion/contentpart.py +15 -7
  12. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/chatcompletion/message.py +10 -0
  13. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/chatcompletion/request.py +25 -7
  14. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/chatcompletion/response.py +10 -0
  15. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/chatcompletion/responseformat.py +6 -0
  16. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/chatcompletion/tokenlogprob.py +4 -0
  17. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/completionusage.py +5 -0
  18. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/main.py +2 -2
  19. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/code.py +34 -19
  20. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/inject.py +4 -4
  21. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/interactive.py +2 -1
  22. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/printing.py +6 -2
  23. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/prompt.py +28 -27
  24. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/tools.py +13 -14
  25. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/tools/config.py +1 -1
  26. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/tools/inject.py +4 -1
  27. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/__init__.py +32 -8
  28. ommlds-0.0.0.dev452/ommlds/minichain/_marshal.py +66 -0
  29. ommlds-0.0.0.dev452/ommlds/minichain/backends/impls/anthropic/chat.py +177 -0
  30. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/anthropic/names.py +3 -3
  31. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/anthropic/stream.py +7 -7
  32. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/google/chat.py +48 -22
  33. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/google/stream.py +8 -4
  34. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/llamacpp/chat.py +23 -17
  35. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/llamacpp/format.py +4 -2
  36. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/llamacpp/stream.py +6 -6
  37. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/mistral.py +1 -1
  38. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/mlx/chat.py +1 -1
  39. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/openai/chat.py +6 -3
  40. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/openai/format.py +80 -61
  41. ommlds-0.0.0.dev452/ommlds/minichain/backends/impls/openai/format2.py +210 -0
  42. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/openai/stream.py +9 -6
  43. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/tinygrad/chat.py +10 -5
  44. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/transformers/transformers.py +20 -16
  45. ommlds-0.0.0.dev452/ommlds/minichain/chat/_marshal.py +31 -0
  46. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/choices/adapters.py +3 -3
  47. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/choices/types.py +2 -2
  48. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/history.py +1 -1
  49. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/messages.py +55 -19
  50. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/services.py +2 -2
  51. ommlds-0.0.0.dev452/ommlds/minichain/chat/stream/_marshal.py +16 -0
  52. ommlds-0.0.0.dev452/ommlds/minichain/chat/stream/adapters.py +80 -0
  53. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/stream/services.py +2 -2
  54. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/stream/types.py +20 -13
  55. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/tools/execution.py +8 -7
  56. ommlds-0.0.0.dev452/ommlds/minichain/chat/tools/ids.py +27 -0
  57. ommlds-0.0.0.dev452/ommlds/minichain/chat/tools/parsing.py +45 -0
  58. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/transforms/base.py +29 -38
  59. ommlds-0.0.0.dev452/ommlds/minichain/chat/transforms/metadata.py +59 -0
  60. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/transforms/services.py +5 -7
  61. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/_marshal.py +24 -3
  62. ommlds-0.0.0.dev452/ommlds/minichain/content/json.py +13 -0
  63. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/materialize.py +13 -20
  64. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/prepare.py +4 -0
  65. ommlds-0.0.0.dev452/ommlds/minichain/json.py +33 -0
  66. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/context.py +15 -1
  67. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/errors.py +6 -0
  68. ommlds-0.0.0.dev452/ommlds/minichain/lib/fs/tools/edit.py +104 -0
  69. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/tools/ls.py +2 -2
  70. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/tools/read.py +2 -2
  71. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/tools/recursivels/execution.py +2 -2
  72. ommlds-0.0.0.dev452/ommlds/minichain/lib/todo/context.py +54 -0
  73. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/todo/tools/read.py +11 -6
  74. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/todo/tools/write.py +73 -13
  75. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/todo/types.py +6 -1
  76. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/llms/_marshal.py +1 -1
  77. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/services/_marshal.py +1 -1
  78. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/_marshal.py +1 -1
  79. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/execution/catalog.py +2 -1
  80. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/execution/executors.py +8 -3
  81. ommlds-0.0.0.dev452/ommlds/minichain/tools/execution/reflect.py +72 -0
  82. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/fns.py +46 -9
  83. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/jsonschema.py +5 -6
  84. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/reflect.py +2 -2
  85. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/types.py +24 -1
  86. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/vectors/_marshal.py +1 -1
  87. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/server/server.py +1 -1
  88. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/tools/git.py +18 -2
  89. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/tools/ocr.py +7 -1
  90. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452/ommlds.egg-info}/PKG-INFO +3 -3
  91. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds.egg-info/SOURCES.txt +5 -0
  92. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds.egg-info/requires.txt +2 -2
  93. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/pyproject.toml +3 -3
  94. ommlds-0.0.0.dev450/ommlds/minichain/_marshal.py +0 -27
  95. ommlds-0.0.0.dev450/ommlds/minichain/backends/impls/anthropic/chat.py +0 -105
  96. ommlds-0.0.0.dev450/ommlds/minichain/chat/_marshal.py +0 -24
  97. ommlds-0.0.0.dev450/ommlds/minichain/chat/stream/adapters.py +0 -69
  98. ommlds-0.0.0.dev450/ommlds/minichain/chat/tools/ids.py +0 -33
  99. ommlds-0.0.0.dev450/ommlds/minichain/chat/tools/parsing.py +0 -54
  100. ommlds-0.0.0.dev450/ommlds/minichain/chat/transforms/metadata.py +0 -33
  101. ommlds-0.0.0.dev450/ommlds/minichain/json.py +0 -13
  102. ommlds-0.0.0.dev450/ommlds/minichain/lib/todo/context.py +0 -27
  103. ommlds-0.0.0.dev450/ommlds/minichain/tools/execution/reflect.py +0 -34
  104. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/LICENSE +0 -0
  105. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/MANIFEST.in +0 -0
  106. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/README.md +0 -0
  107. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/__about__.py +0 -0
  108. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/__init__.py +0 -0
  109. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/_hacks/__init__.py +0 -0
  110. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/_hacks/patches.py +0 -0
  111. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/__init__.py +0 -0
  112. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/anthropic/__init__.py +0 -0
  113. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/anthropic/protocol/__init__.py +0 -0
  114. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/anthropic/protocol/sse/__init__.py +0 -0
  115. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/anthropic/protocol/sse/events.py +0 -0
  116. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/google/__init__.py +0 -0
  117. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/google/protocol/__init__.py +0 -0
  118. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/google/protocol/types.py +0 -0
  119. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/llamacpp/__init__.py +0 -0
  120. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/llamacpp/buildwheel.py +0 -0
  121. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/llamacpp/logging.py +0 -0
  122. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/__init__.py +0 -0
  123. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/__main__.py +0 -0
  124. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/caching.py +0 -0
  125. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/cli.py +0 -0
  126. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/generation.py +0 -0
  127. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/limits.py +0 -0
  128. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/loading.py +0 -0
  129. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/LICENSE +0 -0
  130. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/__init__.py +0 -0
  131. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/detokenization/__init__.py +0 -0
  132. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/detokenization/base.py +0 -0
  133. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/detokenization/bpe.py +0 -0
  134. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/detokenization/naive.py +0 -0
  135. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/detokenization/spm.py +0 -0
  136. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/loading.py +0 -0
  137. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/tokenization.py +0 -0
  138. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/mlx/tokenization/types.py +0 -0
  139. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/__init__.py +0 -0
  140. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/__init__.py +0 -0
  141. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/openai/protocol/chatcompletion/__init__.py +0 -0
  142. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/__init__.py +0 -0
  143. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/LICENSE +0 -0
  144. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/__init__.py +0 -0
  145. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/__init__.py +0 -0
  146. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/__main__.py +0 -0
  147. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/attention.py +0 -0
  148. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/cli.py +0 -0
  149. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/fetch.py +0 -0
  150. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/llm.py +0 -0
  151. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/loading.py +0 -0
  152. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/quantization.py +0 -0
  153. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/sampling.py +0 -0
  154. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/tokenization.py +0 -0
  155. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/llama3/transformer.py +0 -0
  156. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/sdxl/__init__.py +0 -0
  157. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/sdxl/__main__.py +0 -0
  158. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/sdxl/cli.py +0 -0
  159. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/sdxl/clip.py +0 -0
  160. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/sdxl/sdxl.py +0 -0
  161. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/models/sdxl/unet.py +0 -0
  162. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/tinygrad/tinygrad.py +0 -0
  163. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/torch/__init__.py +0 -0
  164. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/torch/backends.py +0 -0
  165. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/torch/devices.py +0 -0
  166. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/backends/torch/purge.py +0 -0
  167. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/__init__.py +0 -0
  168. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/__main__.py +0 -0
  169. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/backends/__init__.py +0 -0
  170. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/backends/inject.py +0 -0
  171. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/backends/standard.py +0 -0
  172. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/inject.py +0 -0
  173. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/__init__.py +0 -0
  174. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/base.py +0 -0
  175. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/__init__.py +0 -0
  176. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/base.py +0 -0
  177. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/chat/state.py +0 -0
  178. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/completion/__init__.py +0 -0
  179. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/completion/completion.py +0 -0
  180. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/embedding/__init__.py +0 -0
  181. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/embedding/embedding.py +0 -0
  182. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/sessions/inject.py +0 -0
  183. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/state.py +0 -0
  184. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/tools/__init__.py +0 -0
  185. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/cli/tools/weather.py +0 -0
  186. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/datasets/__init__.py +0 -0
  187. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/datasets/lib/__init__.py +0 -0
  188. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/datasets/lib/movies.py +0 -0
  189. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/huggingface.py +0 -0
  190. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/_typedvalues.py +0 -0
  191. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/__init__.py +0 -0
  192. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/catalogs/__init__.py +0 -0
  193. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/catalogs/base.py +0 -0
  194. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/catalogs/simple.py +0 -0
  195. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/catalogs/strings.py +0 -0
  196. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/__init__.py +0 -0
  197. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/anthropic/__init__.py +0 -0
  198. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/duckduckgo/__init__.py +0 -0
  199. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/duckduckgo/search.py +0 -0
  200. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/google/__init__.py +0 -0
  201. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/google/names.py +0 -0
  202. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/google/search.py +0 -0
  203. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/google/tools.py +0 -0
  204. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/huggingface/__init__.py +0 -0
  205. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/huggingface/configs.py +0 -0
  206. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/huggingface/repos.py +0 -0
  207. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/llamacpp/__init__.py +0 -0
  208. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/llamacpp/completion.py +0 -0
  209. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/mlx/__init__.py +0 -0
  210. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/openai/__init__.py +0 -0
  211. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/openai/completion.py +0 -0
  212. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/openai/embedding.py +0 -0
  213. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/openai/names.py +0 -0
  214. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/sentencepiece/__init__.py +0 -0
  215. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/sentencepiece/tokens.py +0 -0
  216. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/sqlite.py +0 -0
  217. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/tinygrad/__init__.py +0 -0
  218. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/tokenizers/__init__.py +0 -0
  219. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/tokenizers/tokens.py +0 -0
  220. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/transformers/__init__.py +0 -0
  221. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/transformers/sentence.py +0 -0
  222. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/impls/transformers/tokens.py +0 -0
  223. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/strings/__init__.py +0 -0
  224. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/strings/manifests.py +0 -0
  225. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/strings/parsing.py +0 -0
  226. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/backends/strings/resolving.py +0 -0
  227. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/__init__.py +0 -0
  228. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/choices/__init__.py +0 -0
  229. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/choices/services.py +0 -0
  230. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/formats.py +0 -0
  231. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/metadata.py +0 -0
  232. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/stream/__init__.py +0 -0
  233. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/templating.py +0 -0
  234. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/tools/__init__.py +0 -0
  235. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/tools/types.py +0 -0
  236. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/transforms/__init__.py +0 -0
  237. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/chat/types.py +0 -0
  238. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/completion.py +0 -0
  239. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/configs.py +0 -0
  240. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/__init__.py +0 -0
  241. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/images.py +0 -0
  242. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/metadata.py +0 -0
  243. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/namespaces.py +0 -0
  244. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/placeholders.py +0 -0
  245. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/sequence.py +0 -0
  246. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/simple.py +0 -0
  247. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/text.py +0 -0
  248. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/transforms/__init__.py +0 -0
  249. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/transforms/base.py +0 -0
  250. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/transforms/interleave.py +0 -0
  251. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/transforms/squeeze.py +0 -0
  252. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/transforms/stringify.py +0 -0
  253. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/transforms/strings.py +0 -0
  254. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/content/types.py +0 -0
  255. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/docs/__init__.py +0 -0
  256. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/docs/docs.py +0 -0
  257. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/docs/dtypes.py +0 -0
  258. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/docs/filters.py +0 -0
  259. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/envs.py +0 -0
  260. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/__init__.py +0 -0
  261. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/bash.py +0 -0
  262. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/code/__init__.py +0 -0
  263. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/code/prompts.py +0 -0
  264. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/__init__.py +0 -0
  265. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/binfiles.py +0 -0
  266. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/suggestions.py +0 -0
  267. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/tools/__init__.py +0 -0
  268. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/tools/recursivels/__init__.py +0 -0
  269. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/tools/recursivels/rendering.py +0 -0
  270. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/fs/tools/recursivels/running.py +0 -0
  271. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/todo/__init__.py +0 -0
  272. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/lib/todo/tools/__init__.py +0 -0
  273. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/llms/__init__.py +0 -0
  274. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/llms/tokens.py +0 -0
  275. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/llms/types.py +0 -0
  276. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/metadata.py +0 -0
  277. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/models/__init__.py +0 -0
  278. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/models/configs.py +0 -0
  279. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/models/names.py +0 -0
  280. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/models/repos/__init__.py +0 -0
  281. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/models/repos/resolving.py +0 -0
  282. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/registries/__init__.py +0 -0
  283. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/registries/globals.py +0 -0
  284. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/registries/manifests.py +0 -0
  285. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/registries/registry.py +0 -0
  286. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/resources.py +0 -0
  287. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/search.py +0 -0
  288. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/services/__init__.py +0 -0
  289. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/services/_origclasses.py +0 -0
  290. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/services/_typedvalues.py +0 -0
  291. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/services/facades.py +0 -0
  292. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/services/requests.py +0 -0
  293. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/services/responses.py +0 -0
  294. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/services/services.py +0 -0
  295. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/standard.py +0 -0
  296. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/stream/__init__.py +0 -0
  297. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/stream/services.py +0 -0
  298. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/stream/wrap.py +0 -0
  299. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/__init__.py +0 -0
  300. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/applypatch.py +0 -0
  301. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/__init__.py +0 -0
  302. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/base.py +0 -0
  303. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/dumb.py +0 -0
  304. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/llamacpp/LICENSE +0 -0
  305. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/llamacpp/__init__.py +0 -0
  306. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/llamacpp/hermes2.py +0 -0
  307. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/llamacpp/llama31.py +0 -0
  308. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/llamacpp/types.py +0 -0
  309. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/text/toolparsing/llamacpp/utils.py +0 -0
  310. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tokens/__init__.py +0 -0
  311. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tokens/specials.py +0 -0
  312. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tokens/tokenizers.py +0 -0
  313. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tokens/types.py +0 -0
  314. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tokens/vocabs.py +0 -0
  315. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/__init__.py +0 -0
  316. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/execution/__init__.py +0 -0
  317. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/execution/context.py +0 -0
  318. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/tools/execution/errors.py +0 -0
  319. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/types.py +0 -0
  320. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/utils.py +0 -0
  321. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/vectors/__init__.py +0 -0
  322. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/vectors/embeddings.py +0 -0
  323. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/vectors/index.py +0 -0
  324. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/vectors/search.py +0 -0
  325. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/vectors/similarity.py +0 -0
  326. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/vectors/stores.py +0 -0
  327. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/minichain/vectors/types.py +0 -0
  328. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/server/__init__.py +0 -0
  329. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/server/__main__.py +0 -0
  330. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/server/cli.py +0 -0
  331. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/server/client.py +0 -0
  332. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/server/service.py +0 -0
  333. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/tools/__init__.py +0 -0
  334. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/__init__.py +0 -0
  335. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/analyze.py +0 -0
  336. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/convert.py +0 -0
  337. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/models.py +0 -0
  338. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/text/__init__.py +0 -0
  339. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/text/mfh.py +0 -0
  340. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/text/wtp.py +0 -0
  341. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/utils/__init__.py +0 -0
  342. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/utils/io.py +0 -0
  343. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/utils/progress.py +0 -0
  344. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/utils/xml.py +0 -0
  345. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds/wiki/xml.py +0 -0
  346. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds.egg-info/dependency_links.txt +0 -0
  347. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds.egg-info/entry_points.txt +0 -0
  348. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/ommlds.egg-info/top_level.txt +0 -0
  349. {ommlds-0.0.0.dev450 → ommlds-0.0.0.dev452}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ommlds
3
- Version: 0.0.0.dev450
3
+ Version: 0.0.0.dev452
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.dev450
18
- Requires-Dist: omlish==0.0.0.dev450
17
+ Requires-Dist: omdev==0.0.0.dev452
18
+ Requires-Dist: omlish==0.0.0.dev452
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"
@@ -18,7 +18,7 @@
18
18
  "module": ".minichain.backends.impls.anthropic.chat",
19
19
  "attr": null,
20
20
  "file": "ommlds/minichain/backends/impls/anthropic/chat.py",
21
- "line": 30,
21
+ "line": 39,
22
22
  "value": {
23
23
  "!.minichain.registries.manifests.RegistryManifest": {
24
24
  "module": "ommlds.minichain.backends.impls.anthropic.chat",
@@ -47,9 +47,9 @@
47
47
  "claude-opus-4-1-20250805": null,
48
48
  "claude-opus-4-1": "claude-opus-4-1-20250805",
49
49
  "claude-opus": "claude-opus-4-1",
50
- "claude-sonnet-4-20250514": null,
51
- "claude-sonnet-4": "claude-sonnet-4-20250514",
52
- "claude-sonnet": "claude-sonnet-4",
50
+ "claude-sonnet-4-5-20250929": null,
51
+ "claude-sonnet-4-5": "claude-sonnet-4-5-20250929",
52
+ "claude-sonnet": "claude-sonnet-4-5",
53
53
  "claude-3-5-haiku-latest": null,
54
54
  "claude-haiku-3-5-latest": "claude-3-5-haiku-latest",
55
55
  "claude-haiku-3-5": "claude-haiku-3-5-latest",
@@ -96,7 +96,7 @@
96
96
  "module": ".minichain.backends.impls.google.chat",
97
97
  "attr": null,
98
98
  "file": "ommlds/minichain/backends/impls/google/chat.py",
99
- "line": 33,
99
+ "line": 35,
100
100
  "value": {
101
101
  "!.minichain.registries.manifests.RegistryManifest": {
102
102
  "module": "ommlds.minichain.backends.impls.google.chat",
@@ -170,7 +170,7 @@
170
170
  "module": ".minichain.backends.impls.llamacpp.chat",
171
171
  "attr": null,
172
172
  "file": "ommlds/minichain/backends/impls/llamacpp/chat.py",
173
- "line": 32,
173
+ "line": 33,
174
174
  "value": {
175
175
  "!.minichain.registries.manifests.RegistryManifest": {
176
176
  "module": "ommlds.minichain.backends.impls.llamacpp.chat",
@@ -260,7 +260,7 @@
260
260
  "module": ".minichain.backends.impls.openai.chat",
261
261
  "attr": null,
262
262
  "file": "ommlds/minichain/backends/impls/openai/chat.py",
263
- "line": 34,
263
+ "line": 37,
264
264
  "value": {
265
265
  "!.minichain.registries.manifests.RegistryManifest": {
266
266
  "module": "ommlds.minichain.backends.impls.openai.chat",
@@ -402,7 +402,7 @@
402
402
  "module": ".minichain.backends.impls.tinygrad.chat",
403
403
  "attr": null,
404
404
  "file": "ommlds/minichain/backends/impls/tinygrad/chat.py",
405
- "line": 161,
405
+ "line": 166,
406
406
  "value": {
407
407
  "!.minichain.backends.strings.manifests.BackendStringsManifest": {
408
408
  "service_cls_names": [
@@ -435,7 +435,7 @@
435
435
  "module": ".minichain.backends.impls.transformers.transformers",
436
436
  "attr": null,
437
437
  "file": "ommlds/minichain/backends/impls/transformers/transformers.py",
438
- "line": 41,
438
+ "line": 43,
439
439
  "value": {
440
440
  "!.minichain.registries.manifests.RegistryManifest": {
441
441
  "module": "ommlds.minichain.backends.impls.transformers.transformers",
@@ -452,7 +452,7 @@
452
452
  "module": ".minichain.backends.impls.transformers.transformers",
453
453
  "attr": null,
454
454
  "file": "ommlds/minichain/backends/impls/transformers/transformers.py",
455
- "line": 127,
455
+ "line": 131,
456
456
  "value": {
457
457
  "!.minichain.registries.manifests.RegistryManifest": {
458
458
  "module": "ommlds.minichain.backends.impls.transformers.transformers",
@@ -592,7 +592,7 @@
592
592
  "module": ".tools.git",
593
593
  "attr": null,
594
594
  "file": "ommlds/tools/git.py",
595
- "line": 172,
595
+ "line": 188,
596
596
  "value": {
597
597
  "!omdev.tools.git.messages.GitMessageGeneratorManifest": {
598
598
  "module": "ommlds.tools.git",
@@ -606,7 +606,7 @@
606
606
  "module": ".tools.ocr",
607
607
  "attr": "_CLI_MODULE",
608
608
  "file": "ommlds/tools/ocr.py",
609
- "line": 83,
609
+ "line": 89,
610
610
  "value": {
611
611
  "!omdev.cli.types.CliModule": {
612
612
  "name": "ocr",
@@ -8,7 +8,7 @@ from .types import Content
8
8
 
9
9
 
10
10
  @lang.static_init
11
- def _install_standard_marshalling() -> None:
11
+ def _install_standard_marshaling() -> None:
12
12
  for root_cls in [
13
13
  Content,
14
14
  Content.CacheControl,
@@ -17,7 +17,7 @@ def _install_standard_marshalling() -> None:
17
17
  msh.polymorphism_from_subclasses(
18
18
  root_cls,
19
19
  naming=msh.Naming.SNAKE,
20
- strip_suffix='auto',
20
+ strip_suffix=msh.AutoStripSuffix,
21
21
  ),
22
22
  msh.FieldTypeTagging('type'),
23
23
  ))
@@ -8,7 +8,7 @@ from .events import AnthropicSseDecoderEvents
8
8
 
9
9
 
10
10
  @lang.static_init
11
- def _install_standard_marshalling() -> None:
11
+ def _install_standard_marshaling() -> None:
12
12
  for root_cls in [
13
13
  AnthropicSseDecoderEvents.Event,
14
14
  AnthropicSseDecoderEvents.ContentBlockStart.ContentBlock,
@@ -76,7 +76,7 @@ class AnthropicSseMessageAssembler(
76
76
  elif isinstance(ae, AnthropicSseDecoderEvents.MessageStop):
77
77
  yield [Message(
78
78
  id=ms.message.id,
79
- role=ms.message.role,
79
+ role=ms.message.role, # type: ignore[arg-type]
80
80
  model=ms.message.model,
81
81
  content=content,
82
82
  stop_reason=dct['stop_reason'],
@@ -1,3 +1,6 @@
1
+ """
2
+ https://docs.claude.com/en/api/messages
3
+ """
1
4
  import typing as ta
2
5
 
3
6
  from omlish import dataclasses as dc
@@ -8,6 +11,22 @@ from omlish import marshal as msh
8
11
  ##
9
12
 
10
13
 
14
+ def _set_class_marshal_options(cls):
15
+ msh.update_object_metadata(
16
+ cls,
17
+ field_defaults=msh.FieldMetadata(
18
+ options=msh.FieldOptions(
19
+ omit_if=lang.is_none,
20
+ ),
21
+ ),
22
+ )
23
+
24
+ return cls
25
+
26
+
27
+ ##
28
+
29
+
11
30
  class Content(lang.Abstract, lang.Sealed):
12
31
  class CacheControl(lang.Abstract, lang.Sealed):
13
32
  """https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching"""
@@ -18,7 +37,7 @@ class Content(lang.Abstract, lang.Sealed):
18
37
 
19
38
 
20
39
  @dc.dataclass(frozen=True)
21
- @msh.update_fields_metadata(['cache_control'], omit_if=lang.is_none)
40
+ @_set_class_marshal_options
22
41
  class Text(Content):
23
42
  text: str
24
43
 
@@ -28,7 +47,7 @@ class Text(Content):
28
47
 
29
48
 
30
49
  @dc.dataclass(frozen=True)
31
- @msh.update_fields_metadata(['cache_control'], omit_if=lang.is_none)
50
+ @_set_class_marshal_options
32
51
  class ToolUse(Content):
33
52
  id: str
34
53
  name: str
@@ -40,6 +59,7 @@ class ToolUse(Content):
40
59
 
41
60
 
42
61
  @dc.dataclass(frozen=True)
62
+ @_set_class_marshal_options
43
63
  class ToolResult(Content):
44
64
  tool_use_id: str
45
65
  content: str
@@ -49,7 +69,7 @@ class ToolResult(Content):
49
69
 
50
70
 
51
71
  @dc.dataclass(frozen=True, kw_only=True)
52
- @msh.update_object_metadata(field_defaults=msh.FieldMetadata(options=msh.FieldOptions(omit_if=lang.is_none)))
72
+ @_set_class_marshal_options
53
73
  class CacheCreation:
54
74
  ephemeral_5m_input_tokens: int | None = None
55
75
  ephemeral_1h_input_tokens: int | None = None
@@ -59,7 +79,7 @@ class CacheCreation:
59
79
 
60
80
 
61
81
  @dc.dataclass(frozen=True, kw_only=True)
62
- @msh.update_object_metadata(field_defaults=msh.FieldMetadata(options=msh.FieldOptions(omit_if=lang.is_none)))
82
+ @_set_class_marshal_options
63
83
  class Usage:
64
84
  input_tokens: int | None = None
65
85
  output_tokens: int | None = None
@@ -75,15 +95,15 @@ class Usage:
75
95
 
76
96
 
77
97
  @dc.dataclass(frozen=True, kw_only=True)
78
- @msh.update_object_metadata(field_defaults=msh.FieldMetadata(options=msh.FieldOptions(omit_if=lang.is_none)))
98
+ @_set_class_marshal_options
79
99
  class Message:
80
100
  id: str | None = None
81
101
 
82
- role: str | None = None
102
+ role: ta.Literal['user', 'assistant']
83
103
 
84
104
  model: str | None = None
85
105
 
86
- content: ta.Sequence[Content] | None = None
106
+ content: str | ta.Sequence[Content] | None = None
87
107
 
88
108
  stop_reason: str | None = None
89
109
  stop_sequence: str | None = None
@@ -95,6 +115,7 @@ class Message:
95
115
 
96
116
 
97
117
  @dc.dataclass(frozen=True)
118
+ @_set_class_marshal_options
98
119
  class ToolSpec:
99
120
  name: str
100
121
  description: str
@@ -105,7 +126,7 @@ class ToolSpec:
105
126
 
106
127
 
107
128
  @dc.dataclass(frozen=True)
108
- @msh.update_object_metadata(field_defaults=msh.FieldMetadata(options=msh.FieldOptions(omit_if=lang.is_none)))
129
+ @_set_class_marshal_options
109
130
  class MessagesRequest:
110
131
  model: str
111
132
 
@@ -113,7 +134,7 @@ class MessagesRequest:
113
134
 
114
135
  _: dc.KW_ONLY
115
136
 
116
- system: ta.Sequence[Content] | None = None
137
+ system: str | ta.Sequence[Content] | None = None
117
138
 
118
139
  tools: ta.Sequence[ToolSpec] | None = None
119
140
 
@@ -8,7 +8,7 @@ from .types import Value
8
8
 
9
9
 
10
10
  @lang.static_init
11
- def _install_standard_marshalling() -> None:
11
+ def _install_standard_marshaling() -> None:
12
12
  msh.install_standard_factories(
13
13
  *msh.standard_polymorphism_factories(
14
14
  msh.polymorphism_from_subclasses(Value),
@@ -0,0 +1,18 @@
1
+ from omlish import lang
2
+ from omlish import marshal as msh
3
+
4
+
5
+ ##
6
+
7
+
8
+ def _set_class_marshal_options(cls):
9
+ msh.update_object_metadata(
10
+ cls,
11
+ field_defaults=msh.FieldMetadata(
12
+ options=msh.FieldOptions(
13
+ omit_if=lang.is_none,
14
+ ),
15
+ ),
16
+ )
17
+
18
+ return cls
@@ -10,7 +10,7 @@ from .chatcompletion.responseformat import ChatCompletionResponseFormat
10
10
 
11
11
 
12
12
  @lang.static_init
13
- def _install_standard_marshalling() -> None:
13
+ def _install_standard_marshaling() -> None:
14
14
  for root_cls, tag_field in [
15
15
  (ChatCompletionContentPart, 'type'),
16
16
  (ChatCompletionMessage, 'role'),
@@ -20,7 +20,8 @@ def _install_standard_marshalling() -> None:
20
20
  msh.polymorphism_from_subclasses(
21
21
  root_cls,
22
22
  naming=msh.Naming.SNAKE,
23
- strip_suffix='auto',
23
+ strip_suffix=msh.AutoStripSuffix,
24
24
  ),
25
25
  msh.FieldTypeTagging(tag_field),
26
+ unions='partial',
26
27
  ))
@@ -3,6 +3,7 @@ import typing as ta
3
3
  from omlish import dataclasses as dc
4
4
  from omlish import lang
5
5
 
6
+ from .._common import _set_class_marshal_options
6
7
  from ..completionusage import CompletionUsage
7
8
  from .tokenlogprob import ChatCompletionTokenLogprob
8
9
 
@@ -11,6 +12,7 @@ from .tokenlogprob import ChatCompletionTokenLogprob
11
12
 
12
13
 
13
14
  @dc.dataclass(frozen=True, kw_only=True)
15
+ @_set_class_marshal_options
14
16
  class ChatCompletionChunkChoiceDelta(lang.Final):
15
17
  content: str | None = None
16
18
 
@@ -46,6 +48,7 @@ class ChatCompletionChunkChoiceDelta(lang.Final):
46
48
 
47
49
 
48
50
  @dc.dataclass(frozen=True, kw_only=True)
51
+ @_set_class_marshal_options
49
52
  class ChatCompletionChunkChoice(lang.Final):
50
53
  delta: ChatCompletionChunkChoiceDelta
51
54
 
@@ -70,6 +73,7 @@ class ChatCompletionChunkChoice(lang.Final):
70
73
 
71
74
 
72
75
  @dc.dataclass(frozen=True, kw_only=True)
76
+ @_set_class_marshal_options
73
77
  class ChatCompletionChunk(lang.Final):
74
78
  id: str
75
79
 
@@ -3,6 +3,8 @@ import typing as ta
3
3
  from omlish import dataclasses as dc
4
4
  from omlish import lang
5
5
 
6
+ from .._common import _set_class_marshal_options
7
+
6
8
 
7
9
  ##
8
10
 
@@ -14,7 +16,8 @@ class ChatCompletionContentPart(lang.Abstract):
14
16
  #
15
17
 
16
18
 
17
- @dc.dataclass(frozen=True, kw_only=True)
19
+ @dc.dataclass(frozen=True)
20
+ @_set_class_marshal_options
18
21
  class TextChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
19
22
  text: str
20
23
 
@@ -22,9 +25,10 @@ class TextChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
22
25
  #
23
26
 
24
27
 
25
- @dc.dataclass(frozen=True, kw_only=True)
28
+ @dc.dataclass(frozen=True)
29
+ @_set_class_marshal_options
26
30
  class ImageUrlChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
27
- @dc.dataclass(frozen=True, kw_only=True)
31
+ @dc.dataclass(frozen=True)
28
32
  class ImageUrl(lang.Final):
29
33
  url: str
30
34
  detail: ta.Literal[
@@ -39,7 +43,8 @@ class ImageUrlChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
39
43
  #
40
44
 
41
45
 
42
- @dc.dataclass(frozen=True, kw_only=True)
46
+ @dc.dataclass(frozen=True)
47
+ @_set_class_marshal_options
43
48
  class FileChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
44
49
  @dc.dataclass(frozen=True, kw_only=True)
45
50
  class File(lang.Final):
@@ -53,9 +58,11 @@ class FileChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
53
58
  #
54
59
 
55
60
 
56
- @dc.dataclass(frozen=True, kw_only=True)
61
+ @dc.dataclass(frozen=True)
62
+ @_set_class_marshal_options
57
63
  class InputAudioChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
58
- @dc.dataclass(frozen=True, kw_only=True)
64
+ @dc.dataclass(frozen=True)
65
+ @_set_class_marshal_options
59
66
  class InputAudio(lang.Final):
60
67
  data: str
61
68
  format: ta.Literal[
@@ -69,6 +76,7 @@ class InputAudioChatCompletionContentPart(ChatCompletionContentPart, lang.Final)
69
76
  #
70
77
 
71
78
 
72
- @dc.dataclass(frozen=True, kw_only=True)
79
+ @dc.dataclass(frozen=True)
80
+ @_set_class_marshal_options
73
81
  class RefusalChatCompletionContentPart(ChatCompletionContentPart, lang.Final):
74
82
  refusal: str
@@ -3,6 +3,7 @@ import typing as ta
3
3
  from omlish import dataclasses as dc
4
4
  from omlish import lang
5
5
 
6
+ from .._common import _set_class_marshal_options
6
7
  from .contentpart import ChatCompletionContentPart
7
8
  from .contentpart import RefusalChatCompletionContentPart
8
9
  from .contentpart import TextChatCompletionContentPart
@@ -19,6 +20,7 @@ class ChatCompletionMessage(lang.Abstract, lang.Sealed):
19
20
 
20
21
 
21
22
  @dc.dataclass(frozen=True, kw_only=True)
23
+ @_set_class_marshal_options
22
24
  class DeveloperChatCompletionMessage(ChatCompletionMessage, lang.Final):
23
25
  content: str | ta.Iterable[TextChatCompletionContentPart]
24
26
  name: str | None = None
@@ -28,6 +30,7 @@ class DeveloperChatCompletionMessage(ChatCompletionMessage, lang.Final):
28
30
 
29
31
 
30
32
  @dc.dataclass(frozen=True, kw_only=True)
33
+ @_set_class_marshal_options
31
34
  class SystemChatCompletionMessage(ChatCompletionMessage, lang.Final):
32
35
  content: str | ta.Iterable[TextChatCompletionContentPart]
33
36
  name: str | None = None
@@ -37,6 +40,7 @@ class SystemChatCompletionMessage(ChatCompletionMessage, lang.Final):
37
40
 
38
41
 
39
42
  @dc.dataclass(frozen=True, kw_only=True)
43
+ @_set_class_marshal_options
40
44
  class UserChatCompletionMessage(ChatCompletionMessage, lang.Final):
41
45
  content: str | ta.Iterable[ChatCompletionContentPart]
42
46
  name: str | None = None
@@ -46,8 +50,10 @@ class UserChatCompletionMessage(ChatCompletionMessage, lang.Final):
46
50
 
47
51
 
48
52
  @dc.dataclass(frozen=True, kw_only=True)
53
+ @_set_class_marshal_options
49
54
  class AssistantChatCompletionMessage(ChatCompletionMessage, lang.Final):
50
55
  @dc.dataclass(frozen=True, kw_only=True)
56
+ @_set_class_marshal_options
51
57
  class Audio(lang.Final):
52
58
  id: str
53
59
 
@@ -60,10 +66,12 @@ class AssistantChatCompletionMessage(ChatCompletionMessage, lang.Final):
60
66
  refusal: str | None = None
61
67
 
62
68
  @dc.dataclass(frozen=True, kw_only=True)
69
+ @_set_class_marshal_options
63
70
  class ToolCall(lang.Final):
64
71
  id: str
65
72
 
66
73
  @dc.dataclass(frozen=True, kw_only=True)
74
+ @_set_class_marshal_options
67
75
  class Function(lang.Final):
68
76
  arguments: str
69
77
  name: str
@@ -79,6 +87,7 @@ class AssistantChatCompletionMessage(ChatCompletionMessage, lang.Final):
79
87
 
80
88
 
81
89
  @dc.dataclass(frozen=True, kw_only=True)
90
+ @_set_class_marshal_options
82
91
  class ToolChatCompletionMessage(ChatCompletionMessage, lang.Final):
83
92
  content: str | ta.Iterable[TextChatCompletionContentPart]
84
93
  tool_call_id: str
@@ -88,6 +97,7 @@ class ToolChatCompletionMessage(ChatCompletionMessage, lang.Final):
88
97
 
89
98
 
90
99
  @dc.dataclass(frozen=True, kw_only=True)
100
+ @_set_class_marshal_options
91
101
  class FunctionChatCompletionMessage(ChatCompletionMessage, lang.Final):
92
102
  content: str | None
93
103
  name: str
@@ -4,6 +4,7 @@ import typing as ta
4
4
  from omlish import dataclasses as dc
5
5
  from omlish import lang
6
6
 
7
+ from .._common import _set_class_marshal_options
7
8
  from .contentpart import TextChatCompletionContentPart
8
9
  from .message import ChatCompletionMessage
9
10
  from .responseformat import ChatCompletionResponseFormat
@@ -13,6 +14,7 @@ from .responseformat import ChatCompletionResponseFormat
13
14
 
14
15
 
15
16
  @dc.dataclass(frozen=True, kw_only=True)
17
+ @_set_class_marshal_options
16
18
  class ChatCompletionRequestWebSearchOptions(lang.Final):
17
19
  search_context_size: ta.Literal[
18
20
  'low',
@@ -21,8 +23,10 @@ class ChatCompletionRequestWebSearchOptions(lang.Final):
21
23
  ] | None = None
22
24
 
23
25
  @dc.dataclass(frozen=True, kw_only=True)
26
+ @_set_class_marshal_options
24
27
  class UserLocation(lang.Final):
25
28
  @dc.dataclass(frozen=True, kw_only=True)
29
+ @_set_class_marshal_options
26
30
  class Approximate(lang.Final):
27
31
  city: str | None = None
28
32
  country: str | None = None
@@ -30,7 +34,8 @@ class ChatCompletionRequestWebSearchOptions(lang.Final):
30
34
  timezone: str | None = None
31
35
 
32
36
  approximate: Approximate
33
- type: ta.Literal['approximate'] | None = None
37
+
38
+ type: ta.Literal['approximate'] = dc.xfield('approximate', repr=False, kw_only=True)
34
39
 
35
40
  user_location: UserLocation | None = None
36
41
 
@@ -39,17 +44,21 @@ class ChatCompletionRequestWebSearchOptions(lang.Final):
39
44
 
40
45
 
41
46
  @dc.dataclass(frozen=True, kw_only=True)
47
+ @_set_class_marshal_options
42
48
  class ChatCompletionRequestPrediction(lang.Final):
43
49
  content: str | ta.Iterable[TextChatCompletionContentPart]
44
- type: ta.Literal['content'] | None = None
50
+
51
+ type: ta.Literal['content'] = dc.xfield('content', repr=False, kw_only=True)
45
52
 
46
53
 
47
54
  #
48
55
 
49
56
 
50
- @dc.dataclass(frozen=True, kw_only=True)
57
+ @dc.dataclass(frozen=True)
58
+ @_set_class_marshal_options
51
59
  class ChatCompletionRequestTool(lang.Final):
52
60
  @dc.dataclass(frozen=True, kw_only=True)
61
+ @_set_class_marshal_options
53
62
  class Function(lang.Final):
54
63
  name: str
55
64
  description: str | None = None
@@ -57,26 +66,31 @@ class ChatCompletionRequestTool(lang.Final):
57
66
  strict: bool | None = None
58
67
 
59
68
  function: Function
60
- type: ta.Literal['function'] | None = None
69
+
70
+ type: ta.Literal['function'] = dc.xfield('function', repr=False, kw_only=True)
61
71
 
62
72
 
63
73
  #
64
74
 
65
75
 
66
- @dc.dataclass(frozen=True, kw_only=True)
76
+ @dc.dataclass(frozen=True)
77
+ @_set_class_marshal_options
67
78
  class ChatCompletionRequestNamedToolChoice(lang.Final):
68
- @dc.dataclass(frozen=True, kw_only=True)
79
+ @dc.dataclass(frozen=True)
80
+ @_set_class_marshal_options
69
81
  class Function(lang.Final):
70
82
  name: str
71
83
 
72
84
  function: Function
73
- type: ta.Literal['function'] | None = None
85
+
86
+ type: ta.Literal['function'] = dc.xfield('function', repr=False, kw_only=True)
74
87
 
75
88
 
76
89
  #
77
90
 
78
91
 
79
92
  @dc.dataclass(frozen=True, kw_only=True)
93
+ @_set_class_marshal_options
80
94
  class ChatCompletionRequestAudio(lang.Final):
81
95
  format: ta.Literal[
82
96
  'wav',
@@ -94,6 +108,7 @@ class ChatCompletionRequestAudio(lang.Final):
94
108
 
95
109
 
96
110
  @dc.dataclass(frozen=True, kw_only=True)
111
+ @_set_class_marshal_options
97
112
  class ChatCompletionRequest(lang.Final):
98
113
  messages: ta.Iterable[ChatCompletionMessage]
99
114
 
@@ -143,7 +158,10 @@ class ChatCompletionRequest(lang.Final):
143
158
 
144
159
  store: bool | None = None
145
160
 
161
+ stream: bool | None = None
162
+
146
163
  @dc.dataclass(frozen=True, kw_only=True)
164
+ @_set_class_marshal_options
147
165
  class StreamOptions(lang.Final):
148
166
  include_usage: bool | None = None
149
167
 
@@ -3,6 +3,7 @@ import typing as ta
3
3
  from omlish import dataclasses as dc
4
4
  from omlish import lang
5
5
 
6
+ from .._common import _set_class_marshal_options
6
7
  from ..completionusage import CompletionUsage
7
8
  from .tokenlogprob import ChatCompletionTokenLogprob
8
9
 
@@ -11,16 +12,19 @@ from .tokenlogprob import ChatCompletionTokenLogprob
11
12
 
12
13
 
13
14
  @dc.dataclass(frozen=True, kw_only=True)
15
+ @_set_class_marshal_options
14
16
  class ChatCompletionResponseMessage(lang.Final):
15
17
  content: str | None = None
16
18
  refusal: str | None = None
17
19
  role: ta.Literal['assistant'] = dc.xfield('assistant', repr=False)
18
20
 
19
21
  @dc.dataclass(frozen=True, kw_only=True)
22
+ @_set_class_marshal_options
20
23
  class Annotation(lang.Final):
21
24
  type: ta.Literal['url_citation'] = dc.xfield('url_citation', repr=False)
22
25
 
23
26
  @dc.dataclass(frozen=True, kw_only=True)
27
+ @_set_class_marshal_options
24
28
  class UrlCitation(lang.Final):
25
29
  end_index: int
26
30
  start_index: int
@@ -32,6 +36,7 @@ class ChatCompletionResponseMessage(lang.Final):
32
36
  annotations: ta.Sequence[Annotation] | None = None
33
37
 
34
38
  @dc.dataclass(frozen=True, kw_only=True)
39
+ @_set_class_marshal_options
35
40
  class Audio(lang.Final):
36
41
  id: str
37
42
  data: str
@@ -41,10 +46,12 @@ class ChatCompletionResponseMessage(lang.Final):
41
46
  audio: Audio | None = None
42
47
 
43
48
  @dc.dataclass(frozen=True, kw_only=True)
49
+ @_set_class_marshal_options
44
50
  class ToolCall(lang.Final):
45
51
  id: str
46
52
 
47
53
  @dc.dataclass(frozen=True, kw_only=True)
54
+ @_set_class_marshal_options
48
55
  class Function(lang.Final):
49
56
  arguments: str
50
57
  name: str
@@ -60,6 +67,7 @@ class ChatCompletionResponseMessage(lang.Final):
60
67
 
61
68
 
62
69
  @dc.dataclass(frozen=True, kw_only=True)
70
+ @_set_class_marshal_options
63
71
  class ChatCompletionResponseChoice(lang.Final):
64
72
  finish_reason: ta.Literal[
65
73
  'stop',
@@ -71,6 +79,7 @@ class ChatCompletionResponseChoice(lang.Final):
71
79
  index: int
72
80
 
73
81
  @dc.dataclass(frozen=True, kw_only=True)
82
+ @_set_class_marshal_options
74
83
  class Logprobs(lang.Final):
75
84
  content: ta.Sequence[ChatCompletionTokenLogprob] | None = None
76
85
  refusal: ta.Sequence[ChatCompletionTokenLogprob] | None = None
@@ -84,6 +93,7 @@ class ChatCompletionResponseChoice(lang.Final):
84
93
 
85
94
 
86
95
  @dc.dataclass(frozen=True, kw_only=True)
96
+ @_set_class_marshal_options
87
97
  class ChatCompletionResponse(lang.Final):
88
98
  id: str
89
99