Platform Extensibility And Interface Taxonomy (Llm Hooks; Sync Vs Async Usage Patterns)
Sources: 1 • Confidence: High • Updated: 2026-04-12 10:22
Key takeaways
- Enabling sync-to-async conversion required an additional LLM plugin hook mechanism that shipped in LLM 0.30.
- The llm-mrchatterbox plugin is synchronous only.
- The llm-all-models-async plugin converts synchronous models into asynchronous models using a thread pool.
- Version 0.1 of the llm-all-models-async plugin has been released.
- LLM plugins can define new models in both synchronous and asynchronous forms.
Sections
Platform Extensibility And Interface Taxonomy (Llm Hooks; Sync Vs Async Usage Patterns)
- Enabling sync-to-async conversion required an additional LLM plugin hook mechanism that shipped in LLM 0.30.
- LLM plugins can define new models in both synchronous and asynchronous forms.
- Async model variants are usually used for API-backed models, while sync variants more often run the model directly inside the plugin.
Async-Only Consumption As An Ecosystem Constraint (Datasette)
- The llm-mrchatterbox plugin is synchronous only.
- Datasette can only use asynchronous models, which blocks use of sync-only plugins for features such as datasette-enrichments-llm.
Sync-To-Async Adapter Mechanism Via Thread Pool
- The llm-all-models-async plugin converts synchronous models into asynchronous models using a thread pool.
- Version 0.1 of the llm-all-models-async plugin has been released.
Unknowns
- What are the latency, throughput, and resource-usage characteristics of thread-pool-based sync-to-async conversion under concurrent workloads (including risks like thread exhaustion)?
- Which specific LLM 0.30 hook API enables this conversion, and what are its stability/compatibility guarantees across LLM versions?
- Does the adapter preserve functional correctness for all sync model behaviors (streaming outputs, cancellation, timeouts, exception propagation), or are there known edge cases?
- How many widely used LLM plugins are sync-only today, and which Datasette features are most impacted by the async-only requirement?
- Is there any direct decision-readthrough (operator, product, or investor) stated in the corpus tied to these changes?