Skip to content

CodingTools

The coding tools: read, write, edit and bash, working in the conversation’s ExecEnv. Nothing installs them automatically; install the CodingTools extension, or pick single tools.

import { CodingTools, Harness, NodeExecEnv, Registry } from "@effective-harness/core"
import * as Layer from "effect/Layer"
const layer = Harness.layer({ env: NodeExecEnv.layer() }).pipe(
Layer.provideMerge(Registry.layer([CodingTools.CodingTools]))
)

edit and write calls on one file (same environment ID and canonical path) run one at a time, in arrival order.

Since v0.0.0


Signature

declare const BashArgs: any

Source

Since v0.0.0

Signature

declare const BashExecution: any

Source

Since v0.0.0

Signature

declare const BashOptions: any

Source

Since v0.0.0

Signature

declare const BashPrepare: any

Source

Since v0.0.0

Signature

declare const CodingToolError: typeof CodingToolError

Source

Since v0.0.0

read, write, edit and bash.

Signature

declare const CodingTools: Extension.Extension<Any>

Source

Since v0.0.0

Signature

declare const EditArgs: any

Source

Since v0.0.0

Signature

declare const EditDetails: any

Source

Since v0.0.0

Signature

declare const ReadArgs: any

Source

Since v0.0.0

Signature

declare const ReadDetails: any

Source

Since v0.0.0

Signature

declare const WriteArgs: any

Source

Since v0.0.0

Signature

declare const bash: Tool<any>

Source

Since v0.0.0

Signature

declare const edit: Tool<any>

Source

Since v0.0.0

A bash tool, optionally with a command prefix or a prepare step.

Signature

declare const makeBash: (options?: Bash.BashOptions) => Tool<Bash.BashArgs>

Source

Since v0.0.0

An edit tool.

Signature

declare const makeEdit: () => Tool<Edit.EditArgs>

Source

Since v0.0.0

A read tool: text files with offset/limit, truncated to 2,000 lines or 50 KiB.

Signature

declare const makeRead: () => Tool<Read.ReadArgs>

Source

Since v0.0.0

A write tool.

Signature

declare const makeWrite: () => Tool<Write.WriteArgs>

Source

Since v0.0.0

Signature

declare const prepareEditArguments: (input: unknown) => unknown

Source

Since v0.0.0

Signature

declare const read: Tool<any>

Source

Since v0.0.0

Signature

declare const withFileMutationQueue: <A, E, R>(
env: ExecEnv,
path: string,
body: Effect.Effect<A, E, R>
) => Effect.Effect<A, E | FileError, R>

Source

Since v0.0.0

Signature

declare const write: Tool<any>

Source

Since v0.0.0