ommlds 0.0.0.dev551__tar.gz → 0.0.0.dev552__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 (626) hide show
  1. {ommlds-0.0.0.dev551/ommlds.egg-info → ommlds-0.0.0.dev552}/PKG-INFO +4 -4
  2. ommlds-0.0.0.dev552/ommlds/cli/modes/chat/facades/chat.py +17 -0
  3. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/inject.py +4 -2
  4. ommlds-0.0.0.dev552/ommlds/cli/modes/chat/facades/commands/send.py +30 -0
  5. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/facade.py +0 -4
  6. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/inject.py +7 -0
  7. ommlds-0.0.0.dev552/ommlds/cli/modes/chat/interfaces/bare/chat.py +28 -0
  8. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/inject.py +9 -0
  9. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/interactive.py +4 -10
  10. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/app.py +71 -46
  11. ommlds-0.0.0.dev552/ommlds/cli/modes/chat/interfaces/textual/chat.py +23 -0
  12. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/inject.py +9 -0
  13. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/widgets/messages.py +27 -17
  14. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/__init__.py +1 -5
  15. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/_dataclasses.py +527 -694
  16. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/format.py +6 -7
  17. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/stream.py +2 -2
  18. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/transformers/transformers.py +2 -2
  19. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/adapters.py +1 -1
  20. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/types.py +2 -0
  21. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/types.py +1 -1
  22. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/joining.py +25 -5
  23. ommlds-0.0.0.dev552/ommlds/minichain/chat/stream/transform/types.py +63 -0
  24. ommlds-0.0.0.dev552/ommlds/minichain/chat/stream/transform/uuids.py +35 -0
  25. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/tools/ids.py +1 -1
  26. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/tools/parsing.py +1 -1
  27. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/transform/metadata.py +10 -11
  28. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/transform/services.py +1 -1
  29. ommlds-0.0.0.dev552/ommlds/minichain/chat/transform/types.py +63 -0
  30. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/transform/visitors.py +1 -1
  31. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/_dataclasses.py +42 -93
  32. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/actions.py +0 -6
  33. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/eventemit.py +17 -10
  34. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/events.py +0 -2
  35. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/inject.py +2 -8
  36. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/services.py +26 -7
  37. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/transforms.py +1 -1
  38. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/types.py +0 -5
  39. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/impl.py +0 -1
  40. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/preparing/simple.py +1 -1
  41. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/inject.py +2 -2
  42. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/transforms.py +1 -1
  43. ommlds-0.0.0.dev552/ommlds/minichain/transform/general.py +51 -0
  44. ommlds-0.0.0.dev552/ommlds/minichain/transform/metadata.py +24 -0
  45. ommlds-0.0.0.dev552/ommlds/minichain/transform/sequence.py +51 -0
  46. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/server.py +1 -1
  47. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/tools/git.py +1 -1
  48. ommlds-0.0.0.dev552/ommlds/wiki/text/__init__.py +0 -0
  49. ommlds-0.0.0.dev552/ommlds/wiki/utils/__init__.py +0 -0
  50. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552/ommlds.egg-info}/PKG-INFO +4 -4
  51. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/SOURCES.txt +12 -3
  52. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/requires.txt +3 -3
  53. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/pyproject.toml +4 -4
  54. ommlds-0.0.0.dev551/ommlds/minichain/chat/transform/chats.py +0 -60
  55. ommlds-0.0.0.dev551/ommlds/minichain/chat/transform/messages.py +0 -51
  56. ommlds-0.0.0.dev551/ommlds/minichain/drivers/ai/metadata.py +0 -66
  57. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/LICENSE +0 -0
  58. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/MANIFEST.in +0 -0
  59. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/README.md +0 -0
  60. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/.omlish-manifests.json +0 -0
  61. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/README.md +0 -0
  62. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/__about__.py +0 -0
  63. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/__init__.py +0 -0
  64. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/__init__.py +0 -0
  65. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/funcs.py +0 -0
  66. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/names.py +0 -0
  67. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/params.py +0 -0
  68. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/patches.py +0 -0
  69. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/__init__.py +0 -0
  70. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/__init__.py +0 -0
  71. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/__init__.py +0 -0
  72. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/_dataclasses.py +0 -0
  73. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/_marshal.py +0 -0
  74. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/sse/__init__.py +0 -0
  75. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/sse/_marshal.py +0 -0
  76. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/sse/assemble.py +0 -0
  77. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/sse/events.py +0 -0
  78. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/types.py +0 -0
  79. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/__init__.py +0 -0
  80. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/_dataclasses.py +0 -0
  81. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/_marshal.py +0 -0
  82. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/clients.py +0 -0
  83. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/protocol.py +0 -0
  84. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/__init__.py +0 -0
  85. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/protocol/__init__.py +0 -0
  86. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/protocol/_dataclasses.py +0 -0
  87. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/protocol/_marshal.py +0 -0
  88. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/protocol/types.py +0 -0
  89. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/__init__.py +0 -0
  90. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/_dataclasses.py +0 -0
  91. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/_marshal.py +0 -0
  92. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/clients.py +0 -0
  93. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/protocol.py +0 -0
  94. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/huggingface/__init__.py +0 -0
  95. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/huggingface/cache.py +0 -0
  96. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/huggingface/cli.py +0 -0
  97. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/llamacpp/__init__.py +0 -0
  98. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/llamacpp/buildwheel.py +0 -0
  99. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/llamacpp/logging.py +0 -0
  100. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/__init__.py +0 -0
  101. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/__main__.py +0 -0
  102. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/caching.py +0 -0
  103. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/cli.py +0 -0
  104. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/generation.py +0 -0
  105. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/limits.py +0 -0
  106. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/loading.py +0 -0
  107. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/LICENSE +0 -0
  108. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/__init__.py +0 -0
  109. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/__init__.py +0 -0
  110. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/base.py +0 -0
  111. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/bpe.py +0 -0
  112. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/naive.py +0 -0
  113. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/spm.py +0 -0
  114. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/loading.py +0 -0
  115. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/tokenization.py +0 -0
  116. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/types.py +0 -0
  117. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/ollama/__init__.py +0 -0
  118. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/ollama/_dataclasses.py +0 -0
  119. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/ollama/cli.py +0 -0
  120. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/ollama/protocol.py +0 -0
  121. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/__init__.py +0 -0
  122. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/__init__.py +0 -0
  123. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/_common.py +0 -0
  124. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/_dataclasses.py +0 -0
  125. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/_marshal.py +0 -0
  126. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/__init__.py +0 -0
  127. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/chunk.py +0 -0
  128. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/contentpart.py +0 -0
  129. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/message.py +0 -0
  130. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/request.py +0 -0
  131. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/response.py +0 -0
  132. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/responseformat.py +0 -0
  133. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/tokenlogprob.py +0 -0
  134. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/completionusage.py +0 -0
  135. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tavily/__init__.py +0 -0
  136. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tavily/_dataclasses.py +0 -0
  137. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tavily/protocol.py +0 -0
  138. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/__init__.py +0 -0
  139. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/LICENSE +0 -0
  140. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/__init__.py +0 -0
  141. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/__init__.py +0 -0
  142. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/__main__.py +0 -0
  143. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/attention.py +0 -0
  144. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/cli.py +0 -0
  145. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/fetch.py +0 -0
  146. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/llm.py +0 -0
  147. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/loading.py +0 -0
  148. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/quantization.py +0 -0
  149. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/sampling.py +0 -0
  150. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/tokenization.py +0 -0
  151. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/transformer.py +0 -0
  152. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/__init__.py +0 -0
  153. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/__main__.py +0 -0
  154. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/cli.py +0 -0
  155. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/clip.py +0 -0
  156. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/sdxl.py +0 -0
  157. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/unet.py +0 -0
  158. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/tinygrad.py +0 -0
  159. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/torch/__init__.py +0 -0
  160. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/torch/backends.py +0 -0
  161. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/torch/devices.py +0 -0
  162. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/torch/purge.py +0 -0
  163. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/transformers/__init__.py +0 -0
  164. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/transformers/filecache.py +0 -0
  165. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/transformers/hacks.py +0 -0
  166. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/transformers/streamers.py +0 -0
  167. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/__init__.py +0 -0
  168. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/__main__.py +0 -0
  169. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/_dataclasses.py +0 -0
  170. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/asyncs.py +0 -0
  171. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/__init__.py +0 -0
  172. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/catalog.py +0 -0
  173. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/configs.py +0 -0
  174. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/inject.py +0 -0
  175. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/injection.py +0 -0
  176. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/meta.py +0 -0
  177. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/types.py +0 -0
  178. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/content/__init__.py +0 -0
  179. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/content/messages.py +0 -0
  180. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/content/strings.py +0 -0
  181. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/inject.py +0 -0
  182. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/__init__.py +0 -0
  183. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/__init__.py +0 -0
  184. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/inputs/__init__.py +0 -0
  185. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/inputs/asyncs.py +0 -0
  186. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/inputs/sync.py +0 -0
  187. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/__init__.py +0 -0
  188. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/configs.py +0 -0
  189. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/inject.py +0 -0
  190. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/markdown.py +0 -0
  191. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/raw.py +0 -0
  192. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/types.py +0 -0
  193. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/main.py +0 -0
  194. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/__init__.py +0 -0
  195. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/base.py +0 -0
  196. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/__init__.py +0 -0
  197. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/configs.py +0 -0
  198. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/__init__.py +0 -0
  199. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/configs.py +0 -0
  200. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/inject.py +0 -0
  201. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/printing.py +0 -0
  202. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/services.py +0 -0
  203. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/state/__init__.py +0 -0
  204. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/state/configs.py +0 -0
  205. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/state/ids.py +0 -0
  206. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/state/inject.py +0 -0
  207. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/__init__.py +0 -0
  208. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/__init__.py +0 -0
  209. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/base.py +0 -0
  210. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/configs.py +0 -0
  211. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/injection.py +0 -0
  212. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/manager.py +0 -0
  213. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/permissions.py +0 -0
  214. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/simple.py +0 -0
  215. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/types.py +0 -0
  216. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/configs.py +0 -0
  217. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/text.py +0 -0
  218. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/ui.py +0 -0
  219. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/inject.py +0 -0
  220. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/__init__.py +0 -0
  221. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/__init__.py +0 -0
  222. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/configs.py +0 -0
  223. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/oneshot.py +0 -0
  224. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/tools.py +0 -0
  225. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/base.py +0 -0
  226. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/configs.py +0 -0
  227. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/inject.py +0 -0
  228. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/__init__.py +0 -0
  229. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/configs.py +0 -0
  230. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/facades.py +0 -0
  231. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/inputhistory.py +0 -0
  232. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/interface.py +0 -0
  233. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/__init__.py +0 -0
  234. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/input.tcss +0 -0
  235. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/markdown.tcss +0 -0
  236. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/messages.tcss +0 -0
  237. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/status.tcss +0 -0
  238. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/suggestions.py +0 -0
  239. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/termrender.py +0 -0
  240. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/tools.py +0 -0
  241. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/types.py +0 -0
  242. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/welcome.py +0 -0
  243. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/widgets/__init__.py +0 -0
  244. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/widgets/input.py +0 -0
  245. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/widgets/status.py +0 -0
  246. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/mode.py +0 -0
  247. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/completion/__init__.py +0 -0
  248. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/completion/configs.py +0 -0
  249. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/completion/inject.py +0 -0
  250. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/completion/mode.py +0 -0
  251. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/configs.py +0 -0
  252. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/embedding/__init__.py +0 -0
  253. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/embedding/configs.py +0 -0
  254. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/embedding/inject.py +0 -0
  255. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/embedding/mode.py +0 -0
  256. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/inject.py +0 -0
  257. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/__init__.py +0 -0
  258. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/code/__init__.py +0 -0
  259. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/code/configs.py +0 -0
  260. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/code/inject.py +0 -0
  261. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/code/preparing.py +0 -0
  262. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/configs.py +0 -0
  263. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/inject.py +0 -0
  264. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/types.py +0 -0
  265. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/profiles.py +0 -0
  266. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/secrets.py +0 -0
  267. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/datasets/__init__.py +0 -0
  268. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/datasets/lib/__init__.py +0 -0
  269. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/datasets/lib/movies.py +0 -0
  270. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/_fieldhash.py +0 -0
  271. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/_marshal.py +0 -0
  272. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/_typedvalues.py +0 -0
  273. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/__init__.py +0 -0
  274. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/catalogs/__init__.py +0 -0
  275. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/catalogs/base.py +0 -0
  276. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/catalogs/simple.py +0 -0
  277. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/catalogs/strings.py +0 -0
  278. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/__init__.py +0 -0
  279. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/__init__.py +0 -0
  280. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/chat.py +0 -0
  281. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/names.py +0 -0
  282. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/protocol.py +0 -0
  283. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/stream.py +0 -0
  284. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/__init__.py +0 -0
  285. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/chat.py +0 -0
  286. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/names.py +0 -0
  287. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/protocol.py +0 -0
  288. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/stream.py +0 -0
  289. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/duckduckgo/__init__.py +0 -0
  290. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/duckduckgo/search.py +0 -0
  291. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/dummy/__init__.py +0 -0
  292. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/dummy/chat.py +0 -0
  293. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/__init__.py +0 -0
  294. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/chat.py +0 -0
  295. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/names.py +0 -0
  296. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/protocol.py +0 -0
  297. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/search.py +0 -0
  298. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/stream.py +0 -0
  299. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/tools.py +0 -0
  300. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/__init__.py +0 -0
  301. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/chat.py +0 -0
  302. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/names.py +0 -0
  303. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/protocol.py +0 -0
  304. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/stream.py +0 -0
  305. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/huggingface/__init__.py +0 -0
  306. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/huggingface/configs.py +0 -0
  307. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/huggingface/repos.py +0 -0
  308. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/__init__.py +0 -0
  309. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/chat.py +0 -0
  310. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/completion.py +0 -0
  311. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/format.py +0 -0
  312. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/stream.py +0 -0
  313. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/mistral.py +0 -0
  314. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/mlx/__init__.py +0 -0
  315. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/mlx/chat.py +0 -0
  316. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/ollama/__init__.py +0 -0
  317. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/ollama/chat.py +0 -0
  318. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/ollama/protocol.py +0 -0
  319. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/__init__.py +0 -0
  320. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/chat.py +0 -0
  321. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/completion.py +0 -0
  322. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/embedding.py +0 -0
  323. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/names.py +0 -0
  324. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/sentencepiece/__init__.py +0 -0
  325. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/sentencepiece/tokens.py +0 -0
  326. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/sqlite.py +0 -0
  327. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tavily.py +0 -0
  328. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tinygrad/__init__.py +0 -0
  329. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tinygrad/chat.py +0 -0
  330. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tokenizers/__init__.py +0 -0
  331. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tokenizers/tokens.py +0 -0
  332. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/transformers/__init__.py +0 -0
  333. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/transformers/sentence.py +0 -0
  334. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/transformers/tokens.py +0 -0
  335. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/specs/__init__.py +0 -0
  336. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/strings/__init__.py +0 -0
  337. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/strings/manifests.py +0 -0
  338. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/strings/parsing.py +0 -0
  339. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/strings/resolving.py +0 -0
  340. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/__init__.py +0 -0
  341. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/_marshal.py +0 -0
  342. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/__init__.py +0 -0
  343. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/services.py +0 -0
  344. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/__init__.py +0 -0
  345. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/adapters.py +0 -0
  346. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/joining.py +0 -0
  347. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/services.py +0 -0
  348. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/content.py +0 -0
  349. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/formats.py +0 -0
  350. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/history.py +0 -0
  351. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/messages.py +0 -0
  352. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/metadata.py +0 -0
  353. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/services.py +0 -0
  354. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/__init__.py +0 -0
  355. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/_marshal.py +0 -0
  356. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/metadata.py +0 -0
  357. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/services.py +0 -0
  358. {ommlds-0.0.0.dev551/ommlds/minichain/chat/tools → ommlds-0.0.0.dev552/ommlds/minichain/chat/stream/transform}/__init__.py +0 -0
  359. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/types.py +0 -0
  360. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/templating.py +0 -0
  361. {ommlds-0.0.0.dev551/ommlds/minichain/chat/transform → ommlds-0.0.0.dev552/ommlds/minichain/chat/tools}/__init__.py +0 -0
  362. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/tools/execution.py +0 -0
  363. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/tools/types.py +0 -0
  364. {ommlds-0.0.0.dev551/ommlds/minichain/content/parse → ommlds-0.0.0.dev552/ommlds/minichain/chat/transform}/__init__.py +0 -0
  365. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/transform/content.py +0 -0
  366. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/types.py +0 -0
  367. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/visitors.py +0 -0
  368. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/completion.py +0 -0
  369. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/configs.py +0 -0
  370. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/__init__.py +0 -0
  371. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/_marshal.py +0 -0
  372. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/blank.py +0 -0
  373. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/code.py +0 -0
  374. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/composite.py +0 -0
  375. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/containers.py +0 -0
  376. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/content.py +0 -0
  377. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/dynamic.py +0 -0
  378. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/emphasis.py +0 -0
  379. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/images.py +0 -0
  380. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/itemlist.py +0 -0
  381. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/json.py +0 -0
  382. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/link.py +0 -0
  383. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/markdown.py +0 -0
  384. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/metadata.py +0 -0
  385. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/namespaces.py +0 -0
  386. {ommlds-0.0.0.dev551/ommlds/minichain/content/render → ommlds-0.0.0.dev552/ommlds/minichain/content/parse}/__init__.py +0 -0
  387. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/parse/markdown.py +0 -0
  388. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/parse/types.py +0 -0
  389. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/placeholders.py +0 -0
  390. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/quote.py +0 -0
  391. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/raw.py +0 -0
  392. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/recursive.py +0 -0
  393. {ommlds-0.0.0.dev551/ommlds/minichain/content/transform → ommlds-0.0.0.dev552/ommlds/minichain/content/render}/__init__.py +0 -0
  394. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/render/standard.py +0 -0
  395. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/render/types.py +0 -0
  396. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/resources.py +0 -0
  397. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/section.py +0 -0
  398. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/sequence.py +0 -0
  399. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/standard.py +0 -0
  400. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/tag.py +0 -0
  401. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/templates.py +0 -0
  402. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/text.py +0 -0
  403. {ommlds-0.0.0.dev551/ommlds/minichain/content/transform/materialize → ommlds-0.0.0.dev552/ommlds/minichain/content/transform}/__init__.py +0 -0
  404. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/containers.py +0 -0
  405. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/json.py +0 -0
  406. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/lift.py +0 -0
  407. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/ai → ommlds-0.0.0.dev552/ommlds/minichain/content/transform/materialize}/__init__.py +0 -0
  408. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/materialize/namespaces.py +0 -0
  409. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/materialize/placeholders.py +0 -0
  410. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/materialize/resources.py +0 -0
  411. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/materialize/templates.py +0 -0
  412. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/metadata.py +0 -0
  413. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/recursive.py +0 -0
  414. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/strings.py +0 -0
  415. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/types.py +0 -0
  416. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/visitors.py +0 -0
  417. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/visitors.py +0 -0
  418. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/docs/__init__.py +0 -0
  419. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/docs/docs.py +0 -0
  420. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/docs/dtypes.py +0 -0
  421. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/docs/filters.py +0 -0
  422. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/__init__.py +0 -0
  423. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/_marshal.py +0 -0
  424. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/events → ommlds-0.0.0.dev552/ommlds/minichain/drivers/ai}/__init__.py +0 -0
  425. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/configs.py +0 -0
  426. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/injection.py +0 -0
  427. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/tools.py +0 -0
  428. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/configs.py +0 -0
  429. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/phases → ommlds-0.0.0.dev552/ommlds/minichain/drivers/events}/__init__.py +0 -0
  430. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/inject.py +0 -0
  431. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/injection.py +0 -0
  432. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/logging.py +0 -0
  433. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/manager.py +0 -0
  434. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/types.py +0 -0
  435. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/inject.py +0 -0
  436. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/injection.py +0 -0
  437. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/preparing → ommlds-0.0.0.dev552/ommlds/minichain/drivers/phases}/__init__.py +0 -0
  438. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/phases/inject.py +0 -0
  439. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/phases/injection.py +0 -0
  440. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/phases/manager.py +0 -0
  441. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/phases/types.py +0 -0
  442. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/session → ommlds-0.0.0.dev552/ommlds/minichain/drivers/preparing}/__init__.py +0 -0
  443. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/preparing/inject.py +0 -0
  444. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/preparing/injection.py +0 -0
  445. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/preparing/types.py +0 -0
  446. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/state → ommlds-0.0.0.dev552/ommlds/minichain/drivers/session}/__init__.py +0 -0
  447. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/session/configs.py +0 -0
  448. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/session/inject.py +0 -0
  449. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/state/storage → ommlds-0.0.0.dev552/ommlds/minichain/drivers/state}/__init__.py +0 -0
  450. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/configs.py +0 -0
  451. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/inject.py +0 -0
  452. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/inmemory.py +0 -0
  453. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/manager.py +0 -0
  454. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/tools → ommlds-0.0.0.dev552/ommlds/minichain/drivers/state/storage}/__init__.py +0 -0
  455. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/inmemory.py +0 -0
  456. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/json.py +0 -0
  457. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/manager.py +0 -0
  458. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/marshaled.py +0 -0
  459. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/sql.py +0 -0
  460. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/types.py +0 -0
  461. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/types.py +0 -0
  462. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/tools/fs → ommlds-0.0.0.dev552/ommlds/minichain/drivers/tools}/__init__.py +0 -0
  463. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/configs.py +0 -0
  464. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/errorhandling.py +0 -0
  465. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/eventemit.py +0 -0
  466. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/events.py +0 -0
  467. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/execution.py +0 -0
  468. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/tools/todo → ommlds-0.0.0.dev552/ommlds/minichain/drivers/tools/fs}/__init__.py +0 -0
  469. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/fs/configs.py +0 -0
  470. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/fs/inject.py +0 -0
  471. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/inject.py +0 -0
  472. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/injection.py +0 -0
  473. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/permissions.py +0 -0
  474. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/tools/weather → ommlds-0.0.0.dev552/ommlds/minichain/drivers/tools/todo}/__init__.py +0 -0
  475. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/todo/configs.py +0 -0
  476. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/todo/inject.py +0 -0
  477. {ommlds-0.0.0.dev551/ommlds/minichain/drivers/user → ommlds-0.0.0.dev552/ommlds/minichain/drivers/tools/weather}/__init__.py +0 -0
  478. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/weather/configs.py +0 -0
  479. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/weather/inject.py +0 -0
  480. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/weather/tools.py +0 -0
  481. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/types.py +0 -0
  482. {ommlds-0.0.0.dev551/ommlds/minichain/http → ommlds-0.0.0.dev552/ommlds/minichain/drivers/user}/__init__.py +0 -0
  483. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/configs.py +0 -0
  484. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/events.py +0 -0
  485. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/preparing.py +0 -0
  486. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/envs.py +0 -0
  487. {ommlds-0.0.0.dev551/ommlds/minichain/lib → ommlds-0.0.0.dev552/ommlds/minichain/http}/__init__.py +0 -0
  488. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/http/stream.py +0 -0
  489. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/json.py +0 -0
  490. {ommlds-0.0.0.dev551/ommlds/minichain/lib/code → ommlds-0.0.0.dev552/ommlds/minichain/lib}/__init__.py +0 -0
  491. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/bash.py +0 -0
  492. {ommlds-0.0.0.dev551/ommlds/minichain/lib/fs → ommlds-0.0.0.dev552/ommlds/minichain/lib/code}/__init__.py +0 -0
  493. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/code/prompts.py +0 -0
  494. {ommlds-0.0.0.dev551/ommlds/minichain/lib/fs/tools → ommlds-0.0.0.dev552/ommlds/minichain/lib/fs}/__init__.py +0 -0
  495. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/binfiles.py +0 -0
  496. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/context.py +0 -0
  497. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/errors.py +0 -0
  498. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/suggestions.py +0 -0
  499. {ommlds-0.0.0.dev551/ommlds/minichain/lib/fs/tools/recursivels → ommlds-0.0.0.dev552/ommlds/minichain/lib/fs/tools}/__init__.py +0 -0
  500. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/edit.py +0 -0
  501. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/ls.py +0 -0
  502. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/read.py +0 -0
  503. {ommlds-0.0.0.dev551/ommlds/minichain/lib/todo → ommlds-0.0.0.dev552/ommlds/minichain/lib/fs/tools/recursivels}/__init__.py +0 -0
  504. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/recursivels/execution.py +0 -0
  505. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/recursivels/rendering.py +0 -0
  506. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/recursivels/running.py +0 -0
  507. {ommlds-0.0.0.dev551/ommlds/minichain/lib/todo/tools → ommlds-0.0.0.dev552/ommlds/minichain/lib/todo}/__init__.py +0 -0
  508. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/todo/context.py +0 -0
  509. {ommlds-0.0.0.dev551/ommlds/minichain/llms → ommlds-0.0.0.dev552/ommlds/minichain/lib/todo/tools}/__init__.py +0 -0
  510. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/todo/tools/read.py +0 -0
  511. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/todo/tools/write.py +0 -0
  512. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/todo/types.py +0 -0
  513. {ommlds-0.0.0.dev551/ommlds/minichain/models → ommlds-0.0.0.dev552/ommlds/minichain/llms}/__init__.py +0 -0
  514. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/llms/_marshal.py +0 -0
  515. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/llms/tokens.py +0 -0
  516. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/llms/types.py +0 -0
  517. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/metadata.py +0 -0
  518. {ommlds-0.0.0.dev551/ommlds/minichain/models/repos → ommlds-0.0.0.dev552/ommlds/minichain/models}/__init__.py +0 -0
  519. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/models/configs.py +0 -0
  520. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/models/names.py +0 -0
  521. {ommlds-0.0.0.dev551/ommlds/minichain/registries → ommlds-0.0.0.dev552/ommlds/minichain/models/repos}/__init__.py +0 -0
  522. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/models/repos/resolving.py +0 -0
  523. {ommlds-0.0.0.dev551/ommlds/minichain/stream → ommlds-0.0.0.dev552/ommlds/minichain/registries}/__init__.py +0 -0
  524. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/registries/globals.py +0 -0
  525. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/registries/manifests.py +0 -0
  526. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/registries/registry.py +0 -0
  527. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/resources.py +0 -0
  528. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/search.py +0 -0
  529. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/README.md +0 -0
  530. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/__init__.py +0 -0
  531. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/_marshal.py +0 -0
  532. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/_origclasses.py +0 -0
  533. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/_typedvalues.py +0 -0
  534. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/facades.py +0 -0
  535. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/requests.py +0 -0
  536. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/responses.py +0 -0
  537. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/services.py +0 -0
  538. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/standard.py +0 -0
  539. {ommlds-0.0.0.dev551/ommlds/minichain/text → ommlds-0.0.0.dev552/ommlds/minichain/stream}/__init__.py +0 -0
  540. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/stream/services.py +0 -0
  541. {ommlds-0.0.0.dev551/ommlds/minichain/text/toolparsing → ommlds-0.0.0.dev552/ommlds/minichain/text}/__init__.py +0 -0
  542. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/applypatch.py +0 -0
  543. {ommlds-0.0.0.dev551/ommlds/minichain/tools → ommlds-0.0.0.dev552/ommlds/minichain/text/toolparsing}/__init__.py +0 -0
  544. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/base.py +0 -0
  545. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/dumb.py +0 -0
  546. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/LICENSE +0 -0
  547. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/__init__.py +0 -0
  548. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/hermes2.py +0 -0
  549. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/llama31.py +0 -0
  550. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/types.py +0 -0
  551. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/utils.py +0 -0
  552. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/__init__.py +0 -0
  553. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/specials.py +0 -0
  554. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/tokenizers.py +0 -0
  555. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/types.py +0 -0
  556. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/vocabs.py +0 -0
  557. {ommlds-0.0.0.dev551/ommlds/minichain/tools/execution → ommlds-0.0.0.dev552/ommlds/minichain/tools}/__init__.py +0 -0
  558. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/_marshal.py +0 -0
  559. {ommlds-0.0.0.dev551/ommlds/minichain/vectors → ommlds-0.0.0.dev552/ommlds/minichain/tools/execution}/__init__.py +0 -0
  560. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/catalog.py +0 -0
  561. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/context.py +0 -0
  562. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/errorhandling.py +0 -0
  563. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/errors.py +0 -0
  564. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/executors.py +0 -0
  565. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/permissions.py +0 -0
  566. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/reflect.py +0 -0
  567. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/fns.py +0 -0
  568. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/jsonschema.py +0 -0
  569. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/__init__.py +0 -0
  570. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/_marshal.py +0 -0
  571. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/collection.py +0 -0
  572. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/fs.py +0 -0
  573. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/managers.py +0 -0
  574. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/types.py +0 -0
  575. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/url.py +0 -0
  576. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/reflect.py +0 -0
  577. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/types.py +0 -0
  578. {ommlds-0.0.0.dev551/ommlds/nanochat → ommlds-0.0.0.dev552/ommlds/minichain/transform}/__init__.py +0 -0
  579. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/types.py +0 -0
  580. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/utils.py +0 -0
  581. {ommlds-0.0.0.dev551/ommlds/server → ommlds-0.0.0.dev552/ommlds/minichain/vectors}/__init__.py +0 -0
  582. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/_marshal.py +0 -0
  583. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/embeddings.py +0 -0
  584. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/index.py +0 -0
  585. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/search.py +0 -0
  586. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/similarity.py +0 -0
  587. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/stores.py +0 -0
  588. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/types.py +0 -0
  589. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/__init__.py +0 -0
  590. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/firstinwins.py +0 -0
  591. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/instrument.py +0 -0
  592. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/retry.py +0 -0
  593. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/services.py +0 -0
  594. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/stream.py +0 -0
  595. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/uuids.py +0 -0
  596. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/nanochat/LICENSE +0 -0
  597. {ommlds-0.0.0.dev551/ommlds/specs → ommlds-0.0.0.dev552/ommlds/nanochat}/__init__.py +0 -0
  598. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/nanochat/rustbpe/LICENSE +0 -0
  599. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/nanochat/rustbpe/README.md +0 -0
  600. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/nanochat/tokenizers.py +0 -0
  601. {ommlds-0.0.0.dev551/ommlds/specs/mcp → ommlds-0.0.0.dev552/ommlds/server}/__init__.py +0 -0
  602. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/__main__.py +0 -0
  603. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/cli.py +0 -0
  604. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/client.py +0 -0
  605. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/service.py +0 -0
  606. {ommlds-0.0.0.dev551/ommlds/tools → ommlds-0.0.0.dev552/ommlds/specs}/__init__.py +0 -0
  607. {ommlds-0.0.0.dev551/ommlds/wiki → ommlds-0.0.0.dev552/ommlds/specs/mcp}/__init__.py +0 -0
  608. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/specs/mcp/_marshal.py +0 -0
  609. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/specs/mcp/clients.py +0 -0
  610. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/specs/mcp/protocol.py +0 -0
  611. {ommlds-0.0.0.dev551/ommlds/wiki/text → ommlds-0.0.0.dev552/ommlds/tools}/__init__.py +0 -0
  612. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/tools/ocr.py +0 -0
  613. {ommlds-0.0.0.dev551/ommlds/wiki/utils → ommlds-0.0.0.dev552/ommlds/wiki}/__init__.py +0 -0
  614. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/analyze.py +0 -0
  615. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/convert.py +0 -0
  616. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/models.py +0 -0
  617. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/text/mfh.py +0 -0
  618. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/text/wtp.py +0 -0
  619. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/utils/io.py +0 -0
  620. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/utils/progress.py +0 -0
  621. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/utils/xml.py +0 -0
  622. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/xml.py +0 -0
  623. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/dependency_links.txt +0 -0
  624. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/entry_points.txt +0 -0
  625. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/top_level.txt +0 -0
  626. {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ommlds
3
- Version: 0.0.0.dev551
3
+ Version: 0.0.0.dev552
4
4
  Summary: ommlds
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,9 +14,9 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omlish==0.0.0.dev551
17
+ Requires-Dist: omlish==0.0.0.dev552
18
18
  Provides-Extra: all
19
- Requires-Dist: omdev==0.0.0.dev551; extra == "all"
19
+ Requires-Dist: omdev==0.0.0.dev552; extra == "all"
20
20
  Requires-Dist: llama-cpp-python~=0.3; extra == "all"
21
21
  Requires-Dist: mlx~=0.31; sys_platform == "darwin" and extra == "all"
22
22
  Requires-Dist: mlx-lm~=0.31; sys_platform == "darwin" and extra == "all"
@@ -40,7 +40,7 @@ Requires-Dist: mwparserfromhell~=0.7; extra == "all"
40
40
  Requires-Dist: wikitextparser~=0.56; extra == "all"
41
41
  Requires-Dist: lxml>=5.3; python_version < "3.13" and extra == "all"
42
42
  Provides-Extra: omdev
43
- Requires-Dist: omdev==0.0.0.dev551; extra == "omdev"
43
+ Requires-Dist: omdev==0.0.0.dev552; extra == "omdev"
44
44
  Provides-Extra: backends
45
45
  Requires-Dist: llama-cpp-python~=0.3; extra == "backends"
46
46
  Requires-Dist: mlx~=0.31; sys_platform == "darwin" and extra == "backends"
@@ -0,0 +1,17 @@
1
+ import abc
2
+ import typing as ta
3
+
4
+ from omlish import lang
5
+
6
+
7
+ ##
8
+
9
+
10
+ class UserInputSenderGetter(lang.AsyncCachedFunc0['UserInputSender']):
11
+ pass
12
+
13
+
14
+ class UserInputSender(lang.Abstract):
15
+ @abc.abstractmethod
16
+ def send_user_input(self, text: str, *, no_echo: bool = False) -> ta.Awaitable[None]:
17
+ raise NotImplementedError
@@ -9,6 +9,7 @@ from .injection import commands
9
9
  with lang.auto_proxy_import(globals()):
10
10
  from . import manager as _manager
11
11
  from . import permissions as _permissions
12
+ from . import send as _send
12
13
  from . import simple as _simple
13
14
 
14
15
 
@@ -31,9 +32,10 @@ def bind_commands(cfg: CommandsConfig = CommandsConfig()) -> inj.Elements:
31
32
  #
32
33
 
33
34
  for cmd_cls in [
35
+ _permissions.PermissionsCommand,
36
+ _send.SendCommand,
34
37
  _simple.EchoCommand,
35
38
  _simple.QuitCommand,
36
- _permissions.PermissionsCommand,
37
39
  ]:
38
40
  els.extend([
39
41
  inj.bind(cmd_cls, singleton=True),
@@ -45,7 +47,7 @@ def bind_commands(cfg: CommandsConfig = CommandsConfig()) -> inj.Elements:
45
47
  if aex := cfg.autoexec:
46
48
  async def run_autoexec_commands(cm: _manager.CommandsManager) -> None:
47
49
  for cmd in aex:
48
- await cm.run_command_text(cmd)
50
+ await cm.run_command_text(cmd.removeprefix('/'))
49
51
 
50
52
  els.append(
51
53
  mc.drivers.injection.phase_callbacks().bind_item(to_fn=inj.target(
@@ -0,0 +1,30 @@
1
+ from omlish.argparse import all as argparse
2
+
3
+ from ..chat import UserInputSenderGetter
4
+ from .base import Command
5
+
6
+
7
+ ##
8
+
9
+
10
+ class SendCommand(Command):
11
+ def __init__(
12
+ self,
13
+ *,
14
+ user_input_sender: UserInputSenderGetter,
15
+ ) -> None:
16
+ super().__init__()
17
+
18
+ self._user_input_sender = user_input_sender
19
+
20
+ def _configure_parser(self, parser: argparse.ArgumentParser) -> None:
21
+ super()._configure_parser(parser)
22
+
23
+ parser.add_argument('-q', '--quiet', action='store_true')
24
+ parser.add_argument('message')
25
+
26
+ async def _run_args(self, ctx: Command.Context, args: argparse.Namespace) -> None:
27
+ await (await self._user_input_sender()).send_user_input(
28
+ args.message,
29
+ no_echo=args.quiet,
30
+ )
@@ -24,12 +24,9 @@ class ChatFacade:
24
24
  text: str,
25
25
  *,
26
26
  input_uuid: uuid.UUID | None = None,
27
- output_uuid: uuid.UUID | None = None,
28
27
  ) -> None:
29
28
  if input_uuid is None:
30
29
  input_uuid = uuid.uuid4()
31
- if output_uuid is None:
32
- output_uuid = uuid.uuid4()
33
30
 
34
31
  if text.startswith('/'):
35
32
  await self._commands.run_command_text(text[1:])
@@ -39,6 +36,5 @@ class ChatFacade:
39
36
 
40
37
  await self._driver.do_action(mc.drivers.SendUserMessagesAction(
41
38
  [msg],
42
- ai_message_uuid=output_uuid,
43
39
  uuid=input_uuid,
44
40
  ))
@@ -5,6 +5,7 @@ from .configs import FacadeConfig
5
5
 
6
6
 
7
7
  with lang.auto_proxy_import(globals()):
8
+ from . import chat as _chat
8
9
  from . import facade as _facade
9
10
  from . import ui as _ui
10
11
  from .commands import inject as _commands
@@ -24,6 +25,12 @@ def bind_facade(cfg: FacadeConfig = FacadeConfig()) -> inj.Elements:
24
25
 
25
26
  #
26
27
 
28
+ els.extend([
29
+ inj.bind_async_late(_chat.UserInputSender, _chat.UserInputSenderGetter),
30
+ ])
31
+
32
+ #
33
+
27
34
  els.append(inj.bind(_facade.ChatFacade, singleton=True))
28
35
 
29
36
  #
@@ -0,0 +1,28 @@
1
+ from ...facades.chat import UserInputSender
2
+ from ...facades.facade import ChatFacade
3
+
4
+
5
+ ##
6
+
7
+
8
+ class BareUserInputSender(UserInputSender):
9
+ def __init__(
10
+ self,
11
+ *,
12
+ facade: ChatFacade,
13
+ ) -> None:
14
+ super().__init__()
15
+
16
+ self._facade = facade
17
+
18
+ async def send_user_input(self, text: str, *, no_echo: bool = False) -> None:
19
+ if not no_echo:
20
+ print('> ' + text)
21
+
22
+ print()
23
+ print('<')
24
+ print()
25
+
26
+ await self._facade.handle_user_input(text)
27
+
28
+ print()
@@ -9,7 +9,9 @@ from .configs import BareInterfaceConfig
9
9
  with lang.auto_proxy_import(globals()):
10
10
  from .....interfaces.bare.inputs import asyncs as _inputs_asyncs
11
11
  from .....interfaces.bare.inputs import sync as _inputs_sync
12
+ from ...facades import chat as _facades_chat
12
13
  from ...facades import ui as _facades_ui
14
+ from . import chat as _chat
13
15
  from . import interactive as _interactive
14
16
  from . import oneshot as _oneshot
15
17
  from . import tools as _tools
@@ -59,6 +61,13 @@ def bind_bare(cfg: BareInterfaceConfig = BareInterfaceConfig()) -> inj.Elements:
59
61
 
60
62
  #
61
63
 
64
+ els.extend([
65
+ inj.bind(_chat.BareUserInputSender, singleton=True),
66
+ inj.bind(_facades_chat.UserInputSender, to_key=_chat.BareUserInputSender),
67
+ ])
68
+
69
+ #
70
+
62
71
  els.extend([
63
72
  inj.bind(_facades_ui.PrintMessageDisplayer, singleton=True),
64
73
  inj.bind(_facades_ui.UiMessageDisplayer, to_key=_facades_ui.PrintMessageDisplayer),
@@ -4,7 +4,7 @@ from ...... import minichain as mc
4
4
  from .....interfaces.bare.inputs.asyncs import AsyncStringInput
5
5
  from .....interfaces.bare.inputs.asyncs import SyncAsyncStringInput
6
6
  from .....interfaces.bare.inputs.sync import InputSyncStringInput
7
- from ...facades.facade import ChatFacade
7
+ from ...facades.chat import UserInputSender
8
8
  from ..base import ChatInterface
9
9
 
10
10
 
@@ -18,13 +18,13 @@ class InteractiveBareChatInterface(ChatInterface):
18
18
  self,
19
19
  *,
20
20
  driver: 'mc.drivers.Driver',
21
- facade: ChatFacade,
21
+ user_input_sender: UserInputSender,
22
22
  string_input: AsyncStringInput | None = None,
23
23
  ) -> None:
24
24
  super().__init__()
25
25
 
26
26
  self._driver = driver
27
- self._facade = facade
27
+ self._user_input_sender = user_input_sender
28
28
  if string_input is None:
29
29
  string_input = self.DEFAULT_STRING_INPUT
30
30
  self._string_input = string_input
@@ -38,12 +38,6 @@ class InteractiveBareChatInterface(ChatInterface):
38
38
  except EOFError:
39
39
  break
40
40
 
41
- print()
42
- print('<')
43
- print()
44
-
45
- await self._facade.handle_user_input(s)
46
-
47
- print()
41
+ await self._user_input_sender.send_user_input(s)
48
42
 
49
43
  await self._driver.stop()
@@ -6,6 +6,7 @@ import weakref
6
6
  from omdev.tui import textual as tx
7
7
  from omlish import check
8
8
  from omlish import dataclasses as dc
9
+ from omlish.asyncs.relays import SchedulingAsyncBufferRelay
9
10
  from omlish.logs import all as logs
10
11
 
11
12
  from ...... import minichain as mc
@@ -86,6 +87,8 @@ class ChatApp(
86
87
  ),
87
88
  ]
88
89
 
90
+ AUTO_FOCUS = '.input-container'
91
+
89
92
  def __init__(
90
93
  self,
91
94
  *,
@@ -117,6 +120,10 @@ class ChatApp(
117
120
 
118
121
  self._pending_tool_confirmations: set[ToolConfirmationMessage] = set()
119
122
 
123
+ self._append_stream_ai_message_content_buffer: SchedulingAsyncBufferRelay[tuple[uuid.UUID, str]] = SchedulingAsyncBufferRelay( # noqa
124
+ self._schedule_drain_append_stream_ai_message_content_buffer,
125
+ )
126
+
120
127
  #
121
128
 
122
129
  self._messages_container = MessagesContainer([welcome_message] if welcome_message is not None else [])
@@ -157,11 +164,54 @@ class ChatApp(
157
164
  self.refresh(layout=True)
158
165
  self.call_after_refresh(inner)
159
166
 
167
+ async def _schedule_drain_append_stream_ai_message_content_buffer(self) -> None:
168
+ self.call_next(self._drain_append_stream_ai_message_content_buffer)
169
+
170
+ async def _drain_append_stream_ai_message_content_buffer(self) -> None:
171
+ parts = await self._append_stream_ai_message_content_buffer.swap()
172
+ await self._messages_container.append_stream_ai_message_content(*parts)
173
+
160
174
  ##
161
175
  # Chat events
162
176
 
163
177
  _chat_event_queue_task: asyncio.Task[None] | None = None
164
178
 
179
+ async def _handle_chat_queue_event(self, ev: ta.Any) -> None:
180
+ if isinstance(ev, mc.drivers.AiMessagesEvent):
181
+ if not ev.streamed:
182
+ wx: list[Message] = []
183
+
184
+ for ai_msg in ev.chat:
185
+ if isinstance(ai_msg, mc.AiMessage):
186
+ wx.append(
187
+ StaticAiMessage(
188
+ check.isinstance(ai_msg.c, str),
189
+ markdown=True,
190
+ message_uuid=ai_msg.metadata[mc.MessageUuid].v,
191
+ ),
192
+ )
193
+
194
+ if wx:
195
+ await self._messages_container.enqueue_mount_messages(*wx)
196
+ self.call_later(self._messages_container.mount_messages)
197
+
198
+ elif isinstance(ev, mc.drivers.AiStreamBeginEvent):
199
+ # self.call_later(self._messages_container.mount_messages, StreamAiMessage(message_uuid=ev.message_uuid)) # noqa
200
+ pass
201
+
202
+ elif isinstance(ev, mc.drivers.AiStreamDeltaEvent):
203
+ if isinstance(ev.delta, mc.ContentAiDelta):
204
+ await self._append_stream_ai_message_content_buffer.push((
205
+ check.not_none(ev.message_uuid),
206
+ check.isinstance(ev.delta.c, str),
207
+ ))
208
+
209
+ elif isinstance(ev.delta, mc.ToolUseAiDelta):
210
+ pass
211
+
212
+ elif isinstance(ev, mc.drivers.AiStreamEndEvent):
213
+ self.call_later(self._messages_container.finalize_stream_ai_message, ev.message_uuid)
214
+
165
215
  @logs.async_exception_logging(alog, BaseException)
166
216
  async def _chat_event_queue_task_main(self) -> None:
167
217
  while True:
@@ -171,38 +221,7 @@ class ChatApp(
171
221
 
172
222
  await alog.debug(lambda: f'Got chat event: {ev!r}')
173
223
 
174
- if isinstance(ev, mc.drivers.AiMessagesEvent):
175
- if not ev.streamed:
176
- wx: list[Message] = []
177
-
178
- for ai_msg in ev.chat:
179
- if isinstance(ai_msg, mc.AiMessage):
180
- wx.append(
181
- StaticAiMessage(
182
- check.isinstance(ai_msg.c, str),
183
- markdown=True,
184
- message_uuid=ai_msg.metadata[mc.MessageUuid].v,
185
- ),
186
- )
187
-
188
- if wx:
189
- await self._messages_container.enqueue_mount_messages(*wx)
190
- self.call_later(self._messages_container.mount_messages)
191
-
192
- elif isinstance(ev, mc.drivers.AiStreamBeginEvent):
193
- # self.call_later(self._messages_container.mount_messages, StreamAiMessage(message_uuid=ev.message_uuid)) # noqa
194
- pass
195
-
196
- elif isinstance(ev, mc.drivers.AiStreamDeltaEvent):
197
- if isinstance(ev.delta, mc.ContentAiDelta):
198
- cc = check.isinstance(ev.delta.c, str)
199
- self.call_later(self._messages_container.append_stream_ai_message_content, ev.message_uuid, cc) # noqa
200
-
201
- elif isinstance(ev.delta, mc.ToolUseAiDelta):
202
- pass
203
-
204
- elif isinstance(ev, mc.drivers.AiStreamEndEvent):
205
- self.call_later(self._messages_container.finalize_stream_ai_message, ev.message_uuid)
224
+ await self._handle_chat_queue_event(ev)
206
225
 
207
226
  ##
208
227
  # Chat actions
@@ -273,8 +292,6 @@ class ChatApp(
273
292
  check.state(self._chat_event_queue_task is None)
274
293
  self._chat_event_queue_task = asyncio.create_task(self._chat_event_queue_task_main())
275
294
 
276
- await self._chat_driver.start()
277
-
278
295
  check.state(self._chat_action_queue_task is None)
279
296
  self._chat_action_queue_task = asyncio.create_task(self._chat_action_queue_task_main())
280
297
 
@@ -282,6 +299,8 @@ class ChatApp(
282
299
 
283
300
  await self._messages_container.mount_messages()
284
301
 
302
+ self.call_after_refresh(self._chat_driver.start)
303
+
285
304
  async def on_unmount(self) -> None:
286
305
  if (cat := self._chat_action_queue_task) is not None:
287
306
  await self._chat_action_queue.put(None)
@@ -296,28 +315,34 @@ class ChatApp(
296
315
  ##
297
316
  # Input
298
317
 
299
- @tx.on(InputTextArea.Submitted)
300
- async def on_input_text_area_submitted(self, event: InputTextArea.Submitted) -> None:
301
- self._input_container.input_text_area.clear()
302
-
318
+ async def send_user_input(self, s: str, *, no_echo: bool = False) -> None:
303
319
  input_uuid = uuid.uuid4()
304
320
 
305
- await self._messages_container.mount_messages(
306
- UserMessage(
307
- event.text,
308
- message_uuid=input_uuid,
309
- ),
310
- )
321
+ if not no_echo:
322
+ await self._messages_container.mount_messages(
323
+ UserMessage(
324
+ s,
325
+ message_uuid=input_uuid,
326
+ ),
327
+ )
311
328
 
312
- await self._input_history_manager.add(event.text)
329
+ await self._input_history_manager.add(s)
313
330
 
314
331
  await self._chat_action_queue.put(
315
332
  ChatApp.UserInput(
316
- event.text,
333
+ s,
317
334
  input_uuid=input_uuid,
318
335
  ),
319
336
  )
320
337
 
338
+ @tx.on(InputTextArea.Submitted)
339
+ async def on_input_text_area_submitted(self, event: InputTextArea.Submitted) -> None:
340
+ self._input_container.input_text_area.clear()
341
+
342
+ await self._input_history_manager.add(event.text)
343
+
344
+ await self.send_user_input(event.text)
345
+
321
346
  @tx.on(tx.Key)
322
347
  async def on_key(self, event: tx.Key) -> None:
323
348
  if event in self._input_focused_key_events:
@@ -0,0 +1,23 @@
1
+ from ...facades.chat import UserInputSender
2
+ from ...facades.facade import ChatFacade
3
+ from .types import ChatAppGetter
4
+
5
+
6
+ ##
7
+
8
+
9
+ class TextualUserInputSender(UserInputSender):
10
+ def __init__(
11
+ self,
12
+ *,
13
+ app: ChatAppGetter,
14
+ facade: ChatFacade,
15
+ ) -> None:
16
+ super().__init__()
17
+
18
+ self._app = app
19
+ self._facade = facade
20
+
21
+ async def send_user_input(self, text: str, *, no_echo: bool = False) -> None:
22
+ app = await self._app()
23
+ app.call_later(app.send_user_input, text, no_echo=no_echo)
@@ -17,8 +17,10 @@ from .types import ChatAppGetter
17
17
  with lang.auto_proxy_import(globals()):
18
18
  from omdev.tui import textual as tx
19
19
 
20
+ from ...facades import chat as _facades_chat
20
21
  from ...facades import ui as _facades_ui
21
22
  from . import app as _app
23
+ from . import chat as _chat
22
24
  from . import facades as _facades
23
25
  from . import inputhistory as _inputhistory
24
26
  from . import interface as _interface
@@ -91,6 +93,13 @@ def bind_textual(cfg: TextualInterfaceConfig = TextualInterfaceConfig()) -> inj.
91
93
 
92
94
  #
93
95
 
96
+ els.extend([
97
+ inj.bind(_chat.TextualUserInputSender, singleton=True),
98
+ inj.bind(_facades_chat.UserInputSender, to_key=_chat.TextualUserInputSender),
99
+ ])
100
+
101
+ #
102
+
94
103
  els.extend([
95
104
  inj.bind(_facades.ChatAppUiMessageDisplayer, singleton=True),
96
105
  inj.bind(_facades_ui.UiMessageDisplayer, to_key=_facades.ChatAppUiMessageDisplayer),
@@ -8,6 +8,10 @@ from omdev.tui import textual as tx
8
8
  from omlish import check
9
9
  from omlish import dataclasses as dc
10
10
  from omlish import lang
11
+ from omlish.logs import all as logs
12
+
13
+
14
+ log, alog = logs.get_module_loggers(globals())
11
15
 
12
16
 
13
17
  ##
@@ -487,33 +491,39 @@ class MessagesContainer(tx.InitAddClass, tx.ComposeOnce, tx.VerticalScroll):
487
491
 
488
492
  #
489
493
 
490
- async def append_stream_ai_message_content(self, message_uuid: uuid.UUID, content: str) -> None:
491
- if (msg := self._messages_by_uuid.get(message_uuid)) is None:
492
- aim = StreamAiMessage(content, message_uuid=message_uuid)
493
-
494
- self._messages_by_uuid[message_uuid] = aim
494
+ async def append_stream_ai_message_content(self, *parts: tuple[uuid.UUID, str]) -> None:
495
+ mount_messages = False
496
+ refresh = False
497
+ scroll_to_bottom = False
495
498
 
496
- await self.enqueue_mount_messages(aim)
499
+ for message_uuid, content in parts:
500
+ if (msg := self._messages_by_uuid.get(message_uuid)) is None:
501
+ aim = StreamAiMessage(content, message_uuid=message_uuid)
497
502
 
498
- self.call_later(self.mount_messages)
503
+ self._messages_by_uuid[message_uuid] = aim
499
504
 
500
- self.refresh()
505
+ await self.enqueue_mount_messages(aim)
501
506
 
502
- return
507
+ mount_messages = True
508
+ refresh = True
503
509
 
504
- aim = check.isinstance(msg, StreamAiMessage)
510
+ else:
511
+ aim = check.isinstance(msg, StreamAiMessage)
505
512
 
506
- if not aim.is_mounted:
507
- await aim.append_stream_content(content)
513
+ if not aim.is_mounted:
514
+ await aim.append_stream_content(content)
508
515
 
509
- return
510
-
511
- was_at_bottom = self._is_messages_at_bottom()
516
+ else:
517
+ scroll_to_bottom |= self._is_messages_at_bottom()
512
518
 
513
- await aim.append_stream_content(content)
519
+ await aim.append_stream_content(content)
514
520
 
515
- if was_at_bottom:
521
+ if mount_messages:
522
+ self.call_later(self.mount_messages)
523
+ if scroll_to_bottom:
516
524
  self.call_after_refresh(self._scroll_messages_to_bottom_and_anchor)
525
+ if refresh:
526
+ self.refresh()
517
527
 
518
528
  async def finalize_stream_ai_message(self, message_uuid: uuid.UUID) -> None:
519
529
  if (msg := self._messages_by_uuid.get(message_uuid)) is None:
@@ -142,22 +142,18 @@ with _lang.auto_proxy_init(
142
142
  execute_tool_use,
143
143
  )
144
144
 
145
- from .chat.transform.messages import ( # noqa
145
+ from .chat.transform.types import ( # noqa
146
146
  MessageTransform,
147
147
 
148
148
  CompositeMessageTransform,
149
149
  FnMessageTransform,
150
150
  TypeFilteredMessageTransform,
151
- )
152
151
 
153
- from .chat.transform.chats import ( # noqa
154
152
  ChatTransform,
155
153
 
156
154
  CompositeChatTransform,
157
155
  FnChatTransform,
158
-
159
156
  MessageTransformChatTransform,
160
- LastMessageTransformChatTransform,
161
157
  )
162
158
 
163
159
  from .chat.transform.content import ( # noqa