SPB Git

spb/khaelor Public

KHAELOR — a terminal-native autonomous engineering agent powered by Anthropic.

TypeScript 82.9% HTML 14.9% CSS 1.1% JavaScript 0.7%
2.7 KB · 67 lines typescript
Raw Blame History
1/**2 * KHAELOR3 * File: src/tools/index.ts4 * Description: Public barrel for the tools module (Layer 2 — imports workspace and shared only).5 *6 * Author: Simon-Pierre Boucher7 * Contact: contact@spboucher.ai8 */910export type {11  ToolCapabilityHint,12  ToolContext,13  ToolEmittedEvent,14  ToolName,15  ToolResult,16  ToolResultMetadata,17  TruncationInfo,18} from "./types.js";19export { CANCELLED_RESULT_CONTENT } from "./types.js";20export type { ParsedInput, ToolJsonSchema, ToolPropertySchema } from "./schema.js";21export { missingConditionalParam, validateToolInput } from "./schema.js";22export type { AnthropicToolParam, ToolDefinition } from "./registry.js";23export { ToolRegistry, parseToolInput } from "./registry.js";24export type { TruncateLimits, TruncatedText } from "./truncate.js";25export { needsTruncation, omissionMarker, truncateMiddleOut } from "./truncate.js";26export type { UnifiedDiff } from "./diff.js";27export { capDiff, unifiedDiff } from "./diff.js";28export type { CascadeResult, MatchSpan, NearMiss, ReplacerStrategy } from "./replacers.js";29export { STRATEGY_PHRASES, runCascade, runMultiOccurrence } from "./replacers.js";30export type { ReadInput } from "./read.js";31export { createReadTool } from "./read.js";32export type { WriteInput } from "./write.js";33export { createWriteTool } from "./write.js";34export type { EditInput } from "./edit.js";35export { createEditTool } from "./edit.js";36export type { GrepInput, GrepToolOptions } from "./grep.js";37export { createGrepTool } from "./grep.js";38export type { GlobInput } from "./glob.js";39export { createGlobTool } from "./glob.js";40export type { BashInput } from "./bash.js";41export { createBashTool } from "./bash.js";42export type { ProcessAction, ProcessInput } from "./process.js";43export { createProcessTool } from "./process.js";4445import { createBashTool } from "./bash.js";46import { createEditTool } from "./edit.js";47import { createGlobTool } from "./glob.js";48import type { GrepToolOptions } from "./grep.js";49import { createGrepTool } from "./grep.js";50import { createProcessTool } from "./process.js";51import { createReadTool } from "./read.js";52import { ToolRegistry } from "./registry.js";53import { createWriteTool } from "./write.js";5455/** Build the V1 registry with all seven tools (ADR-8). */56export function createDefaultToolRegistry(options: { grep?: GrepToolOptions } = {}): ToolRegistry {57  const registry = new ToolRegistry();58  registry.register(createReadTool());59  registry.register(createWriteTool());60  registry.register(createEditTool());61  registry.register(createGrepTool(options.grep ?? {}));62  registry.register(createGlobTool());63  registry.register(createBashTool());64  registry.register(createProcessTool());65  return registry;66}67