defineReflectionLogSource
KIT · function · 运行时值
Build a reflection source over a log reader.
Coverage is reported as best-effort: a page is only complete when the reader exhausted the run without capture gaps or omitted issues, and every gap or issue code is surfaced instead of being silently dropped.
导入
ts
import { defineReflectionLogSource } from '@jangts/agent-core/kits/reflection';js
import { defineReflectionLogSource } from '@jangts/agent-core/kits/reflection';其他公开入口:@jangts/agent-core/types、@jangts/agent-core/kits、@jangts/agent-core/kits/reflection。
定义
泛型参数
| 类型参数 | 约束 | 默认类型 |
|---|---|---|
App | — | — |
调用
ts
defineReflectionLogSource<App>(options: { reader: ReflectionLogReader; id: string; traceId?: string; authorize(context: OperationContext<App>): MaybePromise<void>; }): ReflectionSource<App>Build a reflection source over a log reader.
Coverage is reported as best-effort: a page is only complete when the reader exhausted the run without capture gaps or omitted issues, and every gap or issue code is surfaced instead of being silently dropped.
| 类型参数 | 约束 | 默认类型 |
|---|---|---|
App | — | — |
| 参数 | 类型 | 传递 | 说明 |
|---|---|---|---|
options | { reader: ReflectionLogReader; id: string; traceId?: string; authorize(context: OperationContext<App>): MaybePromise<void>; } | 必需 | — |
options 的字段
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
reader | ReflectionLogReader | 必需 | 见类型定义及调用场景。 |
id | string | 必需 | 见类型定义及调用场景。 |
traceId | string | undefined | 可省略 | 见类型定义及调用场景。 |
authorize | (context: OperationContext<App>) => MaybePromise<void> | 必需 | 见类型定义及调用场景。 |
返回: ReflectionSource<App>。
返回值结构
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
id | string | 必需 | 只读。见类型定义及调用场景。 |
description | string | 必需 | 只读。见类型定义及调用场景。 |
authorize | (query: ReflectionQuery, context: OperationContext<App>) => MaybePromise<void> | 必需 | Guards one query; runs before any evidence is read. |
query | (query: ReflectionQuery, context: OperationContext<App>) => Promise<ReflectionPage> | 必需 | Returns one page; an invalid page shape aborts the reflection. |
使用示例
- 日志复盘:授权元数据与证据报告:App 提供获准证据源,复盘任务通过普通模型与工具合同生成有来源的报告。
绑定复盘模型、证据源和授权
入门 · Node.js
ts
import { defineReflection } from '@jangts/agent-core/kits/reflection';
import type { ReflectionSource } from '@jangts/agent-core/kits/reflection';
import type { ModelRunner, OperationContext } from '@jangts/agent-core';
export function review<App>(model: ModelRunner, source: ReflectionSource<App>,
authorize: (question: string, context: OperationContext<App>) => Promise<void>) {
return defineReflection({ model, source, authorize,
maxCalls: 4, reserveCalls: 1, maxPages: 4, maxEvents: 64, maxEvidenceChars: 12000 });
}js
import { defineReflection } from '@jangts/agent-core/kits/reflection';
export function review(model, source, authorize) {
return defineReflection({ model, source, authorize,
maxCalls: 4, reserveCalls: 1, maxPages: 4, maxEvents: 64, maxEvidenceChars: 12000 });
}从日志 reader 构造同一种证据源
配置 · Node.js
reader 的目录范围、关闭与保留期由 App 管理。适配后的 source 可传入同一个 defineReflection。
ts
import { defineReflectionLogSource } from '@jangts/agent-core/kits/reflection';
import type { ReflectionLogReader } from '@jangts/agent-core/kits/reflection';
import type { OperationContext } from '@jangts/agent-core';
export function logSource<App>(reader: ReflectionLogReader, traceId: string,
authorize: (context: OperationContext<App>) => Promise<void>) {
return defineReflectionLogSource({ reader, traceId, id: 'authorized-history', authorize });
}js
import { defineReflectionLogSource } from '@jangts/agent-core/kits/reflection';
export function logSource(reader, traceId, authorize) {
return defineReflectionLogSource({ reader, traceId, id: 'authorized-history', authorize });
}