ommlds 0.0.0.dev472__tar.gz → 0.0.0.dev474__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 (395) hide show
  1. {ommlds-0.0.0.dev472/ommlds.egg-info → ommlds-0.0.0.dev474}/PKG-INFO +10 -7
  2. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/.omlish-manifests.json +3 -3
  3. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/__about__.py +8 -2
  4. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/main.py +1 -1
  5. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/backends/inject.py +2 -1
  6. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/anthropic/stream.py +1 -1
  7. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/google/stream.py +1 -1
  8. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/ollama/chat.py +1 -1
  9. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/openai/stream.py +1 -1
  10. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/tinygrad/chat.py +3 -3
  11. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/strings/parsing.py +1 -1
  12. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/strings/resolving.py +4 -1
  13. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/resources.py +28 -3
  14. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/stream/services.py +19 -16
  15. ommlds-0.0.0.dev474/ommlds/nanochat/LICENSE +21 -0
  16. ommlds-0.0.0.dev474/ommlds/nanochat/rustbpe/LICENSE +21 -0
  17. ommlds-0.0.0.dev474/ommlds/nanochat/tokenizers.py +406 -0
  18. ommlds-0.0.0.dev474/ommlds/wiki/utils/__init__.py +0 -0
  19. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474/ommlds.egg-info}/PKG-INFO +10 -7
  20. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds.egg-info/SOURCES.txt +4 -0
  21. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds.egg-info/requires.txt +10 -6
  22. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/pyproject.toml +11 -7
  23. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/LICENSE +0 -0
  24. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/MANIFEST.in +0 -0
  25. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/README.md +0 -0
  26. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/__init__.py +0 -0
  27. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/_hacks/__init__.py +0 -0
  28. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/_hacks/funcs.py +0 -0
  29. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/_hacks/names.py +0 -0
  30. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/_hacks/params.py +0 -0
  31. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/_hacks/patches.py +0 -0
  32. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/__init__.py +0 -0
  33. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/anthropic/__init__.py +0 -0
  34. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/anthropic/protocol/__init__.py +0 -0
  35. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/anthropic/protocol/_marshal.py +0 -0
  36. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/anthropic/protocol/sse/__init__.py +0 -0
  37. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/anthropic/protocol/sse/_marshal.py +0 -0
  38. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/anthropic/protocol/sse/assemble.py +0 -0
  39. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/anthropic/protocol/sse/events.py +0 -0
  40. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/anthropic/protocol/types.py +0 -0
  41. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/google/__init__.py +0 -0
  42. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/google/protocol/__init__.py +0 -0
  43. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/google/protocol/_marshal.py +0 -0
  44. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/google/protocol/types.py +0 -0
  45. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/huggingface.py +0 -0
  46. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/llamacpp/__init__.py +0 -0
  47. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/llamacpp/buildwheel.py +0 -0
  48. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/llamacpp/logging.py +0 -0
  49. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/__init__.py +0 -0
  50. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/__main__.py +0 -0
  51. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/caching.py +0 -0
  52. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/cli.py +0 -0
  53. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/generation.py +0 -0
  54. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/limits.py +0 -0
  55. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/loading.py +0 -0
  56. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/LICENSE +0 -0
  57. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/__init__.py +0 -0
  58. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/detokenization/__init__.py +0 -0
  59. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/detokenization/base.py +0 -0
  60. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/detokenization/bpe.py +0 -0
  61. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/detokenization/naive.py +0 -0
  62. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/detokenization/spm.py +0 -0
  63. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/loading.py +0 -0
  64. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/tokenization.py +0 -0
  65. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/mlx/tokenization/types.py +0 -0
  66. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/ollama/__init__.py +0 -0
  67. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/ollama/protocol.py +0 -0
  68. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/__init__.py +0 -0
  69. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/__init__.py +0 -0
  70. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/_common.py +0 -0
  71. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/_marshal.py +0 -0
  72. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/chatcompletion/__init__.py +0 -0
  73. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/chatcompletion/chunk.py +0 -0
  74. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/chatcompletion/contentpart.py +0 -0
  75. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/chatcompletion/message.py +0 -0
  76. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/chatcompletion/request.py +0 -0
  77. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/chatcompletion/response.py +0 -0
  78. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/chatcompletion/responseformat.py +0 -0
  79. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/chatcompletion/tokenlogprob.py +0 -0
  80. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/openai/protocol/completionusage.py +0 -0
  81. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/__init__.py +0 -0
  82. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/LICENSE +0 -0
  83. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/__init__.py +0 -0
  84. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/__init__.py +0 -0
  85. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/__main__.py +0 -0
  86. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/attention.py +0 -0
  87. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/cli.py +0 -0
  88. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/fetch.py +0 -0
  89. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/llm.py +0 -0
  90. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/loading.py +0 -0
  91. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/quantization.py +0 -0
  92. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/sampling.py +0 -0
  93. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/tokenization.py +0 -0
  94. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/llama3/transformer.py +0 -0
  95. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/sdxl/__init__.py +0 -0
  96. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/sdxl/__main__.py +0 -0
  97. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/sdxl/cli.py +0 -0
  98. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/sdxl/clip.py +0 -0
  99. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/sdxl/sdxl.py +0 -0
  100. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/models/sdxl/unet.py +0 -0
  101. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/tinygrad/tinygrad.py +0 -0
  102. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/torch/__init__.py +0 -0
  103. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/torch/backends.py +0 -0
  104. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/torch/devices.py +0 -0
  105. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/torch/purge.py +0 -0
  106. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/transformers/__init__.py +0 -0
  107. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/transformers/filecache.py +0 -0
  108. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/backends/transformers/streamers.py +0 -0
  109. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/__init__.py +0 -0
  110. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/__main__.py +0 -0
  111. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/backends/__init__.py +0 -0
  112. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/backends/inject.py +0 -0
  113. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/backends/standard.py +0 -0
  114. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/inject.py +0 -0
  115. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/__init__.py +0 -0
  116. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/base.py +0 -0
  117. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/__init__.py +0 -0
  118. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/backends/__init__.py +0 -0
  119. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/backends/catalog.py +0 -0
  120. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/backends/injection.py +0 -0
  121. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/backends/types.py +0 -0
  122. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/__init__.py +0 -0
  123. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/ai/__init__.py +0 -0
  124. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/ai/inject.py +0 -0
  125. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/ai/injection.py +0 -0
  126. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/ai/rendering.py +0 -0
  127. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/ai/services.py +0 -0
  128. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/ai/tools.py +0 -0
  129. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/ai/types.py +0 -0
  130. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/state/__init__.py +0 -0
  131. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/state/inject.py +0 -0
  132. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/state/inmemory.py +0 -0
  133. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/state/storage.py +0 -0
  134. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/state/types.py +0 -0
  135. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/user/__init__.py +0 -0
  136. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/user/inject.py +0 -0
  137. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/user/interactive.py +0 -0
  138. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/user/oneshot.py +0 -0
  139. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/chat/user/types.py +0 -0
  140. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/configs.py +0 -0
  141. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/content/__init__.py +0 -0
  142. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/content/messages.py +0 -0
  143. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/content/strings.py +0 -0
  144. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/driver.py +0 -0
  145. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/inject.py +0 -0
  146. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/phases/__init__.py +0 -0
  147. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/phases/inject.py +0 -0
  148. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/phases/injection.py +0 -0
  149. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/phases/manager.py +0 -0
  150. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/phases/types.py +0 -0
  151. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/rendering/__init__.py +0 -0
  152. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/rendering/inject.py +0 -0
  153. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/rendering/markdown.py +0 -0
  154. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/rendering/raw.py +0 -0
  155. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/rendering/types.py +0 -0
  156. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/session.py +0 -0
  157. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/tools/__init__.py +0 -0
  158. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/tools/confirmation.py +0 -0
  159. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/tools/execution.py +0 -0
  160. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/tools/inject.py +0 -0
  161. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/tools/injection.py +0 -0
  162. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/tools/rendering.py +0 -0
  163. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/chat/tools/weather.py +0 -0
  164. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/completion/__init__.py +0 -0
  165. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/completion/configs.py +0 -0
  166. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/completion/inject.py +0 -0
  167. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/completion/session.py +0 -0
  168. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/embedding/__init__.py +0 -0
  169. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/embedding/configs.py +0 -0
  170. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/embedding/inject.py +0 -0
  171. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/embedding/session.py +0 -0
  172. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/sessions/inject.py +0 -0
  173. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/state/__init__.py +0 -0
  174. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/state/inject.py +0 -0
  175. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/cli/state/storage.py +0 -0
  176. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/datasets/__init__.py +0 -0
  177. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/datasets/lib/__init__.py +0 -0
  178. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/datasets/lib/movies.py +0 -0
  179. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/__init__.py +0 -0
  180. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/_marshal.py +0 -0
  181. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/_typedvalues.py +0 -0
  182. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/__init__.py +0 -0
  183. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/catalogs/__init__.py +0 -0
  184. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/catalogs/base.py +0 -0
  185. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/catalogs/simple.py +0 -0
  186. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/catalogs/strings.py +0 -0
  187. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/__init__.py +0 -0
  188. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/anthropic/__init__.py +0 -0
  189. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/anthropic/chat.py +0 -0
  190. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/anthropic/names.py +0 -0
  191. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/anthropic/protocol.py +0 -0
  192. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/duckduckgo/__init__.py +0 -0
  193. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/duckduckgo/search.py +0 -0
  194. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/google/__init__.py +0 -0
  195. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/google/chat.py +0 -0
  196. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/google/names.py +0 -0
  197. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/google/search.py +0 -0
  198. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/google/tools.py +0 -0
  199. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/huggingface/__init__.py +0 -0
  200. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/huggingface/configs.py +0 -0
  201. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/huggingface/repos.py +0 -0
  202. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/llamacpp/__init__.py +0 -0
  203. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/llamacpp/chat.py +0 -0
  204. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/llamacpp/completion.py +0 -0
  205. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/llamacpp/format.py +0 -0
  206. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/llamacpp/stream.py +0 -0
  207. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/mistral.py +0 -0
  208. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/mlx/__init__.py +0 -0
  209. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/mlx/chat.py +0 -0
  210. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/ollama/__init__.py +0 -0
  211. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/openai/__init__.py +0 -0
  212. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/openai/chat.py +0 -0
  213. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/openai/completion.py +0 -0
  214. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/openai/embedding.py +0 -0
  215. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/openai/format.py +0 -0
  216. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/openai/names.py +0 -0
  217. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/sentencepiece/__init__.py +0 -0
  218. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/sentencepiece/tokens.py +0 -0
  219. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/sqlite.py +0 -0
  220. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/tinygrad/__init__.py +0 -0
  221. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/tokenizers/__init__.py +0 -0
  222. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/tokenizers/tokens.py +0 -0
  223. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/transformers/__init__.py +0 -0
  224. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/transformers/sentence.py +0 -0
  225. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/transformers/tokens.py +0 -0
  226. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/impls/transformers/transformers.py +0 -0
  227. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/strings/__init__.py +0 -0
  228. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/backends/strings/manifests.py +0 -0
  229. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/__init__.py +0 -0
  230. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/_marshal.py +0 -0
  231. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/choices/__init__.py +0 -0
  232. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/choices/adapters.py +0 -0
  233. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/choices/services.py +0 -0
  234. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/choices/types.py +0 -0
  235. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/formats.py +0 -0
  236. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/history.py +0 -0
  237. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/messages.py +0 -0
  238. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/metadata.py +0 -0
  239. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/services.py +0 -0
  240. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/stream/__init__.py +0 -0
  241. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/stream/_marshal.py +0 -0
  242. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/stream/adapters.py +0 -0
  243. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/stream/joining.py +0 -0
  244. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/stream/services.py +0 -0
  245. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/stream/types.py +0 -0
  246. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/templating.py +0 -0
  247. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/tools/__init__.py +0 -0
  248. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/tools/execution.py +0 -0
  249. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/tools/ids.py +0 -0
  250. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/tools/parsing.py +0 -0
  251. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/tools/types.py +0 -0
  252. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/transforms/__init__.py +0 -0
  253. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/transforms/base.py +0 -0
  254. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/transforms/metadata.py +0 -0
  255. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/transforms/services.py +0 -0
  256. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/chat/types.py +0 -0
  257. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/completion.py +0 -0
  258. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/configs.py +0 -0
  259. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/__init__.py +0 -0
  260. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/_marshal.py +0 -0
  261. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/images.py +0 -0
  262. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/json.py +0 -0
  263. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/materialize.py +0 -0
  264. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/metadata.py +0 -0
  265. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/namespaces.py +0 -0
  266. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/placeholders.py +0 -0
  267. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/prepare.py +0 -0
  268. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/sequence.py +0 -0
  269. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/simple.py +0 -0
  270. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/text.py +0 -0
  271. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/transforms/__init__.py +0 -0
  272. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/transforms/base.py +0 -0
  273. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/transforms/interleave.py +0 -0
  274. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/transforms/squeeze.py +0 -0
  275. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/transforms/stringify.py +0 -0
  276. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/transforms/strings.py +0 -0
  277. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/content/types.py +0 -0
  278. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/docs/__init__.py +0 -0
  279. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/docs/docs.py +0 -0
  280. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/docs/dtypes.py +0 -0
  281. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/docs/filters.py +0 -0
  282. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/envs.py +0 -0
  283. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/json.py +0 -0
  284. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/__init__.py +0 -0
  285. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/bash.py +0 -0
  286. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/code/__init__.py +0 -0
  287. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/code/prompts.py +0 -0
  288. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/__init__.py +0 -0
  289. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/binfiles.py +0 -0
  290. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/context.py +0 -0
  291. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/errors.py +0 -0
  292. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/suggestions.py +0 -0
  293. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/tools/__init__.py +0 -0
  294. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/tools/edit.py +0 -0
  295. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/tools/ls.py +0 -0
  296. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/tools/read.py +0 -0
  297. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/tools/recursivels/__init__.py +0 -0
  298. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/tools/recursivels/execution.py +0 -0
  299. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/tools/recursivels/rendering.py +0 -0
  300. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/fs/tools/recursivels/running.py +0 -0
  301. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/todo/__init__.py +0 -0
  302. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/todo/context.py +0 -0
  303. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/todo/tools/__init__.py +0 -0
  304. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/todo/tools/read.py +0 -0
  305. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/todo/tools/write.py +0 -0
  306. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/lib/todo/types.py +0 -0
  307. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/llms/__init__.py +0 -0
  308. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/llms/_marshal.py +0 -0
  309. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/llms/tokens.py +0 -0
  310. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/llms/types.py +0 -0
  311. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/metadata.py +0 -0
  312. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/models/__init__.py +0 -0
  313. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/models/configs.py +0 -0
  314. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/models/names.py +0 -0
  315. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/models/repos/__init__.py +0 -0
  316. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/models/repos/resolving.py +0 -0
  317. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/registries/__init__.py +0 -0
  318. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/registries/globals.py +0 -0
  319. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/registries/manifests.py +0 -0
  320. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/registries/registry.py +0 -0
  321. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/search.py +0 -0
  322. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/services/__init__.py +0 -0
  323. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/services/_marshal.py +0 -0
  324. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/services/_origclasses.py +0 -0
  325. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/services/_typedvalues.py +0 -0
  326. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/services/facades.py +0 -0
  327. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/services/requests.py +0 -0
  328. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/services/responses.py +0 -0
  329. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/services/services.py +0 -0
  330. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/standard.py +0 -0
  331. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/stream/__init__.py +0 -0
  332. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/stream/wrap.py +0 -0
  333. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/__init__.py +0 -0
  334. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/applypatch.py +0 -0
  335. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/__init__.py +0 -0
  336. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/base.py +0 -0
  337. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/dumb.py +0 -0
  338. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/llamacpp/LICENSE +0 -0
  339. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/llamacpp/__init__.py +0 -0
  340. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/llamacpp/hermes2.py +0 -0
  341. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/llamacpp/llama31.py +0 -0
  342. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/llamacpp/types.py +0 -0
  343. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/text/toolparsing/llamacpp/utils.py +0 -0
  344. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tokens/__init__.py +0 -0
  345. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tokens/specials.py +0 -0
  346. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tokens/tokenizers.py +0 -0
  347. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tokens/types.py +0 -0
  348. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tokens/vocabs.py +0 -0
  349. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/__init__.py +0 -0
  350. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/_marshal.py +0 -0
  351. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/execution/__init__.py +0 -0
  352. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/execution/catalog.py +0 -0
  353. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/execution/context.py +0 -0
  354. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/execution/errors.py +0 -0
  355. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/execution/executors.py +0 -0
  356. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/execution/reflect.py +0 -0
  357. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/fns.py +0 -0
  358. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/jsonschema.py +0 -0
  359. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/reflect.py +0 -0
  360. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/tools/types.py +0 -0
  361. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/types.py +0 -0
  362. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/utils.py +0 -0
  363. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/vectors/__init__.py +0 -0
  364. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/vectors/_marshal.py +0 -0
  365. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/vectors/embeddings.py +0 -0
  366. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/vectors/index.py +0 -0
  367. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/vectors/search.py +0 -0
  368. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/vectors/similarity.py +0 -0
  369. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/vectors/stores.py +0 -0
  370. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/minichain/vectors/types.py +0 -0
  371. {ommlds-0.0.0.dev472/ommlds/server → ommlds-0.0.0.dev474/ommlds/nanochat}/__init__.py +0 -0
  372. {ommlds-0.0.0.dev472/ommlds/tools → ommlds-0.0.0.dev474/ommlds/server}/__init__.py +0 -0
  373. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/server/__main__.py +0 -0
  374. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/server/cli.py +0 -0
  375. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/server/client.py +0 -0
  376. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/server/server.py +0 -0
  377. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/server/service.py +0 -0
  378. {ommlds-0.0.0.dev472/ommlds/wiki → ommlds-0.0.0.dev474/ommlds/tools}/__init__.py +0 -0
  379. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/tools/git.py +0 -0
  380. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/tools/ocr.py +0 -0
  381. {ommlds-0.0.0.dev472/ommlds/wiki/text → ommlds-0.0.0.dev474/ommlds/wiki}/__init__.py +0 -0
  382. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/analyze.py +0 -0
  383. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/convert.py +0 -0
  384. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/models.py +0 -0
  385. {ommlds-0.0.0.dev472/ommlds/wiki/utils → ommlds-0.0.0.dev474/ommlds/wiki/text}/__init__.py +0 -0
  386. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/text/mfh.py +0 -0
  387. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/text/wtp.py +0 -0
  388. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/utils/io.py +0 -0
  389. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/utils/progress.py +0 -0
  390. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/utils/xml.py +0 -0
  391. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds/wiki/xml.py +0 -0
  392. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds.egg-info/dependency_links.txt +0 -0
  393. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds.egg-info/entry_points.txt +0 -0
  394. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/ommlds.egg-info/top_level.txt +0 -0
  395. {ommlds-0.0.0.dev472 → ommlds-0.0.0.dev474}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ommlds
