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.
- {ommlds-0.0.0.dev551/ommlds.egg-info → ommlds-0.0.0.dev552}/PKG-INFO +4 -4
- ommlds-0.0.0.dev552/ommlds/cli/modes/chat/facades/chat.py +17 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/inject.py +4 -2
- ommlds-0.0.0.dev552/ommlds/cli/modes/chat/facades/commands/send.py +30 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/facade.py +0 -4
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/inject.py +7 -0
- ommlds-0.0.0.dev552/ommlds/cli/modes/chat/interfaces/bare/chat.py +28 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/inject.py +9 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/interactive.py +4 -10
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/app.py +71 -46
- ommlds-0.0.0.dev552/ommlds/cli/modes/chat/interfaces/textual/chat.py +23 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/inject.py +9 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/widgets/messages.py +27 -17
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/__init__.py +1 -5
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/_dataclasses.py +527 -694
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/format.py +6 -7
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/stream.py +2 -2
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/transformers/transformers.py +2 -2
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/adapters.py +1 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/types.py +2 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/types.py +1 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/joining.py +25 -5
- ommlds-0.0.0.dev552/ommlds/minichain/chat/stream/transform/types.py +63 -0
- ommlds-0.0.0.dev552/ommlds/minichain/chat/stream/transform/uuids.py +35 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/tools/ids.py +1 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/tools/parsing.py +1 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/transform/metadata.py +10 -11
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/transform/services.py +1 -1
- ommlds-0.0.0.dev552/ommlds/minichain/chat/transform/types.py +63 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/transform/visitors.py +1 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/_dataclasses.py +42 -93
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/actions.py +0 -6
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/eventemit.py +17 -10
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/events.py +0 -2
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/inject.py +2 -8
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/services.py +26 -7
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/transforms.py +1 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/types.py +0 -5
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/impl.py +0 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/preparing/simple.py +1 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/inject.py +2 -2
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/transforms.py +1 -1
- ommlds-0.0.0.dev552/ommlds/minichain/transform/general.py +51 -0
- ommlds-0.0.0.dev552/ommlds/minichain/transform/metadata.py +24 -0
- ommlds-0.0.0.dev552/ommlds/minichain/transform/sequence.py +51 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/server.py +1 -1
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/tools/git.py +1 -1
- ommlds-0.0.0.dev552/ommlds/wiki/text/__init__.py +0 -0
- ommlds-0.0.0.dev552/ommlds/wiki/utils/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552/ommlds.egg-info}/PKG-INFO +4 -4
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/SOURCES.txt +12 -3
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/requires.txt +3 -3
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/pyproject.toml +4 -4
- ommlds-0.0.0.dev551/ommlds/minichain/chat/transform/chats.py +0 -60
- ommlds-0.0.0.dev551/ommlds/minichain/chat/transform/messages.py +0 -51
- ommlds-0.0.0.dev551/ommlds/minichain/drivers/ai/metadata.py +0 -66
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/LICENSE +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/MANIFEST.in +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/README.md +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/.omlish-manifests.json +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/README.md +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/__about__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/funcs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/names.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/params.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/_hacks/patches.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/_dataclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/sse/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/sse/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/sse/assemble.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/sse/events.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/anthropic/protocol/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/_dataclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/clients.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/cerebras/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/protocol/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/protocol/_dataclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/protocol/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/google/protocol/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/_dataclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/clients.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/groq/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/huggingface/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/huggingface/cache.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/huggingface/cli.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/llamacpp/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/llamacpp/buildwheel.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/llamacpp/logging.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/__main__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/caching.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/cli.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/generation.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/limits.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/loading.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/LICENSE +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/base.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/bpe.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/naive.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/detokenization/spm.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/loading.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/tokenization.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/mlx/tokenization/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/ollama/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/ollama/_dataclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/ollama/cli.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/ollama/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/_common.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/_dataclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/chunk.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/contentpart.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/message.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/request.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/response.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/responseformat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/chatcompletion/tokenlogprob.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/openai/protocol/completionusage.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tavily/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tavily/_dataclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tavily/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/LICENSE +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/__main__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/attention.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/cli.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/fetch.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/llm.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/loading.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/quantization.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/sampling.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/tokenization.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/llama3/transformer.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/__main__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/cli.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/clip.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/sdxl.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/models/sdxl/unet.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/tinygrad/tinygrad.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/torch/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/torch/backends.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/torch/devices.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/torch/purge.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/transformers/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/transformers/filecache.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/transformers/hacks.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/backends/transformers/streamers.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/__main__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/_dataclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/asyncs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/catalog.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/injection.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/meta.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/backends/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/content/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/content/messages.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/content/strings.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/inputs/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/inputs/asyncs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/inputs/sync.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/markdown.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/raw.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/interfaces/bare/printing/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/main.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/base.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/printing.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/services.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/state/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/state/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/state/ids.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/drivers/state/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/base.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/injection.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/manager.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/permissions.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/simple.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/text.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/ui.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/oneshot.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/tools.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/base.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/facades.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/inputhistory.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/interface.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/input.tcss +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/markdown.tcss +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/messages.tcss +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/styles/status.tcss +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/suggestions.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/termrender.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/tools.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/welcome.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/widgets/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/widgets/input.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/widgets/status.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/mode.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/completion/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/completion/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/completion/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/completion/mode.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/embedding/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/embedding/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/embedding/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/embedding/mode.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/code/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/code/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/code/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/code/preparing.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/modules/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/profiles.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/secrets.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/datasets/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/datasets/lib/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/datasets/lib/movies.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/_fieldhash.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/_typedvalues.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/catalogs/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/catalogs/base.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/catalogs/simple.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/catalogs/strings.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/names.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/anthropic/stream.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/names.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/cerebras/stream.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/duckduckgo/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/duckduckgo/search.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/dummy/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/dummy/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/names.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/search.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/stream.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/google/tools.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/names.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/groq/stream.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/huggingface/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/huggingface/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/huggingface/repos.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/completion.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/format.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/llamacpp/stream.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/mistral.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/mlx/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/mlx/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/ollama/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/ollama/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/ollama/protocol.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/completion.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/embedding.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/openai/names.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/sentencepiece/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/sentencepiece/tokens.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/sqlite.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tavily.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tinygrad/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tinygrad/chat.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tokenizers/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/tokenizers/tokens.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/transformers/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/transformers/sentence.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/impls/transformers/tokens.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/specs/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/strings/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/strings/manifests.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/strings/parsing.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/backends/strings/resolving.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/services.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/adapters.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/joining.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/choices/stream/services.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/content.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/formats.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/history.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/messages.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/metadata.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/services.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/metadata.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/services.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/chat/tools → ommlds-0.0.0.dev552/ommlds/minichain/chat/stream/transform}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/stream/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/templating.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/chat/transform → ommlds-0.0.0.dev552/ommlds/minichain/chat/tools}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/tools/execution.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/tools/types.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/content/parse → ommlds-0.0.0.dev552/ommlds/minichain/chat/transform}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/transform/content.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/chat/visitors.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/completion.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/blank.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/code.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/composite.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/containers.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/content.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/dynamic.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/emphasis.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/images.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/itemlist.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/json.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/link.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/markdown.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/metadata.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/namespaces.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/content/render → ommlds-0.0.0.dev552/ommlds/minichain/content/parse}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/parse/markdown.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/parse/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/placeholders.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/quote.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/raw.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/recursive.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/content/transform → ommlds-0.0.0.dev552/ommlds/minichain/content/render}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/render/standard.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/render/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/resources.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/section.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/sequence.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/standard.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/tag.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/templates.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/text.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/content/transform/materialize → ommlds-0.0.0.dev552/ommlds/minichain/content/transform}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/containers.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/json.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/lift.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/ai → ommlds-0.0.0.dev552/ommlds/minichain/content/transform/materialize}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/materialize/namespaces.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/materialize/placeholders.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/materialize/resources.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/materialize/templates.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/metadata.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/recursive.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/strings.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/transform/visitors.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/content/visitors.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/docs/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/docs/docs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/docs/dtypes.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/docs/filters.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/_marshal.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/events → ommlds-0.0.0.dev552/ommlds/minichain/drivers/ai}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/injection.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/ai/tools.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/configs.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/phases → ommlds-0.0.0.dev552/ommlds/minichain/drivers/events}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/injection.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/logging.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/manager.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/events/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/injection.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/preparing → ommlds-0.0.0.dev552/ommlds/minichain/drivers/phases}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/phases/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/phases/injection.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/phases/manager.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/phases/types.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/session → ommlds-0.0.0.dev552/ommlds/minichain/drivers/preparing}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/preparing/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/preparing/injection.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/preparing/types.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/state → ommlds-0.0.0.dev552/ommlds/minichain/drivers/session}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/session/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/session/inject.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/state/storage → ommlds-0.0.0.dev552/ommlds/minichain/drivers/state}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/inmemory.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/manager.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/tools → ommlds-0.0.0.dev552/ommlds/minichain/drivers/state/storage}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/inmemory.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/json.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/manager.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/marshaled.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/sql.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/storage/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/state/types.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/tools/fs → ommlds-0.0.0.dev552/ommlds/minichain/drivers/tools}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/errorhandling.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/eventemit.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/events.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/execution.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/tools/todo → ommlds-0.0.0.dev552/ommlds/minichain/drivers/tools/fs}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/fs/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/fs/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/injection.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/permissions.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/tools/weather → ommlds-0.0.0.dev552/ommlds/minichain/drivers/tools/todo}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/todo/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/todo/inject.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/drivers/user → ommlds-0.0.0.dev552/ommlds/minichain/drivers/tools/weather}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/weather/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/weather/inject.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/tools/weather/tools.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/types.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/http → ommlds-0.0.0.dev552/ommlds/minichain/drivers/user}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/events.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/drivers/user/preparing.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/envs.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/lib → ommlds-0.0.0.dev552/ommlds/minichain/http}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/http/stream.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/json.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/lib/code → ommlds-0.0.0.dev552/ommlds/minichain/lib}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/bash.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/lib/fs → ommlds-0.0.0.dev552/ommlds/minichain/lib/code}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/code/prompts.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/lib/fs/tools → ommlds-0.0.0.dev552/ommlds/minichain/lib/fs}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/binfiles.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/context.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/errors.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/suggestions.py +0 -0
- {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
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/edit.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/ls.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/read.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/lib/todo → ommlds-0.0.0.dev552/ommlds/minichain/lib/fs/tools/recursivels}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/recursivels/execution.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/recursivels/rendering.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/fs/tools/recursivels/running.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/lib/todo/tools → ommlds-0.0.0.dev552/ommlds/minichain/lib/todo}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/todo/context.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/llms → ommlds-0.0.0.dev552/ommlds/minichain/lib/todo/tools}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/todo/tools/read.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/todo/tools/write.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/lib/todo/types.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/models → ommlds-0.0.0.dev552/ommlds/minichain/llms}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/llms/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/llms/tokens.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/llms/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/metadata.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/models/repos → ommlds-0.0.0.dev552/ommlds/minichain/models}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/models/configs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/models/names.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/registries → ommlds-0.0.0.dev552/ommlds/minichain/models/repos}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/models/repos/resolving.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/stream → ommlds-0.0.0.dev552/ommlds/minichain/registries}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/registries/globals.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/registries/manifests.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/registries/registry.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/resources.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/search.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/README.md +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/_origclasses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/_typedvalues.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/facades.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/requests.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/responses.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/services/services.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/standard.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/text → ommlds-0.0.0.dev552/ommlds/minichain/stream}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/stream/services.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/text/toolparsing → ommlds-0.0.0.dev552/ommlds/minichain/text}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/applypatch.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/tools → ommlds-0.0.0.dev552/ommlds/minichain/text/toolparsing}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/base.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/dumb.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/LICENSE +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/hermes2.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/llama31.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/text/toolparsing/llamacpp/utils.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/specials.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/tokenizers.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tokens/vocabs.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/tools/execution → ommlds-0.0.0.dev552/ommlds/minichain/tools}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/_marshal.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/minichain/vectors → ommlds-0.0.0.dev552/ommlds/minichain/tools/execution}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/catalog.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/context.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/errorhandling.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/errors.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/executors.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/permissions.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/execution/reflect.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/fns.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/jsonschema.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/collection.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/fs.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/managers.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/permissions/url.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/reflect.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/tools/types.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/nanochat → ommlds-0.0.0.dev552/ommlds/minichain/transform}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/utils.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/server → ommlds-0.0.0.dev552/ommlds/minichain/vectors}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/embeddings.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/index.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/search.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/similarity.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/stores.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/vectors/types.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/firstinwins.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/instrument.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/retry.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/services.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/stream.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/minichain/wrappers/uuids.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/nanochat/LICENSE +0 -0
- {ommlds-0.0.0.dev551/ommlds/specs → ommlds-0.0.0.dev552/ommlds/nanochat}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/nanochat/rustbpe/LICENSE +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/nanochat/rustbpe/README.md +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/nanochat/tokenizers.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/specs/mcp → ommlds-0.0.0.dev552/ommlds/server}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/__main__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/cli.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/client.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/server/service.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/tools → ommlds-0.0.0.dev552/ommlds/specs}/__init__.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/wiki → ommlds-0.0.0.dev552/ommlds/specs/mcp}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/specs/mcp/_marshal.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/specs/mcp/clients.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/specs/mcp/protocol.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/wiki/text → ommlds-0.0.0.dev552/ommlds/tools}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/tools/ocr.py +0 -0
- {ommlds-0.0.0.dev551/ommlds/wiki/utils → ommlds-0.0.0.dev552/ommlds/wiki}/__init__.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/analyze.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/convert.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/models.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/text/mfh.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/text/wtp.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/utils/io.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/utils/progress.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/utils/xml.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/wiki/xml.py +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/dependency_links.txt +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/entry_points.txt +0 -0
- {ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds.egg-info/top_level.txt +0 -0
- {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.
|
|
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.
|
|
17
|
+
Requires-Dist: omlish==0.0.0.dev552
|
|
18
18
|
Provides-Extra: all
|
|
19
|
-
Requires-Dist: omdev==0.0.0.
|
|
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.
|
|
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
|
{ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/facades/commands/inject.py
RENAMED
|
@@ -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),
|
{ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/bare/interactive.py
RENAMED
|
@@ -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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
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
|
-
|
|
329
|
+
await self._input_history_manager.add(s)
|
|
313
330
|
|
|
314
331
|
await self._chat_action_queue.put(
|
|
315
332
|
ChatApp.UserInput(
|
|
316
|
-
|
|
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)
|
{ommlds-0.0.0.dev551 → ommlds-0.0.0.dev552}/ommlds/cli/modes/chat/interfaces/textual/inject.py
RENAMED
|
@@ -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,
|
|
491
|
-
|
|
492
|
-
|
|
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
|
-
|
|
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
|
-
|
|
503
|
+
self._messages_by_uuid[message_uuid] = aim
|
|
499
504
|
|
|
500
|
-
|
|
505
|
+
await self.enqueue_mount_messages(aim)
|
|
501
506
|
|
|
502
|
-
|
|
507
|
+
mount_messages = True
|
|
508
|
+
refresh = True
|
|
503
509
|
|
|
504
|
-
|
|
510
|
+
else:
|
|
511
|
+
aim = check.isinstance(msg, StreamAiMessage)
|
|
505
512
|
|
|
506
|
-
|
|
507
|
-
|
|
513
|
+
if not aim.is_mounted:
|
|
514
|
+
await aim.append_stream_content(content)
|
|
508
515
|
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
was_at_bottom = self._is_messages_at_bottom()
|
|
516
|
+
else:
|
|
517
|
+
scroll_to_bottom |= self._is_messages_at_bottom()
|
|
512
518
|
|
|
513
|
-
|
|
519
|
+
await aim.append_stream_content(content)
|
|
514
520
|
|
|
515
|
-
if
|
|
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.
|
|
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
|