Skip to content

Settings

Harness-wide run policy: the default extension selection, request options, retry, compaction thresholds, tool execution and queue modes. It is read at every use and never stored, so an object with getters follows the user’s preferences without a commit.

Since v0.0.0


Automatic compaction thresholds; manual compaction ignores enabled.

Signature

export interface CompactionPolicy {
readonly enabled: boolean
/** Room kept free for the answer: generation blocks to compact above `contextWindow - reserveTokens`. */
readonly reserveTokens: number
/** Approximate size of the recent context a summary keeps verbatim. */
readonly keepRecentTokens: number
/** Background compaction starts this far below the blocking threshold; `0` disables it. */
readonly backgroundTokens: number
}

Source

Since v0.0.0

What the host passes; every field is optional, and getters are fine.

Signature

export interface HarnessSettings {
/** The default extension selection; absent: every installed extension, in install order. */
readonly extensions?: ReadonlyArray<Extension.Any>
readonly stream?: StreamOptions
readonly retry?: Partial<RetryPolicy>
readonly compaction?: Partial<CompactionPolicy>
readonly toolExecution?: "parallel" | "sequential"
readonly steeringMode?: QueueMode
readonly followUpMode?: QueueMode
}

Source

Since v0.0.0

How many queued items of one mode a boundary places.

Signature

type QueueMode = "all" | "one-at-a-time"

Source

Since v0.0.0

Every field over its built-in default, object fields merged.

Signature

export interface Resolved {
readonly extensions: ReadonlyArray<Extension.Any> | undefined
readonly stream: StreamOptions
readonly retry: RetryPolicy
readonly compaction: CompactionPolicy
readonly toolExecution: "parallel" | "sequential"
readonly steeringMode: QueueMode
readonly followUpMode: QueueMode
}

Source

Since v0.0.0

Durable generation attempt retries.

Signature

export interface RetryPolicy {
readonly enabled: boolean
readonly maxRetries: number
readonly baseDelayMs: number
readonly maxDelayMs: number
}

Source

Since v0.0.0

Signature

declare class Settings

Source

Since v0.0.0

Signature

export interface StreamOptions {
/** Give up on a response that stalls this long. */
readonly timeoutMs?: number
}

Source

Since v0.0.0

Signature

declare const defaultCompaction: CompactionPolicy

Source

Since v0.0.0

Signature

declare const defaultRetry: RetryPolicy

Source

Since v0.0.0

Settings read from settings at every use.

Signature

declare const layer: (settings?: HarnessSettings) => Layer.Layer<Settings>

Source

Since v0.0.0

Resolve host settings; reads every getter once.

Signature

declare const resolve: (settings: HarnessSettings | undefined) => Resolved

Source

Since v0.0.0