3
- Version: 0.0.0.dev472
3
+ Version: 0.0.0.dev474
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.dev472
18
- Requires-Dist: omlish==0.0.0.dev472
17
+ Requires-Dist: omdev==0.0.0.dev474
18
+ Requires-Dist: omlish==0.0.0.dev474
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"
@@ -27,12 +27,13 @@ Requires-Dist: torch~=2.9; extra == "all"
27
27
  Requires-Dist: transformers~=4.57; extra == "all"
28
28
  Requires-Dist: sentence-transformers~=5.1; extra == "all"
29
29
  Requires-Dist: huggingface-hub~=0.36; extra == "all"
30
- Requires-Dist: datasets~=4.3; extra == "all"
30
+ Requires-Dist: datasets~=4.4; extra == "all"
31
+ Requires-Dist: regex>=2025.0; extra == "all"
31
32
  Requires-Dist: numpy>=1.26; extra == "all"
32
33
  Requires-Dist: pytesseract~=0.3; extra == "all"
33
34
  Requires-Dist: rapidocr-onnxruntime~=1.4; extra == "all"
34
35
  Requires-Dist: pillow~=12.0; extra == "all"
35
- Requires-Dist: ddgs~=9.6; extra == "all"
36
+ Requires-Dist: ddgs~=9.7; extra == "all"
36
37
  Requires-Dist: mwparserfromhell~=0.7; extra == "all"
