1010
1111[ usestratus.dev] ( https://usestratus.dev )
1212
13- [ ![ npm version] ( https://img.shields.io/npm/v/stratus- sdk )] ( https://www.npmjs.com/package/stratus- sdk )
13+ [ ![ npm version] ( https://img.shields.io/npm/v/@usestratus/ sdk )] ( https://www.npmjs.com/package/@usestratus/ sdk )
1414[ ![ CI] ( https://github.com/tylergibbs1/stratus/actions/workflows/ci.yml/badge.svg )] ( https://github.com/tylergibbs1/stratus/actions/workflows/ci.yml )
1515
1616A better TypeScript agent SDK for Azure OpenAI. Build multi-agent systems with tools, handoffs, guardrails, streaming, structured output, and more.
@@ -27,7 +27,7 @@ A better TypeScript agent SDK for Azure OpenAI. Build multi-agent systems with t
2727## Install
2828
2929``` bash
30- bun add stratus- sdk
30+ bun add @usestratus/ sdk
3131```
3232
3333Stratus requires [ Zod] ( https://zod.dev ) as a peer dependency:
@@ -40,7 +40,7 @@ bun add zod
4040
4141``` ts
4242import { z } from " zod" ;
43- import { Agent , AzureResponsesModel , run , tool } from " stratus- sdk" ;
43+ import { Agent , AzureResponsesModel , run , tool } from " @usestratus/ sdk" ;
4444
4545const model = new AzureResponsesModel ({
4646 endpoint: process .env .AZURE_OPENAI_ENDPOINT ! ,
@@ -156,7 +156,7 @@ console.log(result.finalOutput); // { name: "Marie Curie", age: 66, occupation:
156156Sessions maintain conversation history across multiple interactions:
157157
158158``` ts
159- import { createSession } from " stratus- sdk" ;
159+ import { createSession } from " @usestratus/ sdk" ;
160160
161161const session = createSession ({ model , tools: [myTool ] });
162162
@@ -188,7 +188,7 @@ await using session = createSession({ model });
188188Transfer control between specialized agents:
189189
190190``` ts
191- import { handoff } from " stratus- sdk" ;
191+ import { handoff } from " @usestratus/ sdk" ;
192192
193193const orderAgent = new Agent ({
194194 name: " order_specialist" ,
@@ -220,7 +220,7 @@ console.log(result.lastAgent.name); // "order_specialist"
220220Delegate subtasks to child agents that run independently:
221221
222222``` ts
223- import { subagent } from " stratus- sdk" ;
223+ import { subagent } from " @usestratus/ sdk" ;
224224
225225const researcher = new Agent ({
226226 name: " researcher" ,
@@ -247,7 +247,7 @@ const parentAgent = new Agent({
247247Validate inputs and outputs with guardrails:
248248
249249``` ts
250- import type { InputGuardrail , OutputGuardrail } from " stratus- sdk" ;
250+ import type { InputGuardrail , OutputGuardrail } from " @usestratus/ sdk" ;
251251
252252const profanityFilter: InputGuardrail = {
253253 name: " profanity_filter" ,
@@ -280,7 +280,7 @@ Guardrails run in parallel. When a tripwire is triggered, an `InputGuardrailTrip
280280Lifecycle hooks for observability and control:
281281
282282``` ts
283- import type { AgentHooks } from " stratus- sdk" ;
283+ import type { AgentHooks } from " @usestratus/ sdk" ;
284284
285285const hooks: AgentHooks = {
286286 beforeRun : ({ agent , input }) => { /* ... */ },
@@ -307,7 +307,7 @@ const hooks: AgentHooks = {
307307Opt-in tracing with zero overhead when inactive:
308308
309309``` ts
310- import { withTrace } from " stratus- sdk" ;
310+ import { withTrace } from " @usestratus/ sdk" ;
311311
312312const { result, trace } = await withTrace (" my-workflow" , () =>
313313 run (agent , " Hello" ),
@@ -346,7 +346,7 @@ try {
346346Track task progress during agent execution:
347347
348348``` ts
349- import { todoTool , TodoList } from " stratus- sdk" ;
349+ import { todoTool , TodoList } from " @usestratus/ sdk" ;
350350
351351const todos = new TodoList ();
352352todos .onUpdate ((items ) => {
@@ -371,7 +371,7 @@ await run(agent, "Set up a new TypeScript project");
371371Track token usage and estimate costs:
372372
373373``` ts
374- import { createCostEstimator } from " stratus- sdk" ;
374+ import { createCostEstimator } from " @usestratus/ sdk" ;
375375
376376const estimator = createCostEstimator ({
377377 inputTokenCostPer1k: 0.01 ,
@@ -413,7 +413,7 @@ const agent = new Agent({
413413Let 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.
414414
415415``` ts
416- import { createCodeModeTool , FunctionExecutor } from " stratus- sdk/core" ;
416+ import { createCodeModeTool , FunctionExecutor } from " @usestratus/ sdk/core" ;
417417
418418const executor = new FunctionExecutor ({ timeout: 30_000 });
419419const codemode = createCodeModeTool ({
@@ -451,13 +451,13 @@ Stratus provides three export paths:
451451
452452``` ts
453453// Everything (core + Azure)
454- import { Agent , run , tool , AzureChatCompletionsModel , AzureResponsesModel } from " stratus- sdk" ;
454+ import { Agent , run , tool , AzureChatCompletionsModel , AzureResponsesModel } from " @usestratus/ sdk" ;
455455
456456// Core only (provider-agnostic)
457- import { Agent , run , tool } from " stratus- sdk/core" ;
457+ import { Agent , run , tool } from " @usestratus/ sdk/core" ;
458458
459459// Azure provider only
460- import { AzureChatCompletionsModel , AzureResponsesModel } from " stratus- sdk/azure" ;
460+ import { AzureChatCompletionsModel , AzureResponsesModel } from " @usestratus/ sdk/azure" ;
461461```
462462
463463## Configuration
@@ -509,7 +509,7 @@ All errors extend `StratusError`:
509509| ` OutputGuardrailTripwireTriggered ` | Output guardrail blocked the response |
510510
511511``` ts
512- import { ModelError , MaxTurnsExceededError , RunAbortedError } from " stratus- sdk" ;
512+ import { ModelError , MaxTurnsExceededError , RunAbortedError } from " @usestratus/ sdk" ;
513513
514514try {
515515 await run (agent , input );
@@ -528,7 +528,7 @@ Stratus is a monorepo with two packages:
528528
529529| Package | Description |
530530| ---| ---|
531- | [ ` stratus- sdk` ] ( packages/stratus-sdk/ ) | Agent SDK for Azure OpenAI (this README) |
531+ | [ ` @usestratus/ sdk` ] ( packages/stratus-sdk/ ) | Agent SDK for Azure OpenAI (this README) |
532532| [ ` @usestratus/mcp-aws ` ] ( packages/mcp-aws/ ) | MCP server framework for AWS — deploy MCP servers to Lambda with progressive disclosure, tool gating, and code mode |
533533
534534## Development
0 commit comments