@arcturn/types
v0.5.0
Published
Shared type contracts for the Arcturn agent harness
Readme
@arcturn/types
Shared type contracts for the Arcturn agent harness. This package ships type declarations only — no runtime code, no dependencies. Every other Arcturn package (and any SDK consumer) imports these types instead of redefining them.
What's in it
src/index.ts re-exports everything from:
ai.js— provider-facing message/content types used by the LLM client.events.js— theAgentEventunion the agent loop streams.mcp.js— Model Context Protocol wire types.messages.js—Message, tool call/result content, and related shapes.models.js—ModelSpec,ModelCapabilities,ProviderId.permissions.js— permission rule and decision types.protocol.js— types shared with@arcturn/protocol's wire format, includingPROTOCOL_VERSION.session.js—SessionStoreand session-tree types.tools.js— theTool,ToolDefinition,ToolExecutionContext, andToolResultinterfaces every tool implements.
Install
Arcturn is not yet published to npm. Until it is, use it from a clone of the monorepo as a pnpm workspace package:
git clone https://github.com/sitharaj88/arcturn.git && cd arcturn
pnpm install && pnpm -r buildThen depend on it from another workspace package: "@arcturn/types": "workspace:*".
Usage
import type { Tool, ToolExecutionContext, ToolResult } from "@arcturn/types";
const echo: Tool = {
name: "echo",
description: "Echo the input text back.",
parameters: {
type: "object",
properties: { text: { type: "string" } },
required: ["text"],
},
async execute(input: { text: string }, _ctx: ToolExecutionContext): Promise<ToolResult> {
return { content: [{ type: "text", text: input.text }] };
},
};Docs
- Custom tools — the full
Toolinterface, worked example, and error handling. - Embedding with the SDK — how this package fits with
@arcturn/core,@arcturn/ai,@arcturn/tools, and@arcturn/mcp.
License
Apache-2.0 — see LICENSE.
👤 Author
Sitharaj Seenivasan
- 🌐 Website: sitharaj.in
- 💼 LinkedIn: sitharaj08
- 💻 GitHub: sitharaj88
☕ Support
If this project helps you, consider buying me a coffee — it keeps the work going.
📄 License
Licensed under the Apache License 2.0. © 2026 Sitharaj Seenivasan.