37
38
  Requires-Dist: wikitextparser~=0.56; extra == "all"
38
39
  Requires-Dist: lxml>=5.3; python_version < "3.13" and extra == "all"
@@ -48,7 +49,9 @@ Requires-Dist: transformers~=4.57; extra == "backends"
48
49
  Requires-Dist: sentence-transformers~=5.1; extra == "backends"
49
50
  Provides-Extra: huggingface
50
51
  Requires-Dist: huggingface-hub~=0.36; extra == "huggingface"
51
- Requires-Dist: datasets~=4.3; extra == "huggingface"
52
+ Requires-Dist: datasets~=4.4; extra == "huggingface"
53
+ Provides-Extra: nanochat
54
+ Requires-Dist: regex>=2025.0; extra == "nanochat"
52
55
  Provides-Extra: numpy
53
56
  Requires-Dist: numpy>=1.26; extra == "numpy"
54
57
  Provides-Extra: ocr
@@ -57,7 +60,7 @@ Requires-Dist: rapidocr-onnxruntime~=1.4; extra == "ocr"
57
60
  Provides-Extra: pillow
58
61
  Requires-Dist: pillow~=12.0; extra == "pillow"
59
62
  Provides-Extra: search
60
- Requires-Dist: ddgs~=9.6; extra == "search"
63
+ Requires-Dist: ddgs~=9.7; extra == "search"
61
64
  Provides-Extra: wiki
