New:Socket for Asana Is Now Available.Learn more
Sign In

@agentskit/core

Package Overview
Dependencies
Maintainers
1
Versions
30
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.

Source
npmnpm
Version
1.10.3
Version published
Weekly downloads
22K
369.67%
Maintainers
1
Weekly downloads
 
Created
Source

@agentskit/core

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

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

Keywords

agentskit

FAQs

Package last updated on 11 Jul 2026

Related posts