Interface: ISessionToolLedger
Makaio Framework / ai-adapters-core / ISessionToolLedger
Interface: ISessionToolLedger
Section titled “Interface: ISessionToolLedger”Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:47
Public contract for the session-scoped tool ledger. Tracks injection, discovery, and call state for all MCP tools during a session.
Methods
Section titled “Methods”getAllEntries()
Section titled “getAllEntries()”getAllEntries(): readonly
ToolLedgerEntry[]
Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:96
Return all tracked entries regardless of state.
Returns
Section titled “Returns”readonly ToolLedgerEntry[]
Snapshot of all ledger entries
getCallCount()
Section titled “getCallCount()”getCallCount(
toolFullName):number
Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:83
Return the total call count for a tool, or 0 if not tracked.
Parameters
Section titled “Parameters”toolFullName
Section titled “toolFullName”string
The namespaced tool name
Returns
Section titled “Returns”number
Call count (0 for unknown tools)
getEntry()
Section titled “getEntry()”getEntry(
toolFullName):ToolLedgerEntry|undefined
Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:90
Return a single ledger entry by full name, or undefined if not tracked.
Parameters
Section titled “Parameters”toolFullName
Section titled “toolFullName”string
The namespaced tool name
Returns
Section titled “Returns”ToolLedgerEntry | undefined
The entry, or undefined
getInjectedTools()
Section titled “getInjectedTools()”getInjectedTools(): readonly
ToolLedgerEntry[]
Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:76
Return all entries where injected === true.
Returns
Section titled “Returns”readonly ToolLedgerEntry[]
Snapshot of currently-injected tool entries
recordCall()
Section titled “recordCall()”recordCall(
toolFullName,turnNumber):void
Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:70
Record one mcp_call invocation for a tool.
Implies discovery: also sets discovered and firstDiscoveredAtTurn if unset.
Parameters
Section titled “Parameters”toolFullName
Section titled “toolFullName”string
The namespaced tool name, e.g. “github__create_issue”
turnNumber
Section titled “turnNumber”number
The current turn number
Returns
Section titled “Returns”void
recordDiscovery()
Section titled “recordDiscovery()”recordDiscovery(
toolFullName,turnNumber):void
Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:62
Record that the model discovered a tool.
Applies first-discovery semantics: firstDiscoveredAtTurn is set only once.
Parameters
Section titled “Parameters”toolFullName
Section titled “toolFullName”string
The namespaced tool name, e.g. “github__create_issue”
turnNumber
Section titled “turnNumber”number
The current turn number
Returns
Section titled “Returns”void
recordInjection()
Section titled “recordInjection()”recordInjection(
tools,turnNumber):void
Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:54
Replace the current injection set with the provided list.
Tools not in the new list have their injected flag cleared (eviction sweep).
Parameters
Section titled “Parameters”readonly object[]
The new set of directly-injected tools
turnNumber
Section titled “turnNumber”number
The current turn number
Returns
Section titled “Returns”void
suggestInjectionSet()
Section titled “suggestInjectionSet()”suggestInjectionSet(
context,currentTurnNumber):Promise<readonlyobject[]>
Defined in: ../../../adapters/core/src/agent/session-tool-ledger.ts:105
Phase 2 seam: suggest the optimal injection set for the next turn.
Phase 1 pass-through: returns context.directTools mapped to ToolListItem format.
Parameters
Section titled “Parameters”context
Section titled “context”Current session context providing direct and discoverable tools
currentTurnNumber
Section titled “currentTurnNumber”number
The current turn number (for future scoring heuristics)
Returns
Section titled “Returns”Promise<readonly object[]>
Suggested list of tools to inject for the next turn