62
65
  Requires-Dist: mwparserfromhell~=0.7; extra == "wiki"
63
66
  Requires-Dist: wikitextparser~=0.56; extra == "wiki"
@@ -468,7 +468,7 @@
468
468
  "!.minichain.registries.manifests.RegistryManifest": {
469
469
  "module": "ommlds.minichain.backends.impls.tinygrad.chat",
470
470
  "attr": "TinygradLlama3ChatChoicesService",
471
- "name": "tinygrad_llama3",
471
+ "name": "tinygrad-llama3",
472
472
  "aliases": null,
473
473
  "type": "ChatChoicesService"
474
474
  }
@@ -483,7 +483,7 @@
483
483
  "!.minichain.registries.manifests.RegistryManifest": {
484
484
  "module": "ommlds.minichain.backends.impls.tinygrad.chat",
485
485
  "attr": "TinygradLlama3ChatChoicesStreamService",
486
- "name": "tinygrad_llama3",
486
+ "name": "tinygrad-llama3",
487
487
  "aliases": null,
488
488
  "type": "ChatChoicesStreamService"
489
489
  }
@@ -500,7 +500,7 @@
500
500
  "ChatChoicesService",
501
501
  "ChatChoicesStreamService"
502
502
  ],
503
- "backend_name": "tinygrad_llama3",
503
+ "backend_name": "tinygrad-llama3",
504
504
  "model_names": null
