Skip to content
English

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 的字段
字段类型必需说明
readerReflectionLogReader必需见类型定义及调用场景。
idstring必需见类型定义及调用场景。
traceIdstring | undefined可省略见类型定义及调用场景。
authorize(context: OperationContext<App>) => MaybePromise<void>必需见类型定义及调用场景。

返回: ReflectionSource<App>。

返回值结构
字段类型必需说明
idstring必需只读。见类型定义及调用场景。
descriptionstring必需只读。见类型定义及调用场景。
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.

使用示例 ​

绑定复盘模型、证据源和授权 ​

入门 · 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 });
}

相关策略源码 ​

相关定义 ​

接口参考、使用示例与开发指南。