@axlsdk/axl 0.23.2 → 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 +25 -2
- package/dist/index.cjs +897 -254
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +163 -65
- package/dist/index.d.ts +163 -65
- package/dist/index.js +896 -254
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
|