505
505
  }
506
506
  }
@@ -38,7 +38,11 @@ class Project(ProjectBase):
38
38
 
39
39
  'huggingface': [
40
40
  'huggingface-hub ~= 0.36',
41
- 'datasets ~= 4.3',
41
+ 'datasets ~= 4.4',
42
+ ],
43
+
44
+ 'nanochat': [
45
+ 'regex >= 2025.0',
42
46
  ],
43
47
 
44
48
  'numpy': [
@@ -56,7 +60,7 @@ class Project(ProjectBase):
56
60
  ],
57
61
 
58
62
  'search': [
59
- 'ddgs ~= 9.6',
63
+ 'ddgs ~= 9.7',
60
64
  ],
61
65
 
62
66
  'wiki': [
@@ -76,6 +80,8 @@ class Project(ProjectBase):
76
80
 
77
81
 
78
82
  class Setuptools(SetuptoolsBase):
83
+ rs = True
84
+
79
85
  find_packages = {
80
86
  'include': [Project.name, f'{Project.name}.*'],
81
87
  'exclude': [*SetuptoolsBase.find_packages['exclude']],
@@ -191,7 +191,7 @@ def _main(args: ta.Any = None) -> None:
191
191
  _a_main,
192
192
  args,
193
193
  ),
194
- backend='asyncio',
194
+ # backend='trio',
195
195
  ) # noqa
