UNPKG

agentfootprint

Version:

The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.

38 lines • 2.08 kB
"use strict"; /** * hostContract — THE BOUNDARY between the skill-graph runtime and whatever * runs it (9.34.0). * * The skill graph is a pure decision layer: given an `InjectionContext` it * says which skill the cursor is in, which skills are reachable from there, * and which injections are active. It does not call a model, does not own a * loop, and does not know what a `Tool` is in any particular framework. This * module is the small set of shapes that statement needs to be TRUE: * * • {@link SkillToolSchema} / {@link SkillTool} — the narrow shape a skill's * tools must have for the graph to reason about them (a name, a * description, an input schema, something to run). agentfootprint's own * `Tool` structurally satisfies it; so would any other framework's. * • {@link SkillToolDescriptor} — a PLAIN description of a tool the graph * needs to exist (`read_skill` above all, which is how the model moves * the cursor). The graph describes it; the host constructs it in its own * tool type. * • {@link SkillCachePolicy} — the cache directive that rides the * `ActiveInjection` projection across the host boundary. * • {@link SkillGraphHost} — the obligations a host must meet for the graph * to route correctly. Documentation as a type. * * WHY STRUCTURAL COPIES. `SkillToolSchema` and `SkillCachePolicy` are * field-for-field mirrors of `provider-contract/types.ts#LLMToolSchema` and * `cache/types.ts#CachePolicy`. Mirroring them is what lets a foreign host * satisfy the boundary without importing an adapter layer it does not use; * TypeScript's structural typing then makes the two spellings mutually * assignable, so nothing inside agentfootprint changed shape. The mirrors are * PINNED against their originals by * `test/injection-engine/skill-graph-fence.test.ts`, which fails on drift * in either direction. * * Zone: PURE CORE. Zero imports, by construction. */ Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=hostContract.js.map