Skip to content
中文

ToolJournalFinish ​

CORE · interface · Type contract

Closing record for one tool call, written once with the terminal outcome.

Import ​

ts
import type { ToolJournalFinish } from '@jangts/agent-core/types';
js
/** @typedef {import('@jangts/agent-core/types').ToolJournalFinish} ToolJournalFinish */

Other public entry points:@jangts/agent-core/types, @jangts/agent-core/structs.

Definition ​

ts
interface ToolJournalFinish

Field structure ​

FieldTypeRequiredDescription
invocationIdstringRequiredInvocation opened by beginTool.
status"error" | "success" | "cancelled"RequiredTerminal status; cancelled is distinct from error.
valueunknownRequiredProduced value on success; failure detail on error; ignored for cancellation.

Examples ​

Read the model receipt already recorded by the Runner ​

Beginner · Node.js

ts
import { ModelRunner } from '@jangts/agent-core';
const runner = new ModelRunner({ provider: { async *stream() { yield '服务运行正常'; } } });
const result = await runner.invoke('查询服务状态');
console.log(result.invocation.invocationId);
console.log(runner.journal.snapshot());
js
import { ModelRunner } from '@jangts/agent-core';
const runner = new ModelRunner({ provider: { async *stream() { yield '服务运行正常'; } } });
const result = await runner.invoke('查询服务状态');
console.log(result.invocation.invocationId);
console.log(runner.journal.snapshot());

An App adapter records the local tool it actually executes ​

Configuration · Node.js

ts
import { ContextJournal } from '@jangts/agent-core/journal';
const journal = new ContextJournal();
const invocationId = journal.beginTool({ toolId: 'get_status', input: {} });
// 此处由 App 实际执行本地读取;不是模型提供的回执。
const status = '服务运行正常';
journal.finishTool({ invocationId, status: 'success', value: status });
console.log(journal.snapshot());
js
import { ContextJournal } from '@jangts/agent-core/journal';
const journal = new ContextJournal();
const invocationId = journal.beginTool({ toolId: 'get_status', input: {} });
// 此处由 App 实际执行本地读取;不是模型提供的回执。
const status = '服务运行正常';
journal.finishTool({ invocationId, status: 'success', value: status });
console.log(journal.snapshot());

API reference, usage examples and developer guides.