@usestratus/sdk 0.12.0 → 0.13.0
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 +541 -0
- package/dist/azure/chat-completions-model.d.ts +3 -0
- package/dist/azure/chat-completions-model.d.ts.map +1 -1
- package/dist/azure/chat-completions-model.js +39 -18
- package/dist/azure/chat-completions-model.js.map +1 -1
- package/dist/azure/responses-model.d.ts +3 -0
- package/dist/azure/responses-model.d.ts.map +1 -1
- package/dist/azure/responses-model.js +31 -20
- package/dist/azure/responses-model.js.map +1 -1
- package/dist/azure/retry.d.ts +17 -0
- package/dist/azure/retry.d.ts.map +1 -0
- package/dist/azure/retry.js +45 -0
- package/dist/azure/retry.js.map +1 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset=".github/logo-dark.svg">
|
|
4
|
+
<source media="(prefers-color-scheme: light)" srcset=".github/logo.svg">
|
|
5
|
+
<img src=".github/logo.svg" alt="Stratus" width="80" height="80">
|
|
6
|
+
</picture>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
# Stratus
|
|
10
|
+
|
|
11
|
+
[usestratus.dev](https://usestratus.dev)
|
|
12
|
+
|
|
13
|
+
[](https://www.npmjs.com/package/@usestratus/sdk)
|
|
14
|
+
[](https://github.com/tylergibbs1/stratus/actions/workflows/ci.yml)
|
|
15
|
+
|
|
16
|
+
A better TypeScript agent SDK for Azure OpenAI. Build multi-agent systems with tools, handoffs, guardrails, streaming, structured output, and more.
|
|
17
|
+
|
|
18
|
+
- **Built for Azure, not bolted on** — auto-endpoint detection, Entra ID auth, content filter errors as typed exceptions, and built-in retry. No 404 config spirals, no "which SDK do I use" confusion.
|
|
19
|
+
- **Two API backends, one interface** — Chat Completions and Responses API through the same agent, tool, and session code. Start with one, switch with a single line.
|
|
20
|
+
- **Multi-agent orchestration** — handoffs, subagents, guardrails, and hooks compose through a single run loop. Hooks can deny or modify tool calls at runtime.
|
|
21
|
+
- **Client-side state you control** — save, resume, and fork conversations as portable JSON snapshots. No server-side threads, no opaque session IDs.
|
|
22
|
+
- **Type-safe from schema to output** — Zod schemas drive tool parameters, structured output, and validation. Context types flow through agents, hooks, and guardrails at compile time.
|
|
23
|
+
- **Zero dependencies** — only Zod as a peer dep. No transitive dependency sprawl, no framework lock-in.
|
|
24
|
+
|
|
25
|
+
`agents` `tools` `streaming` `structured output` `handoffs` `subagents` `guardrails` `hooks` `tracing` `sessions` `abort signals` `code mode` `todo tracking` `cost tracking`
|
|
26
|
+
|
|
27
|
+
## Install
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
bun add @usestratus/sdk
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Stratus requires [Zod](https://zod.dev) as a peer dependency:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
bun add zod
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Quick Start
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import { z } from "zod";
|
|
43
|
+
import { Agent, AzureResponsesModel, run, tool } from "@usestratus/sdk";
|
|
44
|
+
|
|
45
|
+
const model = new AzureResponsesModel({
|
|
46
|
+
endpoint: process.env.AZURE_OPENAI_ENDPOINT!,
|
|
47
|
+
apiKey: process.env.AZURE_OPENAI_API_KEY!,
|
|
48
|
+
deployment: "gpt-5.2",
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
const getWeather = tool({
|
|
52
|
+
name: "get_weather",
|
|
53
|
+
description: "Get the current weather for a city",
|
|
54
|
+
parameters: z.object({
|
|
55
|
+
city: z.string().describe("The city name"),
|
|
56
|
+
}),
|
|
57
|
+
execute: async (_ctx, { city }) => {
|
|
58
|
+
return `72°F and sunny in ${city}`;
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
const agent = new Agent({
|
|
63
|
+
name: "weather-assistant",
|
|
64
|
+
instructions: "You are a helpful weather assistant.",
|
|
65
|
+
model,
|
|
66
|
+
tools: [getWeather],
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
const result = await run(agent, "What's the weather in New York?");
|
|
70
|
+
console.log(result.output);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Core Concepts
|
|
74
|
+
|
|
75
|
+
### Agents
|
|
76
|
+
|
|
77
|
+
Agents are the primary building block. Each agent has a name, instructions, a model, and optional tools, handoffs, guardrails, and hooks.
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
const agent = new Agent({
|
|
81
|
+
name: "my-agent",
|
|
82
|
+
instructions: "You are a helpful assistant.",
|
|
83
|
+
model,
|
|
84
|
+
tools: [myTool],
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// Dynamic instructions based on context
|
|
88
|
+
const agent = new Agent({
|
|
89
|
+
name: "my-agent",
|
|
90
|
+
instructions: (ctx) => `You are helping ${ctx.userName}.`,
|
|
91
|
+
model,
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Tools
|
|
96
|
+
|
|
97
|
+
Define tools with Zod schemas for type-safe parameter validation:
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
const searchTool = tool({
|
|
101
|
+
name: "search",
|
|
102
|
+
description: "Search for information",
|
|
103
|
+
parameters: z.object({
|
|
104
|
+
query: z.string().describe("Search query"),
|
|
105
|
+
limit: z.number().optional().describe("Max results"),
|
|
106
|
+
}),
|
|
107
|
+
execute: async (context, { query, limit }) => {
|
|
108
|
+
// Tool logic here
|
|
109
|
+
return "search results";
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Streaming
|
|
115
|
+
|
|
116
|
+
Stream responses token-by-token:
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
const { stream: s, result } = stream(agent, "Tell me a story");
|
|
120
|
+
|
|
121
|
+
for await (const event of s) {
|
|
122
|
+
if (event.type === "content_delta") {
|
|
123
|
+
process.stdout.write(event.content);
|
|
124
|
+
} else if (event.type === "tool_call_start") {
|
|
125
|
+
console.log(`Calling: ${event.toolCall.name}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const finalResult = await result;
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Structured Output
|
|
133
|
+
|
|
134
|
+
Use Zod schemas to get typed, validated output:
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
const PersonSchema = z.object({
|
|
138
|
+
name: z.string(),
|
|
139
|
+
age: z.number(),
|
|
140
|
+
occupation: z.string(),
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
const agent = new Agent({
|
|
144
|
+
name: "extractor",
|
|
145
|
+
instructions: "Extract person information.",
|
|
146
|
+
model,
|
|
147
|
+
outputType: PersonSchema,
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
const result = await run(agent, "Marie Curie was a 66-year-old physicist.");
|
|
151
|
+
console.log(result.finalOutput); // { name: "Marie Curie", age: 66, occupation: "physicist" }
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Sessions
|
|
155
|
+
|
|
156
|
+
Sessions maintain conversation history across multiple interactions:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
import { createSession } from "@usestratus/sdk";
|
|
160
|
+
|
|
161
|
+
const session = createSession({ model, tools: [myTool] });
|
|
162
|
+
|
|
163
|
+
session.send("Hello!");
|
|
164
|
+
for await (const event of session.stream()) {
|
|
165
|
+
// handle events
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
session.send("Follow-up question");
|
|
169
|
+
for await (const event of session.stream()) {
|
|
170
|
+
// handle events
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Save and resume sessions
|
|
174
|
+
const snapshot = session.save();
|
|
175
|
+
const resumed = resumeSession(snapshot, { model });
|
|
176
|
+
|
|
177
|
+
// Fork a session (new ID, same history)
|
|
178
|
+
const forked = forkSession(snapshot, { model });
|
|
179
|
+
|
|
180
|
+
// Cleanup
|
|
181
|
+
session.close();
|
|
182
|
+
// Or use Symbol.asyncDispose:
|
|
183
|
+
await using session = createSession({ model });
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Handoffs
|
|
187
|
+
|
|
188
|
+
Transfer control between specialized agents:
|
|
189
|
+
|
|
190
|
+
```ts
|
|
191
|
+
import { handoff } from "@usestratus/sdk";
|
|
192
|
+
|
|
193
|
+
const orderAgent = new Agent({
|
|
194
|
+
name: "order_specialist",
|
|
195
|
+
instructions: "Help with order inquiries.",
|
|
196
|
+
model,
|
|
197
|
+
tools: [lookupOrder],
|
|
198
|
+
handoffDescription: "Transfer for order questions",
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
const triageAgent = new Agent({
|
|
202
|
+
name: "triage",
|
|
203
|
+
instructions: "Route to the right specialist.",
|
|
204
|
+
model,
|
|
205
|
+
handoffs: [
|
|
206
|
+
orderAgent, // shorthand
|
|
207
|
+
handoff({ // with options
|
|
208
|
+
agent: refundAgent,
|
|
209
|
+
onHandoff: () => console.log("Transferring..."),
|
|
210
|
+
}),
|
|
211
|
+
],
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
const result = await run(triageAgent, "Where is my order?");
|
|
215
|
+
console.log(result.lastAgent.name); // "order_specialist"
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Subagents
|
|
219
|
+
|
|
220
|
+
Delegate subtasks to child agents that run independently:
|
|
221
|
+
|
|
222
|
+
```ts
|
|
223
|
+
import { subagent } from "@usestratus/sdk";
|
|
224
|
+
|
|
225
|
+
const researcher = new Agent({
|
|
226
|
+
name: "researcher",
|
|
227
|
+
instructions: "Research topics thoroughly.",
|
|
228
|
+
model,
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
const parentAgent = new Agent({
|
|
232
|
+
name: "parent",
|
|
233
|
+
instructions: "Use the researcher for deep dives.",
|
|
234
|
+
model,
|
|
235
|
+
subagents: [
|
|
236
|
+
subagent({
|
|
237
|
+
agent: researcher,
|
|
238
|
+
inputSchema: z.object({ topic: z.string() }),
|
|
239
|
+
mapInput: ({ topic }) => `Research: ${topic}`,
|
|
240
|
+
}),
|
|
241
|
+
],
|
|
242
|
+
});
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Guardrails
|
|
246
|
+
|
|
247
|
+
Validate inputs and outputs with guardrails:
|
|
248
|
+
|
|
249
|
+
```ts
|
|
250
|
+
import type { InputGuardrail, OutputGuardrail } from "@usestratus/sdk";
|
|
251
|
+
|
|
252
|
+
const profanityFilter: InputGuardrail = {
|
|
253
|
+
name: "profanity_filter",
|
|
254
|
+
execute: (input) => ({
|
|
255
|
+
tripwireTriggered: containsProfanity(input),
|
|
256
|
+
outputInfo: "Blocked by profanity filter",
|
|
257
|
+
}),
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
const piiFilter: OutputGuardrail = {
|
|
261
|
+
name: "pii_filter",
|
|
262
|
+
execute: (output) => ({
|
|
263
|
+
tripwireTriggered: /\d{3}-\d{2}-\d{4}/.test(output),
|
|
264
|
+
outputInfo: "Output contained PII",
|
|
265
|
+
}),
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
const agent = new Agent({
|
|
269
|
+
name: "guarded",
|
|
270
|
+
model,
|
|
271
|
+
inputGuardrails: [profanityFilter],
|
|
272
|
+
outputGuardrails: [piiFilter],
|
|
273
|
+
});
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Guardrails run in parallel. When a tripwire is triggered, an `InputGuardrailTripwireTriggered` or `OutputGuardrailTripwireTriggered` error is thrown.
|
|
277
|
+
|
|
278
|
+
### Hooks
|
|
279
|
+
|
|
280
|
+
Lifecycle hooks for observability and control:
|
|
281
|
+
|
|
282
|
+
```ts
|
|
283
|
+
import type { AgentHooks } from "@usestratus/sdk";
|
|
284
|
+
|
|
285
|
+
const hooks: AgentHooks = {
|
|
286
|
+
beforeRun: ({ agent, input }) => { /* ... */ },
|
|
287
|
+
afterRun: ({ agent, result }) => { /* ... */ },
|
|
288
|
+
|
|
289
|
+
// Return a decision to allow, deny, or modify tool calls
|
|
290
|
+
beforeToolCall: ({ toolCall }) => {
|
|
291
|
+
if (toolCall.function.name === "dangerous_tool") {
|
|
292
|
+
return { decision: "deny", reason: "Not allowed" };
|
|
293
|
+
}
|
|
294
|
+
return { decision: "allow" };
|
|
295
|
+
},
|
|
296
|
+
afterToolCall: ({ toolCall, result }) => { /* ... */ },
|
|
297
|
+
|
|
298
|
+
// Allow or deny handoffs
|
|
299
|
+
beforeHandoff: ({ fromAgent, toAgent }) => {
|
|
300
|
+
return { decision: "allow" };
|
|
301
|
+
},
|
|
302
|
+
};
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### Tracing
|
|
306
|
+
|
|
307
|
+
Opt-in tracing with zero overhead when inactive:
|
|
308
|
+
|
|
309
|
+
```ts
|
|
310
|
+
import { withTrace } from "@usestratus/sdk";
|
|
311
|
+
|
|
312
|
+
const { result, trace } = await withTrace("my-workflow", () =>
|
|
313
|
+
run(agent, "Hello"),
|
|
314
|
+
);
|
|
315
|
+
|
|
316
|
+
console.log(trace.id);
|
|
317
|
+
console.log(trace.duration);
|
|
318
|
+
for (const span of trace.spans) {
|
|
319
|
+
console.log(`[${span.type}] ${span.name} (${span.duration}ms)`);
|
|
320
|
+
// span.type: "model_call" | "tool_execution" | "handoff" | "guardrail" | "subagent" | "custom"
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Abort Signals
|
|
325
|
+
|
|
326
|
+
Cancel runs with `AbortSignal`:
|
|
327
|
+
|
|
328
|
+
```ts
|
|
329
|
+
const controller = new AbortController();
|
|
330
|
+
|
|
331
|
+
setTimeout(() => controller.abort(), 5000);
|
|
332
|
+
|
|
333
|
+
try {
|
|
334
|
+
const result = await run(agent, "Long task...", {
|
|
335
|
+
signal: controller.signal,
|
|
336
|
+
});
|
|
337
|
+
} catch (error) {
|
|
338
|
+
if (error instanceof RunAbortedError) {
|
|
339
|
+
console.log("Run was cancelled");
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### Todo Tracking
|
|
345
|
+
|
|
346
|
+
Track task progress during agent execution:
|
|
347
|
+
|
|
348
|
+
```ts
|
|
349
|
+
import { todoTool, TodoList } from "@usestratus/sdk";
|
|
350
|
+
|
|
351
|
+
const todos = new TodoList();
|
|
352
|
+
todos.onUpdate((items) => {
|
|
353
|
+
for (const item of items) {
|
|
354
|
+
const icon = item.status === "completed" ? "+" : item.status === "in_progress" ? ">" : "-";
|
|
355
|
+
console.log(`${icon} ${item.content}`);
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
const agent = new Agent({
|
|
360
|
+
name: "planner",
|
|
361
|
+
instructions: "Break tasks into steps and track progress with todo_write.",
|
|
362
|
+
model,
|
|
363
|
+
tools: [todoTool(todos)],
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
await run(agent, "Set up a new TypeScript project");
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Usage & Cost Tracking
|
|
370
|
+
|
|
371
|
+
Track token usage and estimate costs:
|
|
372
|
+
|
|
373
|
+
```ts
|
|
374
|
+
import { createCostEstimator } from "@usestratus/sdk";
|
|
375
|
+
|
|
376
|
+
const estimator = createCostEstimator({
|
|
377
|
+
inputTokenCostPer1k: 0.01,
|
|
378
|
+
outputTokenCostPer1k: 0.03,
|
|
379
|
+
});
|
|
380
|
+
|
|
381
|
+
const result = await run(agent, "Hello", { costEstimator: estimator });
|
|
382
|
+
console.log(result.usage.totalTokens); // token counts
|
|
383
|
+
console.log(result.totalCostUsd); // estimated cost
|
|
384
|
+
console.log(result.numTurns); // model call count
|
|
385
|
+
|
|
386
|
+
// Set budget limits
|
|
387
|
+
const result = await run(agent, "Hello", {
|
|
388
|
+
costEstimator: estimator,
|
|
389
|
+
maxBudgetUsd: 0.50, // throws MaxBudgetExceededError if exceeded
|
|
390
|
+
});
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### Tool Choice & Tool Use Behavior
|
|
394
|
+
|
|
395
|
+
Control how the model uses tools:
|
|
396
|
+
|
|
397
|
+
```ts
|
|
398
|
+
const agent = new Agent({
|
|
399
|
+
name: "my-agent",
|
|
400
|
+
model,
|
|
401
|
+
tools: [myTool],
|
|
402
|
+
modelSettings: {
|
|
403
|
+
// "auto" | "none" | "required" | { type: "function", function: { name: "..." } }
|
|
404
|
+
toolChoice: "required",
|
|
405
|
+
},
|
|
406
|
+
// "run_llm_again" (default) | "stop_on_first_tool" | { stopAtToolNames: ["..."] }
|
|
407
|
+
toolUseBehavior: "stop_on_first_tool",
|
|
408
|
+
});
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
### Code Mode (Experimental)
|
|
412
|
+
|
|
413
|
+
Let LLMs write code that orchestrates multiple tools instead of calling them one at a time. Inspired by [Cloudflare's Code Mode](https://blog.cloudflare.com/code-mode-the-better-way-to-use-mcp) — LLMs are better at writing code than making individual tool calls.
|
|
414
|
+
|
|
415
|
+
```ts
|
|
416
|
+
import { createCodeModeTool, FunctionExecutor } from "@usestratus/sdk/core";
|
|
417
|
+
|
|
418
|
+
const executor = new FunctionExecutor({ timeout: 30_000 });
|
|
419
|
+
const codemode = createCodeModeTool({
|
|
420
|
+
tools: [getWeather, sendEmail, lookupOrder],
|
|
421
|
+
executor,
|
|
422
|
+
});
|
|
423
|
+
|
|
424
|
+
const agent = new Agent({
|
|
425
|
+
name: "assistant",
|
|
426
|
+
model,
|
|
427
|
+
tools: [codemode],
|
|
428
|
+
});
|
|
429
|
+
|
|
430
|
+
// The LLM writes code like:
|
|
431
|
+
// async () => {
|
|
432
|
+
// const weather = await codemode.get_weather({ location: "London" });
|
|
433
|
+
// if (weather.temp > 60) {
|
|
434
|
+
// await codemode.send_email({ to: "team@co.com", subject: "Nice day!", body: ... });
|
|
435
|
+
// }
|
|
436
|
+
// return { weather, notified: true };
|
|
437
|
+
// }
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
`createCodeModeTool` generates TypeScript types from your tools, presents the LLM with a single `execute_code` tool, and runs the generated code in an executor. All tool calls happen within one invocation — no round-trips through the model between calls.
|
|
441
|
+
|
|
442
|
+
Two built-in executors:
|
|
443
|
+
- **`FunctionExecutor`** — fast, same-process (NOT sandboxed)
|
|
444
|
+
- **`WorkerExecutor`** — isolated via `worker_threads` (separate V8 context, no host access)
|
|
445
|
+
|
|
446
|
+
Implement the `Executor` interface for custom sandboxes (containers, Cloudflare Workers, etc.).
|
|
447
|
+
|
|
448
|
+
## Imports
|
|
449
|
+
|
|
450
|
+
Stratus provides three export paths:
|
|
451
|
+
|
|
452
|
+
```ts
|
|
453
|
+
// Everything (core + Azure)
|
|
454
|
+
import { Agent, run, tool, AzureChatCompletionsModel, AzureResponsesModel } from "@usestratus/sdk";
|
|
455
|
+
|
|
456
|
+
// Core only (provider-agnostic)
|
|
457
|
+
import { Agent, run, tool } from "@usestratus/sdk/core";
|
|
458
|
+
|
|
459
|
+
// Azure provider only
|
|
460
|
+
import { AzureChatCompletionsModel, AzureResponsesModel } from "@usestratus/sdk/azure";
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
## Configuration
|
|
464
|
+
|
|
465
|
+
### Azure OpenAI
|
|
466
|
+
|
|
467
|
+
Stratus includes two interchangeable Azure model implementations:
|
|
468
|
+
|
|
469
|
+
```ts
|
|
470
|
+
// Chat Completions API
|
|
471
|
+
const model = new AzureChatCompletionsModel({
|
|
472
|
+
endpoint: process.env.AZURE_OPENAI_ENDPOINT!,
|
|
473
|
+
apiKey: process.env.AZURE_OPENAI_API_KEY!,
|
|
474
|
+
deployment: "gpt-5.2",
|
|
475
|
+
apiVersion: "2025-03-01-preview", // optional, this is the default
|
|
476
|
+
});
|
|
477
|
+
|
|
478
|
+
// Responses API
|
|
479
|
+
const model = new AzureResponsesModel({
|
|
480
|
+
endpoint: process.env.AZURE_OPENAI_ENDPOINT!,
|
|
481
|
+
apiKey: process.env.AZURE_OPENAI_API_KEY!,
|
|
482
|
+
deployment: "gpt-5.2",
|
|
483
|
+
apiVersion: "2025-04-01-preview", // optional, this is the default
|
|
484
|
+
});
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
Both implement the same `Model` interface — swap one for the other without changing any agent, tool, or session code.
|
|
488
|
+
|
|
489
|
+
### Environment Variables
|
|
490
|
+
|
|
491
|
+
```
|
|
492
|
+
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
|
|
493
|
+
AZURE_OPENAI_API_KEY=your-api-key
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
## Error Handling
|
|
497
|
+
|
|
498
|
+
All errors extend `StratusError`:
|
|
499
|
+
|
|
500
|
+
| Error | Description |
|
|
501
|
+
|---|---|
|
|
502
|
+
| `StratusError` | Base error class |
|
|
503
|
+
| `ModelError` | API call failures (includes `status` and `code`) |
|
|
504
|
+
| `ContentFilterError` | Content filtered by Azure's content management policy |
|
|
505
|
+
| `MaxTurnsExceededError` | Agent exceeded the `maxTurns` limit |
|
|
506
|
+
| `OutputParseError` | Structured output failed Zod validation |
|
|
507
|
+
| `RunAbortedError` | Run cancelled via `AbortSignal` |
|
|
508
|
+
| `InputGuardrailTripwireTriggered` | Input guardrail blocked the request |
|
|
509
|
+
| `OutputGuardrailTripwireTriggered` | Output guardrail blocked the response |
|
|
510
|
+
|
|
511
|
+
```ts
|
|
512
|
+
import { ModelError, MaxTurnsExceededError, RunAbortedError } from "@usestratus/sdk";
|
|
513
|
+
|
|
514
|
+
try {
|
|
515
|
+
await run(agent, input);
|
|
516
|
+
} catch (error) {
|
|
517
|
+
if (error instanceof MaxTurnsExceededError) {
|
|
518
|
+
// Agent ran too many turns
|
|
519
|
+
} else if (error instanceof ModelError) {
|
|
520
|
+
console.log(error.status, error.code);
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
## Packages
|
|
526
|
+
|
|
527
|
+
Stratus is a monorepo with two packages:
|
|
528
|
+
|
|
529
|
+
| Package | Description |
|
|
530
|
+
|---|---|
|
|
531
|
+
| [`@usestratus/sdk`](packages/stratus-sdk/) | Agent SDK for Azure OpenAI (this README) |
|
|
532
|
+
| [`@usestratus/mcp-aws`](packages/mcp-aws/) | MCP server framework for AWS — deploy MCP servers to Lambda with progressive disclosure, tool gating, and code mode |
|
|
533
|
+
|
|
534
|
+
## Development
|
|
535
|
+
|
|
536
|
+
```bash
|
|
537
|
+
bun install # Install all workspace dependencies
|
|
538
|
+
bun test # Run tests (all packages)
|
|
539
|
+
bun run lint # Lint with Biome
|
|
540
|
+
bun run typecheck # TypeScript type checking
|
|
541
|
+
```
|
|
@@ -5,12 +5,15 @@ export interface AzureChatCompletionsModelConfig {
|
|
|
5
5
|
azureAdTokenProvider?: () => Promise<string>;
|
|
6
6
|
deployment: string;
|
|
7
7
|
apiVersion?: string;
|
|
8
|
+
/** Maximum number of retries on 429 / network errors (default 3). */
|
|
9
|
+
maxRetries?: number;
|
|
8
10
|
}
|
|
9
11
|
export declare class AzureChatCompletionsModel implements Model {
|
|
10
12
|
private readonly url;
|
|
11
13
|
private readonly apiKey?;
|
|
12
14
|
private readonly tokenProvider?;
|
|
13
15
|
private readonly deployment;
|
|
16
|
+
private readonly maxRetries;
|
|
14
17
|
constructor(config: AzureChatCompletionsModelConfig);
|
|
15
18
|
private getAuthHeaders;
|
|
16
19
|
getResponse(request: ModelRequest, options?: ModelRequestOptions): Promise<ModelResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-completions-model.d.ts","sourceRoot":"","sources":["../../src/azure/chat-completions-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EAEX,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-completions-model.d.ts","sourceRoot":"","sources":["../../src/azure/chat-completions-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EAEX,MAAM,eAAe,CAAC;AAMvB,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,yBAA0B,YAAW,KAAK;IACtD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,MAAM,EAAE,+BAA+B;YAkBrC,cAAc;IAStB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAOxF,mBAAmB,CACzB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,cAAc,CAAC,WAAW,CAAC;IAiG9B,OAAO,CAAC,gBAAgB;YA4CV,OAAO;YAoDP,mBAAmB;IA2BjC,OAAO,CAAC,aAAa;CAyCrB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ContentFilterError, ModelError, StratusError } from "../core/errors";
|
|
2
2
|
import { resolveChatCompletionsUrl } from "./endpoint";
|
|
3
|
+
import { abortableSleep, computeRetryDelay } from "./retry";
|
|
3
4
|
import { parseSSE } from "./sse-parser";
|
|
4
5
|
const DEFAULT_API_VERSION = "2025-03-01-preview";
|
|
5
6
|
export class AzureChatCompletionsModel {
|
|
@@ -7,6 +8,7 @@ export class AzureChatCompletionsModel {
|
|
|
7
8
|
apiKey;
|
|
8
9
|
tokenProvider;
|
|
9
10
|
deployment;
|
|
11
|
+
maxRetries;
|
|
10
12
|
constructor(config) {
|
|
11
13
|
if (config.apiKey && config.azureAdTokenProvider) {
|
|
12
14
|
throw new StratusError("Provide either apiKey or azureAdTokenProvider, not both");
|
|
@@ -17,6 +19,7 @@ export class AzureChatCompletionsModel {
|
|
|
17
19
|
this.apiKey = config.apiKey;
|
|
18
20
|
this.tokenProvider = config.azureAdTokenProvider;
|
|
19
21
|
this.deployment = config.deployment;
|
|
22
|
+
this.maxRetries = config.maxRetries ?? 3;
|
|
20
23
|
this.url = resolveChatCompletionsUrl(config.endpoint, config.deployment, config.apiVersion ?? DEFAULT_API_VERSION);
|
|
21
24
|
}
|
|
22
25
|
async getAuthHeaders() {
|
|
@@ -24,6 +27,7 @@ export class AzureChatCompletionsModel {
|
|
|
24
27
|
const token = await this.tokenProvider();
|
|
25
28
|
return { Authorization: `Bearer ${token}` };
|
|
26
29
|
}
|
|
30
|
+
// Constructor validates exactly one of apiKey/tokenProvider is set.
|
|
27
31
|
return { "api-key": this.apiKey };
|
|
28
32
|
}
|
|
29
33
|
async getResponse(request, options) {
|
|
@@ -178,24 +182,39 @@ export class AzureChatCompletionsModel {
|
|
|
178
182
|
return body;
|
|
179
183
|
}
|
|
180
184
|
async doFetch(body, signal) {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
185
|
+
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
|
|
186
|
+
let response;
|
|
187
|
+
try {
|
|
188
|
+
const authHeaders = await this.getAuthHeaders();
|
|
189
|
+
response = await fetch(this.url, {
|
|
190
|
+
method: "POST",
|
|
191
|
+
headers: {
|
|
192
|
+
"Content-Type": "application/json",
|
|
193
|
+
...authHeaders,
|
|
194
|
+
},
|
|
195
|
+
body: JSON.stringify(body),
|
|
196
|
+
signal,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
catch (fetchErr) {
|
|
200
|
+
if (signal?.aborted)
|
|
201
|
+
throw fetchErr;
|
|
202
|
+
if (attempt < this.maxRetries) {
|
|
203
|
+
const waitMs = Math.min(1000 * 2 ** attempt + Math.random() * 1000, 30000);
|
|
204
|
+
await abortableSleep(waitMs, signal);
|
|
205
|
+
if (signal?.aborted)
|
|
206
|
+
throw fetchErr;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
throw new ModelError(`Azure API network error after ${this.maxRetries + 1} attempts: ${fetchErr instanceof Error ? fetchErr.message : String(fetchErr)}`, { cause: fetchErr });
|
|
210
|
+
}
|
|
211
|
+
if (response.status === 429 && attempt < this.maxRetries) {
|
|
212
|
+
const waitMs = computeRetryDelay(response.headers, attempt);
|
|
213
|
+
console.warn(`[AzureChatCompletionsModel] 429 rate limited, retrying in ${(waitMs / 1000).toFixed(1)}s (attempt ${attempt + 1}/${this.maxRetries})`);
|
|
214
|
+
await abortableSleep(waitMs, signal);
|
|
215
|
+
if (signal?.aborted) {
|
|
216
|
+
throw new ModelError("Azure API request aborted during retry backoff", { status: 429 });
|
|
217
|
+
}
|
|
199
218
|
continue;
|
|
200
219
|
}
|
|
201
220
|
if (!response.ok) {
|
|
@@ -203,6 +222,8 @@ export class AzureChatCompletionsModel {
|
|
|
203
222
|
}
|
|
204
223
|
return response;
|
|
205
224
|
}
|
|
225
|
+
// Unreachable: the final iteration always returns or throws above.
|
|
226
|
+
// Kept for TypeScript's control-flow analysis.
|
|
206
227
|
throw new ModelError("Max retries exceeded for Azure API request");
|
|
207
228
|
}
|
|
208
229
|
async handleErrorResponse(response) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-completions-model.js","sourceRoot":"","sources":["../../src/azure/chat-completions-model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-completions-model.js","sourceRoot":"","sources":["../../src/azure/chat-completions-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ export interface AzureResponsesModelConfig {
|
|
|
6
6
|
deployment: string;
|
|
7
7
|
apiVersion?: string;
|
|
8
8
|
store?: boolean;
|
|
9
|
+
/** Maximum number of retries on 429 / network errors (default 3). */
|
|
10
|
+
maxRetries?: number;
|
|
9
11
|
}
|
|
10
12
|
export declare class AzureResponsesModel implements Model {
|
|
11
13
|
private readonly url;
|
|
@@ -13,6 +15,7 @@ export declare class AzureResponsesModel implements Model {
|
|
|
13
15
|
private readonly tokenProvider?;
|
|
14
16
|
private readonly deployment;
|
|
15
17
|
private readonly store;
|
|
18
|
+
private readonly maxRetries;
|
|
16
19
|
constructor(config: AzureResponsesModelConfig);
|
|
17
20
|
private getAuthHeaders;
|
|
18
21
|
getResponse(request: ModelRequest, options?: ModelRequestOptions): Promise<ModelResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses-model.d.ts","sourceRoot":"","sources":["../../src/azure/responses-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EAEX,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"responses-model.d.ts","sourceRoot":"","sources":["../../src/azure/responses-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EAEX,MAAM,eAAe,CAAC;AAcvB,MAAM,WAAW,yBAAyB;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAsCD,qBAAa,mBAAoB,YAAW,KAAK;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,MAAM,EAAE,yBAAyB;YAe/B,cAAc;IAStB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAOxF,mBAAmB,CACzB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,cAAc,CAAC,WAAW,CAAC;IAiM9B,OAAO,CAAC,gBAAgB;YAkEV,OAAO;YAsDP,mBAAmB;IA2BjC,OAAO,CAAC,aAAa;CA4BrB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ContentFilterError, ModelError, StratusError } from "../core/errors";
|
|
2
2
|
import { resolveResponsesUrl } from "./endpoint";
|
|
3
|
+
import { abortableSleep, computeRetryDelay } from "./retry";
|
|
3
4
|
import { parseSSE } from "./sse-parser";
|
|
4
5
|
const DEFAULT_API_VERSION = "2025-04-01-preview";
|
|
5
6
|
const HOSTED_TOOL_EVENT_MAP = new Map([
|
|
@@ -40,6 +41,7 @@ export class AzureResponsesModel {
|
|
|
40
41
|
tokenProvider;
|
|
41
42
|
deployment;
|
|
42
43
|
store;
|
|
44
|
+
maxRetries;
|
|
43
45
|
constructor(config) {
|
|
44
46
|
if (config.apiKey && config.azureAdTokenProvider) {
|
|
45
47
|
throw new StratusError("Provide either apiKey or azureAdTokenProvider, not both");
|
|
@@ -51,6 +53,7 @@ export class AzureResponsesModel {
|
|
|
51
53
|
this.tokenProvider = config.azureAdTokenProvider;
|
|
52
54
|
this.deployment = config.deployment;
|
|
53
55
|
this.store = config.store ?? false;
|
|
56
|
+
this.maxRetries = config.maxRetries ?? 3;
|
|
54
57
|
this.url = resolveResponsesUrl(config.endpoint, config.apiVersion ?? DEFAULT_API_VERSION);
|
|
55
58
|
}
|
|
56
59
|
async getAuthHeaders() {
|
|
@@ -58,6 +61,7 @@ export class AzureResponsesModel {
|
|
|
58
61
|
const token = await this.tokenProvider();
|
|
59
62
|
return { Authorization: `Bearer ${token}` };
|
|
60
63
|
}
|
|
64
|
+
// Constructor validates exactly one of apiKey/tokenProvider is set.
|
|
61
65
|
return { "api-key": this.apiKey };
|
|
62
66
|
}
|
|
63
67
|
async getResponse(request, options) {
|
|
@@ -68,6 +72,8 @@ export class AzureResponsesModel {
|
|
|
68
72
|
}
|
|
69
73
|
async *getStreamedResponse(request, options) {
|
|
70
74
|
const body = this.buildRequestBody(request, true);
|
|
75
|
+
// SSE-level retries are separate from doFetch's HTTP-level retries.
|
|
76
|
+
// Use a fixed budget of 3 to avoid quadratic retry multiplication.
|
|
71
77
|
const maxSseRetries = 3;
|
|
72
78
|
for (let sseAttempt = 0; sseAttempt <= maxSseRetries; sseAttempt++) {
|
|
73
79
|
const response = await this.doFetch(body, options?.signal);
|
|
@@ -213,11 +219,14 @@ export class AzureResponsesModel {
|
|
|
213
219
|
}
|
|
214
220
|
// SSE rate limited before any events were yielded — retry with backoff
|
|
215
221
|
if (sseRateLimited) {
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
222
|
+
const waitMs = computeRetryDelay(response.headers, sseAttempt);
|
|
223
|
+
console.warn(`[AzureResponsesModel] 429 rate limited (SSE), retrying in ${(waitMs / 1000).toFixed(1)}s (attempt ${sseAttempt + 1}/${maxSseRetries})`);
|
|
224
|
+
await abortableSleep(waitMs, options?.signal);
|
|
225
|
+
if (options?.signal?.aborted) {
|
|
226
|
+
throw new ModelError("Azure API request aborted during SSE retry backoff", {
|
|
227
|
+
status: 429,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
221
230
|
continue;
|
|
222
231
|
}
|
|
223
232
|
// If response.failed had no error details and no subsequent error event provided one
|
|
@@ -312,9 +321,7 @@ export class AzureResponsesModel {
|
|
|
312
321
|
return body;
|
|
313
322
|
}
|
|
314
323
|
async doFetch(body, signal) {
|
|
315
|
-
|
|
316
|
-
let lastError;
|
|
317
|
-
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
324
|
+
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
|
|
318
325
|
let response;
|
|
319
326
|
try {
|
|
320
327
|
const authHeaders = await this.getAuthHeaders();
|
|
@@ -333,20 +340,22 @@ export class AzureResponsesModel {
|
|
|
333
340
|
// are retryable unless the caller aborted.
|
|
334
341
|
if (signal?.aborted)
|
|
335
342
|
throw fetchErr;
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
343
|
+
if (attempt < this.maxRetries) {
|
|
344
|
+
const waitMs = Math.min(1000 * 2 ** attempt + Math.random() * 1000, 30000);
|
|
345
|
+
await abortableSleep(waitMs, signal);
|
|
346
|
+
if (signal?.aborted)
|
|
347
|
+
throw fetchErr;
|
|
340
348
|
continue;
|
|
341
349
|
}
|
|
342
|
-
throw new ModelError(`Azure API network error after ${maxRetries + 1} attempts: ${fetchErr instanceof Error ? fetchErr.message : String(fetchErr)}`, { cause: fetchErr });
|
|
350
|
+
throw new ModelError(`Azure API network error after ${this.maxRetries + 1} attempts: ${fetchErr instanceof Error ? fetchErr.message : String(fetchErr)}`, { cause: fetchErr });
|
|
343
351
|
}
|
|
344
|
-
if (response.status === 429 && attempt < maxRetries) {
|
|
345
|
-
const
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
352
|
+
if (response.status === 429 && attempt < this.maxRetries) {
|
|
353
|
+
const waitMs = computeRetryDelay(response.headers, attempt);
|
|
354
|
+
console.warn(`[AzureResponsesModel] 429 rate limited, retrying in ${(waitMs / 1000).toFixed(1)}s (attempt ${attempt + 1}/${this.maxRetries})`);
|
|
355
|
+
await abortableSleep(waitMs, signal);
|
|
356
|
+
if (signal?.aborted) {
|
|
357
|
+
throw new ModelError("Azure API request aborted during retry backoff", { status: 429 });
|
|
358
|
+
}
|
|
350
359
|
continue;
|
|
351
360
|
}
|
|
352
361
|
if (!response.ok) {
|
|
@@ -354,7 +363,9 @@ export class AzureResponsesModel {
|
|
|
354
363
|
}
|
|
355
364
|
return response;
|
|
356
365
|
}
|
|
357
|
-
|
|
366
|
+
// Unreachable: the final iteration always returns or throws above.
|
|
367
|
+
// Kept for TypeScript's control-flow analysis.
|
|
368
|
+
throw new ModelError("Max retries exceeded for Azure API request");
|
|
358
369
|
}
|
|
359
370
|
async handleErrorResponse(response) {
|
|
360
371
|
let errorBody;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses-model.js","sourceRoot":"","sources":["../../src/azure/responses-model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"responses-model.js","sourceRoot":"","sources":["../../src/azure/responses-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Computes how long to wait before retrying a 429'd request.
|
|
3
|
+
*
|
|
4
|
+
* Prefers the more precise `retry-after-ms` header (milliseconds) that Azure
|
|
5
|
+
* returns alongside the standard `retry-after` (seconds). Falls back to
|
|
6
|
+
* exponential backoff with jitter when neither header is present.
|
|
7
|
+
*
|
|
8
|
+
* All values are capped at {@link MAX_RETRY_DELAY_MS} to prevent a misbehaving
|
|
9
|
+
* server from stalling the caller indefinitely.
|
|
10
|
+
*/
|
|
11
|
+
export declare function computeRetryDelay(headers: Headers, attempt: number): number;
|
|
12
|
+
/**
|
|
13
|
+
* Sleeps for `ms` milliseconds, but resolves immediately if `signal` is aborted.
|
|
14
|
+
* This ensures retry backoff doesn't block an aborted request.
|
|
15
|
+
*/
|
|
16
|
+
export declare function abortableSleep(ms: number, signal?: AbortSignal): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/azure/retry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiB3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9E"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const MAX_RETRY_DELAY_MS = 30_000;
|
|
2
|
+
/**
|
|
3
|
+
* Computes how long to wait before retrying a 429'd request.
|
|
4
|
+
*
|
|
5
|
+
* Prefers the more precise `retry-after-ms` header (milliseconds) that Azure
|
|
6
|
+
* returns alongside the standard `retry-after` (seconds). Falls back to
|
|
7
|
+
* exponential backoff with jitter when neither header is present.
|
|
8
|
+
*
|
|
9
|
+
* All values are capped at {@link MAX_RETRY_DELAY_MS} to prevent a misbehaving
|
|
10
|
+
* server from stalling the caller indefinitely.
|
|
11
|
+
*/
|
|
12
|
+
export function computeRetryDelay(headers, attempt) {
|
|
13
|
+
// Azure-specific: millisecond precision
|
|
14
|
+
const retryAfterMs = headers.get("retry-after-ms");
|
|
15
|
+
if (retryAfterMs) {
|
|
16
|
+
const ms = Number.parseInt(retryAfterMs, 10);
|
|
17
|
+
if (!Number.isNaN(ms) && ms > 0)
|
|
18
|
+
return Math.min(ms, MAX_RETRY_DELAY_MS);
|
|
19
|
+
}
|
|
20
|
+
// Standard header: seconds
|
|
21
|
+
const retryAfter = headers.get("retry-after");
|
|
22
|
+
if (retryAfter) {
|
|
23
|
+
const seconds = Number.parseInt(retryAfter, 10);
|
|
24
|
+
if (!Number.isNaN(seconds) && seconds > 0)
|
|
25
|
+
return Math.min(seconds * 1000, MAX_RETRY_DELAY_MS);
|
|
26
|
+
}
|
|
27
|
+
// Exponential backoff with jitter, capped at 30s
|
|
28
|
+
return Math.min(1000 * 2 ** attempt + Math.random() * 1000, MAX_RETRY_DELAY_MS);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Sleeps for `ms` milliseconds, but resolves immediately if `signal` is aborted.
|
|
32
|
+
* This ensures retry backoff doesn't block an aborted request.
|
|
33
|
+
*/
|
|
34
|
+
export function abortableSleep(ms, signal) {
|
|
35
|
+
if (signal?.aborted)
|
|
36
|
+
return Promise.resolve();
|
|
37
|
+
return new Promise((resolve) => {
|
|
38
|
+
const timer = setTimeout(resolve, ms);
|
|
39
|
+
signal?.addEventListener("abort", () => {
|
|
40
|
+
clearTimeout(timer);
|
|
41
|
+
resolve();
|
|
42
|
+
}, { once: true });
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/azure/retry.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,OAAe;IAClE,wCAAwC;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAChG,CAAC;IAED,iDAAiD;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,MAAoB;IAC9D,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,gBAAgB,CACvB,OAAO,EACP,GAAG,EAAE;YACJ,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACX,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
|