UNPKG

agentfootprint

Version:

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

57 lines • 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractBeats = void 0; const defaultIdFrom = (turn, index) => `beat-${turn}-${index}`; /** * Build the `extractBeats` stage function. * * ```ts * let b = flowChart<ExtractBeatsState>('Seed', seed, 'seed'); * b = b.addFunction('ExtractBeats', extractBeats({ extractor }), 'extract-beats'); * b = b.addFunction('WriteBeats', writeBeats({ store }), 'write-beats'); * ``` */ function extractBeats(config) { const { extractor } = config; const idFrom = config.idFrom ?? defaultIdFrom; return async (scope) => { const messages = (scope.newMessages ?? []); const turnNumber = scope.turnNumber ?? 1; const identity = scope.identity; if (messages.length === 0) { scope.newBeats = []; return; } const env = scope.$getEnv?.(); const signal = env?.signal; const beats = await extractor.extract({ messages, turnNumber, ...(signal ? { signal } : {}), }); if (beats.length === 0) { scope.newBeats = []; return; } const now = Date.now(); const ttl = config.ttlMs !== undefined ? now + config.ttlMs : undefined; const entries = beats.map((beat, index) => ({ id: idFrom(turnNumber, index, beat), value: beat, version: 1, createdAt: now, updatedAt: now, lastAccessedAt: now, accessCount: 0, ...(ttl !== undefined && { ttl }), ...(config.tier && { tier: config.tier }), source: { turn: turnNumber, identity, }, })); scope.newBeats = entries; }; } exports.extractBeats = extractBeats; //# sourceMappingURL=extractBeats.js.map