UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

12 lines (11 loc) • 1.21 kB
import type { RunnerDeps } from "../types.js"; /** The retired-seat door ({@link assertNoRetiredRunnerDeps}) looks at the caller's own object, where a retired name may sit on * the prototype or as a non-enumerable property. Then the deps must be a PLAIN object (prototype `Object.prototype` or none): * every seat is read once as an OWN property — enumerable or not, a getter invoked once — into a copy of enumerable data * properties, the object the engine keeps and spreads from; the caller's getters are never read again, and a seat a prototype * would supply is never read, so an object with another prototype is refused rather than wired without that seat. The seats * whose VALUE is screened at construction and never again are judged on the copy: the declared configuration root must be the * absolute path of an existing directory — a root that names no directory guards nothing, so it is refused rather than read as * absent; the media budget must be a non-negative number of bytes — a bad value is refused rather than read as "no budget" by * the request strip and the `tool_end.output` projection. */ export declare function retainRunnerDeps(deps: RunnerDeps): RunnerDeps;