🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@skawld/agent-sdk

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@skawld/agent-sdk

An open-source TypeScript agent harness for software engineering.

latest
Source
npmnpm
Version
0.2.0
Version published
Weekly downloads
37
68.18%
Maintainers
1
Weekly downloads
 
Created
Source

Skawld Agent SDK

An open-source all-purpose TypeScript agent harness. Embed a full agent loop — tools, sessions, permissions, streaming events, subagents — into any Node.js or Bun application with a single import.

Runs on Node.js 18+ and Bun 1.1+. ESM-only.

Full documentation: https://skawld.com/docs

# pick your package manager
# Bun is reccomended
bun add @skawld/agent-sdk
# npm is also supported
npm install @skawld/agent-sdk
pnpm add @skawld/agent-sdk
yarn add @skawld/agent-sdk

Minimal usage

import { Agent } from "@skawld/agent-sdk";
import { AnthropicProvider } from "@skawld/agent-sdk/providers";
import { defaultTools } from "@skawld/agent-sdk/tools";

const agent = new Agent({
  provider: new AnthropicProvider(),   // reads ANTHROPIC_API_KEY from env
  model: "claude-opus-4-5",
  tools: defaultTools(),
  permissions: { mode: "default" },
});

const session = await agent.session();

for await (const event of session.run("List the files in the current directory.")) {
  if (event.type === "assistant") {
    for (const block of event.message.content) {
      if (block.type === "text") process.stdout.write(block.text);
    }
  }
  if (event.type === "result") break;
}

await agent.close();

See examples/minimal-agent.ts for a complete runnable version.

Interactive CLI example

examples/interactive-cli.ts is a small REPL that streams agent events, renders subagent activity in live boxes, and runs in yolo permission mode against the OpenAIResponsesProvider.

Setup:

export OPENAI_API_KEY=sk-...
# optional overrides
export SKAWLD_MODEL=gpt-5            # default: gpt-5
export SKAWLD_CONFIG_DIR=./.skawld   # default: ./.skawld

Run:

bun run examples/interactive-cli.ts

On startup it prompts for a working directory (defaults to the current one), then accepts free-form messages. Type /exit or press Ctrl+C to quit.

Providers

Provider classSubpathEnvironment variable
AnthropicProvider@skawld/agent-sdk/providersANTHROPIC_API_KEY
OpenAIChatCompletionsProvider@skawld/agent-sdk/providersOPENAI_API_KEY
OpenAIResponsesProvider@skawld/agent-sdk/providersOPENAI_API_KEY
import {
  AnthropicProvider,
  OpenAIChatCompletionsProvider,
  OpenAIResponsesProvider,
} from "@skawld/agent-sdk/providers";

Environment variables

VariableUsed by
ANTHROPIC_API_KEYAnthropicProvider (falls back to SDK default lookup)
OPENAI_API_KEYOpenAIChatCompletionsProvider, OpenAIResponsesProvider

Sessions

By default, sessions persist to SQLite at .skawld/sessions.db. For tests or embedded applications, pass a custom sessionStore, such as InMemorySessionStore.

import { Agent } from "@skawld/agent-sdk";
import { InMemorySessionStore } from "@skawld/agent-sdk/sessions";

const agent = new Agent({
  provider,
  model,
  sessionStore: new InMemorySessionStore(),
});

Public API surface

@skawld/agent-sdk             → Agent, Session, defaultTools, MCP helpers, core types, Event types, Error classes
@skawld/agent-sdk/providers   → AnthropicProvider, OpenAIChatCompletionsProvider, OpenAIResponsesProvider, BaseProvider
@skawld/agent-sdk/tools       → ToolRegistry, defaultTools, built-in tool classes, MCP tool helpers, task types
@skawld/agent-sdk/sessions    → SqliteSessionStore, InMemorySessionStore, SessionStore and task persistence types
@skawld/agent-sdk/permissions → PermissionEngine, permission callback types, permission rule types

License

MIT

Keywords

agent

FAQs

Package last updated on 12 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts