Skip to content
中文

defineReflectionLogSource ​

KIT · function · Runtime value

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.

Import ​

ts
import { defineReflectionLogSource } from '@jangts/agent-core/kits/reflection';
js
import { defineReflectionLogSource } from '@jangts/agent-core/kits/reflection';

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

Definition ​

Type parameters ​

Type parameterConstraintDefault type
App——

Call ​

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.

Type parameterConstraintDefault type
App——
ParameterTypePassingDescription
options{ reader: ReflectionLogReader; id: string; traceId?: string; authorize(context: OperationContext<App>): MaybePromise<void>; }Required—
Fields of options
FieldTypeRequiredDescription
readerReflectionLogReaderRequiredSee the type definition and usage context.
idstringRequiredSee the type definition and usage context.
traceIdstring | undefinedOptionalSee the type definition and usage context.
authorize(context: OperationContext<App>) => MaybePromise<void>RequiredSee the type definition and usage context.

Returns: ReflectionSource<App>.

Return value structure
FieldTypeRequiredDescription
idstringRequiredRead-only. See the type definition and usage context.
descriptionstringRequiredRead-only. See the type definition and usage context.
authorize(query: ReflectionQuery, context: OperationContext<App>) => MaybePromise<void>RequiredGuards one query; runs before any evidence is read.
query(query: ReflectionQuery, context: OperationContext<App>) => Promise<ReflectionPage>RequiredReturns one page; an invalid page shape aborts the reflection.

Examples ​

Bind the reflection model, evidence source, and authorization ​

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

Build the same kind of evidence source from a log reader ​

Configuration · Node.js

The reader's directory scope, shutdown, and retention are managed by the App. The adapted source can be passed into the same 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 });
}

API reference, usage examples and developer guides.