@coasys/ad4m / Exports / AddAutoProcessorConfig
Interface: AddAutoProcessorConfig
Configuration for perspective.addAutoProcessor (everything but uuid).
Table of contents
Properties
- basePrefix
- batchMax
- batchMin
- claimTtlMs
- debounceMs
- dedupStrategyJson
- emitDebugEvents
- existingScope
- flows
- interpretationClasses
- maxToolCalls
- maxWaitMs
- mintScope
- processorId
- sourceScopeQuery
- sourceWindowMs
Properties
basePrefix
• Optional basePrefix: string
URI namespace new interpreted instances are minted under (the "spawn
scope"), e.g. soa://project/42/. Omit for a per-processor default
(ad4m://autoprocessor/<processorId>/instance/). Point this and
sourceScopeQuery at the same subtree to confine a processor to it.
Defined in
core/src/perspectives/AutoProcessor.ts:162 (opens in a new tab)
batchMax
• batchMax: number
Cap on items per pass.
Defined in
core/src/perspectives/AutoProcessor.ts:178 (opens in a new tab)
batchMin
• Optional batchMin: number
Minimum items before a pass runs (Flux "wait for N inputs"). Default 1.
Defined in
core/src/perspectives/AutoProcessor.ts:176 (opens in a new tab)
claimTtlMs
• claimTtlMs: number
How long a won claim is authoritative before peers may re-claim (ms).
Defined in
core/src/perspectives/AutoProcessor.ts:182 (opens in a new tab)
debounceMs
• debounceMs: number
Quiet-window (ms) after the last new item before a pass runs.
Defined in
core/src/perspectives/AutoProcessor.ts:174 (opens in a new tab)
dedupStrategyJson
• Optional dedupStrategyJson: string
Optional serialized DedupStrategy JSON (else NormalizedString).
Defined in
core/src/perspectives/AutoProcessor.ts:184 (opens in a new tab)
emitDebugEvents
• Optional emitDebugEvents: boolean
Enable full debug observability: persists the raw LLM prompt + response
on the pass's InterpretationRun (debugPrompt / debugResponse) AND
emits LlmRequestSent / LlmResponseReceived mid-pass events so a
subscribed UI can render "waiting on LLM". Default false.
Defined in
core/src/perspectives/AutoProcessor.ts:223 (opens in a new tab)
existingScope
• Optional existingScope: RawScope
Optional parent-scope filter for the dedup lookup: when set, only
existing instances of the interpretation classes that live under this
scope are candidates for upsert. Omit for the whole-perspective dedup
set (pre-scope behaviour). Raw form only — see RawScope.
Defined in
core/src/perspectives/AutoProcessor.ts:199 (opens in a new tab)
flows
• Optional flows: string[]
Canonical flow URIs (SHACLFlow {namespace}{name}Flow) this processor
is flow-aware of. Flow features — the flow-aware prompt, the
transition-proposal pass, and auto-spawn on freshly created items — run
only on the flows listed here, mirroring the class selection above.
Omit (or pass []) for no flow processing.
Defined in
core/src/perspectives/AutoProcessor.ts:172 (opens in a new tab)
interpretationClasses
• interpretationClasses: string[]
Class URIs (SHACL target_class) to materialize each pass.
Defined in
core/src/perspectives/AutoProcessor.ts:164 (opens in a new tab)
maxToolCalls
• Optional maxToolCalls: number
Tool-call budget for the interpretation-pass harness this processor
runs. Omit / 0 → single-shot LLM path. N > 0 → engage the
tool-calling harness with a cap of N calls per pass. Round-tripped
through the SDNA via AutoProcessorConfig.maxToolCalls.
Defined in
core/src/perspectives/AutoProcessor.ts:216 (opens in a new tab)
maxWaitMs
• Optional maxWaitMs: number
Safety flush (ms) for a sub-batchMin batch; omit to wait indefinitely.
Defined in
core/src/perspectives/AutoProcessor.ts:180 (opens in a new tab)
mintScope
• Optional mintScope: RawScope
Optional parent-scope target for newly minted instances: when set,
every base URI the pass CREATES is additionally linked as a child of
mintScope.id via the scope's predicate — turning the SoA-tree
"children live under this node" pattern from a URI-prefix convention
into an actual graph edge. Upserts of pre-existing instances are NOT
linked (would multi-parent unrelated graph state). Raw form only —
see RawScope; the Rust watcher rejects Model scopes at runtime.
Defined in
core/src/perspectives/AutoProcessor.ts:209 (opens in a new tab)
processorId
• processorId: string
Human-meaningful processor id (unique per perspective).
Defined in
core/src/perspectives/AutoProcessor.ts:134 (opens in a new tab)
sourceScopeQuery
• sourceScopeQuery: string
SPARQL SELECT ?speaker ?text ?timestamp over the source items to
interpret. All three bindings are required: ?timestamp is what makes a
turn identifiable, so the processed-turn cursor can tell a re-gathered
turn from the same wording said again later. Read the body link's reifier
for author and timestamp rather than an app-level ns://author:
SELECT ?speaker ?text ?timestamp WHERE {
?m <ns://body> ?text .
?r <http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies> <<( ?m <ns://body> ?text )>> .
?r <ad4m://ontology/author> ?speaker .
?r <ad4m://ontology/timestamp> ?timestamp .
}
ORDER BY ?timestampSwap ns://body for your own body predicate. A query binding only
speaker+text fails the gather.
Defined in
core/src/perspectives/AutoProcessor.ts:155 (opens in a new tab)
sourceWindowMs
• Optional sourceWindowMs: number
How far back (ms) each pass looks: turns older than now - window are
dropped, and the processed-turn cursor only counts runs that finished
inside the same window. Omit for no window — every gathered turn is a
candidate and the cursor is the unbounded union of this processor's past
runs.
Defined in
core/src/perspectives/AutoProcessor.ts:192 (opens in a new tab)