agentfootprint
Version:
The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.
20 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.spoken = void 0;
// FOLD · the one owner of whether a filtered set is empty because the filter emptied it (held) or because the run held nothing
// consumers read this and never re-derive it, each NAMED so the pointer survives an edit above it:
// skillToolDescriptors.ts · describeOffer · the propose-transition refusal (toolCalls.ts · "── THE REFUSAL SPEAKS WITH THE FILTERED SETS")
// toolCalls.ts · dispatchRoster · the read_skill gate's two sets (toolCalls.ts · "── Skill-graph read_skill GATE") · the turn-route offer
// detached: yes — { named, held } is freshly built; held is required, not optional, on purpose.
/**
* Apply the role filter to one set and keep both halves (9.86.0).
*
* `mayName` is the caller's visibility predicate — skill ids test membership of
* `scope.hiddenSkillIds`, tool names test whether every skill declaring them is
* hidden. Both questions have one answer shape, and this is it.
*/
function spoken(all, mayName) {
return { named: all.filter(mayName), held: all.length > 0 };
}
exports.spoken = spoken;
//# sourceMappingURL=spokenIds.js.map