Interface: LearningStore
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:203
A learning store: the operations above, a transaction, and its end.
Extends
LearningStoreTx
Properties
kind
readonlykind:"memory"|"sql"
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:205
sql for a store over a storage adapter; memory for one that ends with the process.
Methods
advanceHead()
advanceHead(
chainKey,expectedSeq,next):Promise<boolean>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:151
Moves a head from expectedSeq to next, whose lastId, lastHash and seq alone it writes; false when the
chain has no head, the head moved on, or it is marked forgotten.
Parameters
chainKey
string
expectedSeq
number
next
lastHash
string
lastId
string
seq
number
Returns
Promise<boolean>
Inherited from
LearningStoreTx.advanceHead
agentPendingRows()
agentPendingRows(
namespace,agentKey,createdBefore):Promise<StoredLedgerRow[]>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:142
The candidates that have no verdict row on one agent's chains with no learner in one namespace (the agent's own
chain and each second user's), created at or before createdBefore (an ISO time), ordered by chain key and
sequence: what a crash left pending there.
Parameters
namespace
string
agentKey
string
createdBefore
string
Returns
Promise<StoredLedgerRow[]>
Inherited from
LearningStoreTx.agentPendingRows
candidateRows()
candidateRows(
candidateId):Promise<StoredLedgerRow[]>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:134
A candidate and its verdicts, in sequence order.
Parameters
candidateId
string
Returns
Promise<StoredLedgerRow[]>
Inherited from
LearningStoreTx.candidateRows
chainRows()
chainRows(
chainKey):Promise<StoredLedgerRow[]>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:126
A chain's rows in sequence order.
Parameters
chainKey
string
Returns
Promise<StoredLedgerRow[]>
Inherited from
LearningStoreTx.chainRows
chainWithHead()
chainWithHead(
chainKey):Promise<{head:ChainHead|undefined;rows:StoredLedgerRow[]; }>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:132
A chain's rows in sequence order and its head, read at one moment: an append that commits meanwhile is in both or in neither, also on a database that gives each statement of a transaction its own snapshot (Postgres at Read Committed), where the SQL store reads both in one statement.
Parameters
chainKey
string
Returns
Promise<{ head: ChainHead | undefined; rows: StoredLedgerRow[]; }>
Inherited from
LearningStoreTx.chainWithHead
close()
close():
Promise<void>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:214
Releases what the store opened. A store over a host's adapter leaves the adapter open.
Returns
Promise<void>
deleteFreeze()
deleteFreeze(
scopeKey,mode):Promise<boolean>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:165
Parameters
scopeKey
string
mode
"frozen" | "off"
Returns
Promise<boolean>
Inherited from
LearningStoreTx.deleteFreeze
deleteUserRows()
deleteUserRows(
namespace,userId):Promise<Record<string,number>>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:199
Deletes every row of one user in one namespace: ledger rows whose userId or turnUserId is the user, the
user's heads, trait rows, outcomes, lessons, skills, session rows of both kinds, and freezes keyed to the user's
learners. Never the tombstone, which every later write for the user checks.
Parameters
namespace
string
userId
string
Returns
Promise<Record<string, number>>
The rows deleted, per table: ledger, heads, traits, outcomes, lessons, skills, sessions
and freezes.
Inherited from
LearningStoreTx.deleteUserRows
freezeRows()
freezeRows():
Promise<FreezeRow[]>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:162
Every freeze and suspension, ordered by scope key and mode.
Returns
Promise<FreezeRow[]>
Inherited from
LearningStoreTx.freezeRows
head()
head(
chainKey):Promise<ChainHead|undefined>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:144
Parameters
chainKey
string
Returns
Promise<ChainHead | undefined>
Inherited from
LearningStoreTx.head
insertForgotten()
insertForgotten(
hash,forgottenAt):Promise<void>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:186
Idempotent.
Parameters
hash
string
forgottenAt
string
Returns
Promise<void>
Inherited from
LearningStoreTx.insertForgotten
insertFreeze()
insertFreeze(
row):Promise<void>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:164
Idempotent: a scope frozen twice holds one row, the first.
Parameters
row
FreezeRow
Returns
Promise<void>
Inherited from
LearningStoreTx.insertFreeze
insertHead()
insertHead(
head):Promise<boolean>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:146
Starts a chain's head; false when the chain has one.
Parameters
head
ChainHead
Returns
Promise<boolean>
Inherited from
LearningStoreTx.insertHead
insertLedgerRow()
insertLedgerRow(
row):Promise<void>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:123
Appends a row; throws when a row has its id, or its chain has a row at its seq.
Parameters
row
StoredLedgerRow
Returns
Promise<void>
Inherited from
LearningStoreTx.insertLedgerRow
insertTraitRow()
insertTraitRow(
row):Promise<boolean>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:157
false when the learner has a row.
Parameters
row
StoredTraitRow
Returns
Promise<boolean>
Inherited from
LearningStoreTx.insertTraitRow
isForgotten()
isForgotten(
hash):Promise<boolean>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:184
Parameters
hash
string
Returns
Promise<boolean>
Inherited from
LearningStoreTx.isForgotten
learnerDocs()
learnerDocs(
table,namespace,agentKey,userId):Promise<LearnerDocRow[]>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:189
One learner's rows of a learner document table, ordered by createdAt and id.
Parameters
table
LearnerDocTable
namespace
string
agentKey
string
userId
string
Returns
Promise<LearnerDocRow[]>
Inherited from
LearningStoreTx.learnerDocs
learnerLedgerRows()
learnerLedgerRows(
namespace,agentKey,userId):Promise<StoredLedgerRow[]>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:136
The rows keyed to one learner (by namespace, agent and userId), ordered by chain key and sequence.
Parameters
namespace
string
agentKey
string
userId
string
Returns
Promise<StoredLedgerRow[]>
Inherited from
LearningStoreTx.learnerLedgerRows
ledgerRow()
ledgerRow(
id):Promise<StoredLedgerRow|undefined>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:124
Parameters
id
string
Returns
Promise<StoredLedgerRow | undefined>
Inherited from
LearningStoreTx.ledgerRow
markHeadsForgotten()
markHeadsForgotten(
namespace,userId):Promise<number>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:153
Marks every head of one user in one namespace forgotten; returns how many.
Parameters
namespace
string
userId
string
Returns
Promise<number>
Inherited from
LearningStoreTx.markHeadsForgotten
putSessionRow()
putSessionRow(
row,expectedVersion?):Promise<void>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:174
Inserts the row, or writes it over the row of the same learner, session and kind, keeping that row's startedAt.
With expectedVersion, the version its writer read, it writes over the row only at that version, and inserts it
only where there is none for 0: a row another writer moved on since is left as it is, which a read of the row
shows, so two writers that read one row never drop each other's ids.
Parameters
row
SessionRow
expectedVersion?
number
Returns
Promise<void>
Inherited from
LearningStoreTx.putSessionRow
sessionRow()
sessionRow(
namespace,agentKey,sessionId,userId,kind):Promise<SessionRow|undefined>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:167
Parameters
namespace
string
agentKey
string
sessionId
string
userId
string
kind
"learner" | "visitor"
Returns
Promise<SessionRow | undefined>
Inherited from
LearningStoreTx.sessionRow
sessionRowsIn()?
optionalsessionRowsIn(namespace,agentKey,sessionId):Promise<SessionRow[]>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:182
One session's rows of every user and both kinds, ordered by user id and kind: forgetUser reads the learner of a
session the user spoke on as a second user, whose own scopes can hold a summary of the user's words. Optional, so a
host's own store written against an earlier release still opens; forgetUser names those scopes unreached on it.
Parameters
namespace
string
agentKey
string
sessionId
string
Returns
Promise<SessionRow[]>
Inherited from
LearningStoreTx.sessionRowsIn
sessionRowsOf()
sessionRowsOf(
namespace,userId):Promise<SessionRow[]>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:176
One user's session rows of both kinds in one namespace, every agent's, ordered by session id and kind.
Parameters
namespace
string
userId
string
Returns
Promise<SessionRow[]>
Inherited from
LearningStoreTx.sessionRowsOf
traitRow()
traitRow(
namespace,agentKey,userId):Promise<StoredTraitRow|undefined>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:155
Parameters
namespace
string
agentKey
string
userId
string
Returns
Promise<StoredTraitRow | undefined>
Inherited from
LearningStoreTx.traitRow
transaction()
transaction<
T>(fn):Promise<T>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:212
Runs fn in one transaction: every write it makes through tx commits together, or none does when it throws.
fn makes every call through tx, never through the store: a call on the store runs outside the transaction,
and a store that runs one call at a time holds it until the transaction ends, so a transaction that waits for it
never ends.
Type Parameters
T
T
Parameters
fn
(tx) => Promise<T>
Returns
Promise<T>
updateTraitRow()
updateTraitRow(
row,expectedVersion):Promise<boolean>
Defined in: packages/agentos/src/cognition/learning/store/LearningStore.ts:159
Writes row over the row at expectedVersion; false when another write moved it on, or there is none.
Parameters
row
StoredTraitRow
expectedVersion
number
Returns
Promise<boolean>
Inherited from
LearningStoreTx.updateTraitRow