Viv JavaScript Runtime - v0.10.2
    Preparing search index...

    Interface HostApplicationAdapterConfig

    Configuration parameters controlling various aspects of Viv system behavior.

    interface HostApplicationAdapterConfig {
        loopMaxIterations?: number;
        memoryForgettingSalienceThreshold?: number;
        memoryMaxSalience?: number | null;
        memoryRetentionMonthlyMultiplier?: number;
    }
    Index

    Properties

    loopMaxIterations?: number

    The maximum number of iterations to allow in a Viv loop. Rather than throwing an error if the threshold is reached, the runtime will simply exit the loop.

    999
    
    memoryForgettingSalienceThreshold?: number

    A positive number specifying a salience threshold for memories, below which memories will be forgotten.

    Viv models character memories fading over time by reducing salience during periods where a memory is not re-experienced by a character -- re-experiencing happens when the memory's subject action is cast in another action that the character experiences, observes, or hears about. This is driven by the value set in memoryRetentionMonthlyMultiplier.

    If ever a salience value is reduced such that this threshold exceeds it, the associated memory will be marked CharacterMemory.forgotten, to model total forgetting of the past event. To be clear, we only do this if the salience value is strictly less than the threshold.

    Note that a forgotten memory can be revitalized for a character who relearns about the subject action.

    Important: If the initial salience value for a new memory is lower than this threshold, it will not immediately be marked as forgotten, but instead this will occur the first time the memory is faded (via fadeCharacterMemories).

    0.1
    
    memoryMaxSalience?: number | null

    If specified, the maximum salience value for character memories.

    Clamping will not occur if this field is elided or set to null.

    Note that saliences accumulate as memories are re-experienced -- re-experiencing happens when the memory's subject action is cast in another action that the character experiences, observes, or hears about. As such, saliences have no explicit upper bound given a content bundle, even if you e.g. use enum values to specify salience increments. This parameter allows you to specify such an upper bound.

    memoryRetentionMonthlyMultiplier?: number

    A number specifying the degree to which character memories will be retained month over month.

    This important config parameter drives the modeling of characters gradually forgetting past events. I recommend a value around 0.9 here, but you might have your own intuitions (or empirical methods).

    Specifically, the value here must be a number between 0.0 (characters quickly forget everything) and 1.0 (characters never forget anything). With each passing month, a given character's salience value will be multiplied by this number to model how much the character's memory faded over that time.

    For instance, if the character's current salience is 10 and the value set here is 0.9, the character's updated salience after one month would be 9. If another month passed without the character re-experiencing the memory -- re-experiencing happens when the memory's subject action is cast in another action that the character experiences, observes, or hears about -- the salience would be further reduced to 8.1. And so forth.

    If ever the salience is reduced to a number below the threshold set via memoryForgettingSalienceThreshold, the memory will be marked CharacterMemory.forgotten, to model total forgetting of the past event.

    Note that the salience scale will always be (memoryForgettingSalienceThreshold, memoryMaxSalience] -- or (memoryForgettingSalienceThreshold, Infinity) if memoryForgettingSalienceThreshold is not defined -- where the meaning of a given value is entirely defined by your host application. This lower bound is established because any initial salience value less than or equal to memoryForgettingSalienceThreshold will prevent the associated memory from being formed in the first place.

    Important: We use a timeframe of one month here only to support designer intuitions around forgetting, since it would be difficult to reason about e.g. the degree to which one forgets a past event each minute. The actual frequency of memory fading depends on the frequency with which the host application invokes fadeCharacterMemories -- but that function will always convert the time since the last invocation into a number of months, so as to always honor your config parameter here.

    0.9