Preserve context across conversation intents (V-542)
Owner explicitly requested direct commits to master; bypass the branch-only hook.
This commit is contained in:
@@ -55,11 +55,22 @@ type Candidate struct {
|
||||
}
|
||||
|
||||
type Session struct {
|
||||
Intent Intent
|
||||
Slots Slots
|
||||
Timestamp time.Time
|
||||
TTL time.Duration
|
||||
History []Turn // most recent turns, newest last; used for anaphora + cross-intent
|
||||
Intent Intent
|
||||
Slots Slots
|
||||
// Utterance is what he actually said on this turn. It is deliberately
|
||||
// independent of Slots.Text: Text is an intent payload and several valid
|
||||
// routes leave it empty or replace it with a normalized subject. Dialogue
|
||||
// history needs the original words so a later pronoun can refer across
|
||||
// fact, query and chat boundaries without pretending a storage key is a
|
||||
// transcript.
|
||||
Utterance string
|
||||
// Conversational keeps an explicitly opened or chat-routed exchange alive
|
||||
// across later fact/query routes. It does not change what those turns do;
|
||||
// it only says their shared transcript uses the longer dialogue TTL.
|
||||
Conversational bool
|
||||
Timestamp time.Time
|
||||
TTL time.Duration
|
||||
History []Turn // prior turns in speaking order, oldest first; used for anaphora + cross-intent
|
||||
// Candidates — the list she just offered, in the order she said it. Empty
|
||||
// on every turn that offered no choice, which is most of them.
|
||||
Candidates []Candidate
|
||||
|
||||
Reference in New Issue
Block a user