🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@agentskit/core

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@agentskit/core

Portable AgentsKit runtime for chat orchestration, tools, memory, and retrieval.

latest
Source
npmnpm
Version
1.12.7
Version published
Maintainers
1
Created
Source

@agentskit/core

Profile: major-package

AgentsKit

The zero-dependency foundation that every AgentsKit package builds on — 5 KB gzipped, edge-ready, works everywhere JavaScript runs.

npm version npm downloads bundle size license stability GitHub stars

Tags: ai · agents · llm · agentskit · typescript · orchestration · streaming · chat

Verified proof

How this fits the ecosystem

@agentskit/core is the contract layer: the tiny, stable foundation that makes adapters, tools, skills, memory, retrievers, and runtimes interchangeable.

  • AgentsKit: compose it with the other packages in this repo to build agents from small, swappable parts.
  • Registry: look for ready agents and templates that already use this layer at registry.agentskit.io.
  • Playbook: learn the production patterns behind this layer at playbook.agentskit.io.
  • AKOS: run the same concepts with enterprise deployment, governance, and observability at akos.agentskit.io.

Docs: package guide · agent handoff

Why core

  • Zero external dependencies — no npm bloat, no audit surprises; installs in milliseconds and works in Node, Deno, edge runtimes, and the browser
  • Stable contracts that unlock the whole ecosystem — six ADR-pinned interfaces (Adapter, Tool, Skill, Memory, Retriever, Runtime) make every package interchangeable
  • Chat state machine includedcreateChatController handles streaming, abort, and message history so you never implement that loop yourself
  • Under 10 KB gzipped, always — budget enforced in CI; the foundation you can commit to for the long term

Install

npm install @agentskit/core

Quick example

import { createChatController, createInMemoryMemory } from '@agentskit/core'
import { anthropic } from '@agentskit/adapters'

const controller = createChatController({
  adapter: anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, model: 'claude-sonnet-4-6' }),
  memory: createInMemoryMemory(),
})

await controller.send('Hello!')
console.log(controller.getState().messages)

Features

  • createChatController — streaming-capable chat state machine with abort support
  • createInMemoryMemory — zero-config in-process memory for prototyping
  • TypeScript types for every contract: ToolDefinition, SkillDefinition, AgentEvent, Adapter, Memory, Retriever, RuntimeResult
  • Event emitter for AgentEvent streams — observability hooks attach here
  • Dual CJS/ESM output, strict TypeScript, no any

Error handling

AgentsKit ships a didactic error system inspired by the Rust compiler. Every error includes a code, a hint for the fix, and a docsUrl — no more vague "Something went wrong" messages.

import {
  AgentsKitError,
  AdapterError,
  ToolError,
  MemoryError,
  ConfigError,
  ErrorCodes,
} from '@agentskit/core'

try {
  await runtime.run(task)
} catch (err) {
  if (err instanceof ToolError) {
    // err.code     → 'AK_TOOL_EXEC_FAILED'
    // err.hint     → actionable suggestion
    // err.docsUrl  → https://www.agentskit.io/docs/tools
    console.error(err.toString())
    // error[AK_TOOL_EXEC_FAILED]: ...
    //   --> Hint: ...
    //   --> Docs: https://www.agentskit.io/docs/tools
  }
}

Available error codes (via ErrorCodes):

CodeThrown by
AK_ADAPTER_MISSINGadapter not provided to the controller
AK_ADAPTER_STREAM_FAILEDstreaming call to the provider fails
AK_TOOL_NOT_FOUNDrequested tool name is not registered
AK_TOOL_EXEC_FAILEDexecute() throws
AK_MEMORY_LOAD_FAILEDmemory.load() fails
AK_MEMORY_SAVE_FAILEDmemory.save() fails
AK_MEMORY_DESERIALIZE_FAILEDpersisted state is corrupt
AK_CONFIG_INVALIDrequired config is missing or wrong type

Type-safe tools with defineTool

defineTool infers the TypeScript type of execute's args parameter from the JSON Schema — no manual casting.

import { defineTool } from '@agentskit/core'

const greet = defineTool({
  name: 'greet',
  schema: {
    type: 'object',
    properties: { name: { type: 'string' } },
    required: ['name'],
  } as const,   // as const is required for inference
  execute(args) {
    // args.name → string  (inferred, not cast)
    return `Hello, ${args.name}!`
  },
})

Use InferSchemaType<typeof schema> to reference the inferred type elsewhere in your codebase.

Subpath exports (tree-shaken, zero main-bundle weight)

SubpathPurpose
@agentskit/core/agent-schemaDeclarative YAML/JSON agent definitions + validator
@agentskit/core/prompt-experimentsA/B prompts with PostHog / GrowthBook / custom flag providers
@agentskit/core/auto-summarizeChatMemory wrapper that folds old turns into a summary
@agentskit/core/hitlApproval gates + ApprovalStore
@agentskit/core/securityPII redactor + injection detector + rate limiter
@agentskit/core/compose-toolChain N tools into one macro tool
@agentskit/core/self-debugRetry failing tools with LLM-corrected arguments
@agentskit/core/generative-uiTyped UI element tree + code / markdown / html / chart artifacts
@agentskit/core/a2aAgent-to-Agent protocol spec (JSON-RPC over any transport)
@agentskit/core/manifestSkill + tool manifest format (MCP-compatible)
@agentskit/core/eval-formatPortable eval dataset + run-result JSON

See each page under docs.agentskit.io / for-agents for the full contract.

Ecosystem

PackageRole
@agentskit/adaptersLLM chat + embedding providers, router, ensemble, fallback
@agentskit/runtimecreateRuntime, speculate, topologies, durable execution, background agents
@agentskit/reactuseChat, headless chat components
@agentskit/vue · svelte · solid · react-native · angularSame ChatReturn contract, one package per framework
@agentskit/toolsBuilt-in tools, 20+ integrations, MCP bridge
@agentskit/memoryChat + vector + hierarchical + encrypted + graph stores
@agentskit/ragPlug-and-play RAG + reranker + loaders
@agentskit/skillsReady-made personas + marketplace
@agentskit/observabilityTraces, audit log, cost guard, devtools
@agentskit/sandboxSecure code execution + mandatory sandbox policy
@agentskit/evalEval suites, deterministic replay, snapshots, CI reporter
@agentskit/cliagentskit init / chat / run / ai / dev / doctor

Contributors

AgentsKit contributors

License

MIT — see LICENSE.

Docs

Full documentation · GitHub

Maturity and compatibility

  • Stability: stable — see docs/STABILITY.md
  • Node.js 20+ and TypeScript strict mode
  • Published as @agentskit/core

Contributing

See CONTRIBUTING.md and the monorepo LICENSE.

Keywords

agentskit

FAQs

Package last updated on 30 Jul 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