@openai/agents-core
Version:
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.
34 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AgentToolUseTracker = void 0;
class AgentToolUseTracker {
#agentToTools = new Map();
addToolUse(agent, toolNames, options = {}) {
const allowEmpty = options.allowEmpty ?? false;
if (toolNames.length === 0 && !allowEmpty) {
// Skip initial empty writes and avoid overwriting non-empty history.
const existing = this.#agentToTools.get(agent);
if (!existing || existing.length > 0) {
return;
}
}
// Preserve prior non-empty history when not explicitly allowed to downgrade.
if (!allowEmpty) {
const existing = this.#agentToTools.get(agent);
if (existing && existing.length > 0 && toolNames.length === 0) {
return;
}
}
this.#agentToTools.set(agent, toolNames);
}
hasUsedTools(agent) {
return this.#agentToTools.has(agent);
}
toJSON() {
return Object.fromEntries(Array.from(this.#agentToTools.entries()).map(([agent, toolNames]) => {
return [agent.name, toolNames];
}));
}
}
exports.AgentToolUseTracker = AgentToolUseTracker;
//# sourceMappingURL=toolUseTracker.js.map