196
196
 
197
197
 
@@ -2,6 +2,7 @@ import typing as ta
2
2
 
3
3
  from omlish import inject as inj
4
4
  from omlish import lang
5
+ from omlish import typedvalues as tv
5
6
 
6
7
  from ..... import minichain as mc
7
8
  from .injection import backend_configs
@@ -41,7 +42,7 @@ def bind_backends(
41
42
  async def inner(be: 'mc.BackendCatalog.Backend', cfgs: _types.BackendConfigs | None) -> ta.Any:
42
43
  kwt = inj.build_kwargs_target(be.factory, non_strict=True)
43
44
  kw = await injector.provide_kwargs(kwt)
44
- return be.factory(*cfgs or [], **kw)
45
+ return be.factory(*tv.collect(*(be.configs or []), *(cfgs or []), override=True), **kw)
45
46
 
46
47
  return _catalog.CatalogBackendProvider.Instantiator(inner)
47
48
 
@@ -52,7 +52,7 @@ class AnthropicChatChoicesStreamService:
52
52
  self._model_name = cc.pop(AnthropicChatChoicesService.DEFAULT_MODEL_NAME)
53
53
  self._api_key = check.not_none(ApiKey.pop_secret(cc, env='ANTHROPIC_API_KEY'))
54
54
 
55
- READ_CHUNK_SIZE = 64 * 1024
55
+ READ_CHUNK_SIZE: ta.ClassVar[int] = -1
56
56
 
57
57
  async def invoke(
58
58
  self,
@@ -125,7 +125,7 @@ class GoogleChatChoicesStreamService:
125
125
  AiMessage: 'model',
126
126
  }
127
127
 
128
- READ_CHUNK_SIZE = 64 * 1024
128
+ READ_CHUNK_SIZE: ta.ClassVar[int] = -1
129
129
 
130
130
  async def invoke(
131
131
  self,
@@ -146,7 +146,7 @@ class OllamaChatChoicesService(BaseOllamaChatChoicesService):
146
146
  # )
147
147
  @static_check_is_chat_choices_stream_service
148
148
  class OllamaChatChoicesStreamService(BaseOllamaChatChoicesService):
149
- READ_CHUNK_SIZE = 64 * 1024
149
+ READ_CHUNK_SIZE: ta.ClassVar[int] = -1
150
150
 
151
151
  async def invoke(
152
152
  self,
@@ -54,7 +54,7 @@ class OpenaiChatChoicesStreamService:
54
54
  self._model_name = cc.pop(OpenaiChatChoicesService.DEFAULT_MODEL_NAME)
55
55
  self._api_key = ApiKey.pop_secret(cc, env='OPENAI_API_KEY')
56
56
 
57
- READ_CHUNK_SIZE = 64 * 1024
57
+ READ_CHUNK_SIZE: ta.ClassVar[int] = -1
58
58
 
59
59
  async def invoke(self, request: ChatChoicesStreamRequest) -> ChatChoicesStreamResponse:
60
60
  # check.isinstance(request, ChatRequest)
@@ -113,7 +113,7 @@ class BaseTinygradLlama3ChatService(lang.ExitStacked, lang.Abstract):
113
113
 
114
114
 
115
115
  # @omlish-manifest $.minichain.registries.manifests.RegistryManifest(
116
- # name='tinygrad_llama3',
116
+ # name='tinygrad-llama3',
117
117
  # type='ChatChoicesService',
118
118
  # )
119
119
  @static_check_is_chat_choices_service
@@ -133,7 +133,7 @@ class TinygradLlama3ChatChoicesService(BaseTinygradLlama3ChatService):
133
133
 
134
134
 
135
135
  # @omlish-manifest $.minichain.registries.manifests.RegistryManifest(
136
- # name='tinygrad_llama3',
136
+ # name='tinygrad-llama3',
137
137
  # type='ChatChoicesStreamService',
138
138
  # )
139
139
  @static_check_is_chat_choices_stream_service
@@ -168,5 +168,5 @@ class TinygradLlama3ChatChoicesStreamService(BaseTinygradLlama3ChatService):
168
168
  # 'ChatChoicesService',
169
169
  # 'ChatChoicesStreamService',
170
170
  # ],
171
- # 'tinygrad_llama3',
171
+ # 'tinygrad-llama3',
172
172
  # )
@@ -56,7 +56,7 @@ _REPO_MODEL_PAT = re.compile(
56
56
  def parse_backend_string(s: str) -> ParsedBackendString:
57
57
  backend: str | None
58
58
  if ':' in s:
59
- backend, s = s.split(':')
59
+ backend, _, s = s.partition(':')
60
60
  else:
61
61
  backend = None
62
62
 
@@ -108,7 +108,10 @@ class ManifestBackendStringResolver(BackendStringResolver):
108
108
 
109
109
  mn: str | None = mdl.name
110
110
 
111
- if mn == m.backend_name:
111
+ if args.parsed.backend == m.backend_name and mn is not None:
112
+ pass
113
+
114
+ elif mn == m.backend_name:
112
115
  if m.model_names is not None:
113
116
  mn = m.model_names.resolved_default
114
117
  else:
@@ -31,6 +31,7 @@ class ResourcesRefNotRegisteredError(Exception):
31
31
  pass
32
32
 
33
33
 
34
+ @ta.final
34
35
  class Resources(lang.Final, lang.NotPicklable):
35
36
  def __init__(
36
37
  self,
@@ -145,24 +146,48 @@ class Resources(lang.Final, lang.NotPicklable):
145
146
  ##
146
147
 
147
148
 
149
+ @ta.final
148
150
  class ResourceManaged(ResourcesRef, lang.Final, lang.NotPicklable, ta.Generic[T]):
151
+ """
152
+ A class to 'handoff' a ref to a `Resources`, allowing the `Resources` to temporarily survive being passed from
153
+ instantiation within a callee to being `__aenter__`'d in the caller.
154
+
155
+ The ref to the `Resources` is allocated in the ctor, so the contract is that an instance of this must be immediately
156
+ `__aenter__`'d before doing anything else with the return value of the call. Failure to do so leaks the `Resources`.
157
+ """
158
+
149
159
  def __init__(self, v: T, resources: Resources) -> None:
150
160
  super().__init__()
151
161
 
152
- self._v = v
162
+ self.__v = v
153
163
  self.__resources = resources
154
164
 
155
165
  resources.add_ref(self)
156
166
 
167
+ __state: ta.Literal['new', 'entered', 'exited'] = 'new'
168
+
157
169
  def __repr__(self) -> str:
158
- return f'{self.__class__.__name__}<{self._v!r}>'
170
+ return f'{self.__class__.__name__}<{self.__v!r}, {self.__state}>'
159
171
 
160
172
  async def __aenter__(self) -> T:
161
- return self._v
173
+ check.state(self.__state == 'new')
174
+ self.__state = 'entered'
175
+ return self.__v
162
176
 
163
177
  async def __aexit__(self, exc_type, exc_val, exc_tb):
178
+ check.state(self.__state == 'entered')
179
+ self.__state = 'exited'
164
180
  await self.__resources.remove_ref(self)
165
181
 
182
+ def __del__(self) -> None:
183
+ if self.__state != 'exited':
184
+ log.error(
185
+ f'{__package__}.{self.__class__.__name__}.__del__: ' # noqa
186
+ f'%r deleted without being entered and exited! '
187
+ f'resources: %s',
188
+ repr(self),
189
+ repr(self.__resources),
190
+ )
166
191
 
167
192
  ##
168
193
 
@@ -125,17 +125,18 @@ class _StreamServiceResponse(StreamResponseIterator[V, OutputT]):
125
125
  return
126
126
  if self._cr.cr_running or self._cr.cr_suspended:
127
127
  cex = StreamServiceCancelledError()
128
- for i in itertools.count():
128
+ i = None
129
+ for n in itertools.count():
129
130
  try:
130
- if not i:
131
+ if not n:
131
132
  x = self._g.throw(cex)
132
133
  else:
133
- x = self._g.send(None)
134
+ x = self._g.send(i)
134
135
  except StreamServiceCancelledError as cex2:
135
136
  if cex2 is cex:
136
137
  break
137
138
  raise
138
- yield x
139
+ i = yield x
139
140
  if self._cr.cr_running:
140
141
  raise RuntimeError(f'Coroutine {self._cr!r} not terminated')
141
142
  if self._g is not self._a:
@@ -155,9 +156,10 @@ class _StreamServiceResponse(StreamResponseIterator[V, OutputT]):
155
156
  @types.coroutine
156
157
  def _anext(self):
157
158
  check.state(self._state == 'running')
159
+ i = None
158
160
  while True:
159
161
  try:
160
- x = self._g.send(None)
162
+ x = self._g.send(i)
161
163
  except StopIteration as e:
162
164
  if e.value is not None:
163
165
  self._outputs = tv.TypedValues(*check.isinstance(e.value, ta.Sequence))
@@ -170,7 +172,7 @@ class _StreamServiceResponse(StreamResponseIterator[V, OutputT]):
170
172
  x.done = True
171
173
  return x.value
172
174
 
173
- yield x
175
+ i = yield x
174
176
 
175
177
  async def __anext__(self) -> V:
176
178
  return await self._anext()
@@ -195,13 +197,14 @@ async def new_stream_response(
195
197
  fn: ta.Callable[[StreamResponseSink[V]], ta.Awaitable[ta.Sequence[OutputT] | None]],
196
198
  outputs: ta.Sequence[StreamOutputT] | None = None,
197
199
  ) -> StreamResponse[V, OutputT, StreamOutputT]:
198
- return StreamResponse(
199
- rs.new_managed(
200
- await rs.enter_async_context(
201
- _StreamServiceResponse(
202
- fn,
203
- ),
204
- ),
205
- ),
206
- outputs or [],
207
- )
200
+ ssr = _StreamServiceResponse(fn)
201
+
202
+ v = rs.new_managed(await rs.enter_async_context(ssr))
203
+ try:
204
+ return StreamResponse(v, outputs or [])
205
+ except BaseException: # noqa
206
+ # The StreamResponse ctor can raise - for example in `_tv_field_coercer` - in which case we need to clean up the
207
+ # resources ref we have already allocated before reraising.
208
+ async with v:
209
+ pass
210
+ raise
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Andrej Karpathy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Andrej Karpathy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.