@axlsdk/axl 0.23.1 → 0.23.3

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.
package/README.md CHANGED
@@ -67,7 +67,7 @@ agent({ model: 'deepseek:deepseek-reasoner' }); // DEEPSEEK_API_KEY
67
67
  agent({ model: 'ollama:llama3' }); // local — no key, $0
68
68
  ```
69
69
 
70
- Presets: `openrouter`, `azure`, `xai`, `deepseek`, `mistral`, `groq`, `bedrock`, and self-hosted `ollama` / `vllm` / `lmstudio` / `llamacpp` / `sglang`. The unified `effort` knob and per-call cost tracking work across them. OpenAI Responses, Anthropic, Google, and OpenRouter accept image input without hard-coding a model catalog; the selected upstream model remains authoritative. Completed-file transcription is a separate, narrower contract. Build your own compatible provider by cloning a `ProviderProfile`; see [provider details](../../docs/providers.md) and [multimodal input](../../docs/multimodal-input.md).
70
+ Presets: `openrouter`, `azure`, `xai`, `deepseek`, `mistral`, `groq`, `bedrock`, and self-hosted `ollama` / `vllm` / `lmstudio` / `llamacpp` / `sglang`. The unified `effort` knob and per-call cost tracking work across them. OpenAI Responses, Anthropic, Google, and OpenRouter accept image input, and OpenAI Chat Completions, Google, and OpenRouter accept general recorded-audio input, without hard-coding a model catalog; the selected upstream model remains authoritative. Completed-file transcription is a separate, narrower contract. Build your own compatible provider by cloning a `ProviderProfile`; see [provider details](../../docs/providers.md) and [multimodal input](../../docs/multimodal-input.md).
71
71
 
72
72
  Each provider also accepts an opt-in `rateLimit` (`{ maxConcurrent?, minIntervalMs?, acquireTimeoutMs? }`) for proactive client-side pacing on top of the automatic 429/503/529 backoff — useful when a large fan-out (e.g. an eval) shares one API key. It caps in-flight request concurrency (not token throughput) for that provider's chat calls. See [Providers → Rate limiting](../../docs/providers.md#rate-limiting-opt-in).
73
73
 
@@ -817,6 +817,27 @@ google:gemini-3.1-pro-preview # Google Gemini
817
817
 
818
818
  See [docs/providers.md](../../docs/providers.md) for the full model list including reasoning models.
819
819
 
820
+ ### General recorded-audio input
821
+
822
+ An `InputAudioPart` puts a finite recording directly in front of a chat model so
823
+ it can reason about speech *and* non-speech sound — the journey transcription
824
+ cannot serve.
825
+
826
+ ```typescript
827
+ await ctx.ask(listener, [
828
+ { type: 'audio', source: { type: 'bytes', data: wav, mediaType: 'audio/wav' } },
829
+ { type: 'text', text: 'What kind of sound is this?' },
830
+ ]);
831
+ ```
832
+
833
+ Sources are `bytes | base64 | provider-file`; an audio URL is unrepresentable by
834
+ construction. Audio is a per-provider opt-in: `openrouter:` is live-certified for
835
+ a text answer, a tool continuation, and streaming; `openai:` (Chat Completions
836
+ `input_audio`) and `google:` (Interactions) are implemented but not yet
837
+ certified; `anthropic:`, `openai-responses:`, and every other compatible preset
838
+ reject an audio part with zero requests and no transcription fallback. See
839
+ [Multimodal input](../../docs/multimodal-input.md#general-recorded-audio-input).
840
+
820
841
  ### Completed-file transcription
821
842
 
822
843
  Use `ctx.transcribe()` for finite recordings, then explicitly pass
@@ -826,7 +847,9 @@ contracts; any nonblank `openrouter-transcription:<vendor/model>` URI can
826
847
  dispatch supported bytes/base64 to OpenRouter, where the selected model/route
827
848
  decides endpoint compatibility. See [Multimodal input](../../docs/multimodal-input.md)
828
849
  for the 25 MiB inline bound, source types, options, transcript redaction,
829
- temporary Gemini Files cleanup, and live-verification commands.
850
+ temporary Gemini Files cleanup, and live-verification commands. Transcription and
851
+ general audio input are separate products: neither is ever a hidden
852
+ implementation of the other.
830
853
 
831
854
  ## License
832
855