Skip to content

Knowledge Nodes

Who knows what: an entry's Known by line, a character's knowledge report, entry visibility, disclosures and grant/revoke knowledge edges.

13 nodes.

Node Registry path
Add Disclosure knowledge/AddDisclosure
Character Knowledge knowledge/CharacterKnowledge
Character Knows Entry knowledge/CharacterKnowsEntry
Entry Knowledge knowledge/EntryKnowledge
Grant Knowledge knowledge/GrantKnowledge
Grant Knowledge Confirmation knowledge/GrantKnowledgeConfirmation
Grant Knowledge Metadata knowledge/GrantKnowledgeMetadata
Knowledge Callbacks knowledge/KnowledgeCallbacks
List Disclosures knowledge/ListDisclosures
Remove Knowledge Edge knowledge/RemoveKnowledgeEdge
Revoke Knowledge knowledge/RevokeKnowledge
Set Entry Visibility knowledge/SetEntryVisibility
Set Static History Known By knowledge/SetStaticHistoryKnownBy

Add Disclosure

knowledge/AddDisclosure

Share information with one or more characters from now on, as a disclosure: they know the text, whether or not it comes from an entry. Character Perspectives only; in Standard scenes use Grant Knowledge.

Inputs

Input Type Description
state any graph state (passthrough)
text str (optional) the information
characters list the character names

Outputs

Output Type Description
state any graph state
disclosure dict the saved disclosure as a dict

Properties

Property Type Default Description
text text "" The information to share

Character Knowledge

knowledge/CharacterKnowledge

Report one character's knowledge without an LLM request: grants with entry labels and accessible restricted entries. Legacy reports also include revokes; perception reports include disclosures.

Inputs

Input Type Description
character str,character character name or character

Outputs

Output Type Description
character str the character name
text str the report
grants list the character's Learn edges as dicts
revokes list the character's Never Learn edges as dicts (Standard only)
disclosures list disclosures shared with the character as dicts (Character Perspectives only)

Character Knows Entry

knowledge/CharacterKnowsEntry

Whether a character knows an entry: a character sheet entry, a world entry or a history entry, by the same rule that decides what reaches the character's memories. Answers without an LLM request.

Reasons for not knowing: revoke (a Never Learn rule), visibility (the entry's Known by leaves the character out) or presence (the character did not witness the history entry).

Inputs

Input Type Description
character str,character character name or character
target str (optional) entry id (or give context_id_item)
context_id_item context_id_item (optional) the entry as a Context ID item (or give target)

Outputs

Output Type Description
known bool True when the character knows the entry
reason str why not, or None
entry_id str the id knowledge edges use for the entry

Entry Knowledge

knowledge/EntryKnowledge

Who knows a context entry: its Known by setting (or the presence of a history entry) and the grant and revoke edges pointing at it.

Inputs

Input Type Description
context_id_item context_id_item the entry as a Context ID item

Outputs

Output Type Description
context_id_item context_id_item the input, passed through
entry_id str the id knowledge edges use for the entry, or None
text str the Known by line, empty when the entry cannot be known or unknown
visibility dict the Known by setting as a dict, or None
grants list list of grant edge dicts
revokes list list of revoke edge dicts

Grant Knowledge

knowledge/GrantKnowledge

Establish selected information in perception mode, or a whole-entry edge in legacy mode. Disclosures are acquired now without inventing dialogue; whole_entry explicitly copies all source text. In legacy mode a grant does not lift an earlier Never Learn for the same entry unless replace is on; the World Editor's Learn lifts it.

Inputs

Input Type Description
state any graph state (passthrough)
character str,character character name or character
target str (optional) existing entry id (or give context_id_item)
context_id_item context_id_item (optional) resolved source entry (or give target)
note str (optional) optional note on legacy edges
information str (optional) selected text; required for partial disclosures
whole_entry bool (optional) false by default; true copies all current source content

Outputs

Output Type Description
state any graph state
edge dict legacy edge, or None in perception mode
text str disclosure result or the legacy Known by line
disclosure dict saved disclosure in perception mode

Properties

Property Type Default Description
note str "" Optional note stored on the edge
source str "granted" Where the edge comes from. Choices: told, granted, inferred, manual, director.
replace bool False Keep one edge per character and entry: the new edge replaces an existing grant or revoke for the pair. Without it, an earlier Never Learn stays and still wins over a new grant
whole_entry bool False True copies all source content, including private details; False discloses only the supplied information.

Grant Knowledge Confirmation

knowledge/GrantKnowledgeConfirmation

Format the director grant confirmation for the scene's knowledge mode.

Inputs

Input Type Description
template str
variables dict (optional)

This node supports dynamic inputs - additional input sockets can be added in the editor as needed, and connected values are collected with key inference (see Collector Nodes).

Outputs

Output Type Description
result str

Properties

Property Type Default Description
template text "" A format string with placeholders (e.g., "Hello, {name}")
perception_template text "" Disclosure confirmation used only when character perspectives are enabled.

Grant Knowledge Metadata

knowledge/GrantKnowledgeMetadata

Director grant metadata selected by the shared character-knowledge gate.

Inputs

Input Type Description
state any

Outputs

Output Type Description
state any

Properties

Property Type Default Description
instructions text "" The instructions for the callback
examples list [] The examples for the callback
counts_toward_budget bool True Whether this function consumes the model's call budget
perception_instructions text "" Instructions used only when character perspectives are enabled.
perception_examples list [] Disclosure examples used only when character perspectives are enabled.

Knowledge Callbacks

knowledge/KnowledgeCallbacks

Collect director knowledge callbacks, omitting revocation in perception scenes.

Legacy scenes retain all callbacks. Uses List Collector's dynamic inputs.

Inputs

Input Type Description
list list (optional) optional base list

This node supports dynamic inputs - additional input sockets can be added in the editor as needed, and connected values are collected with key inference (see Collector Nodes).

Outputs

Output Type Description
list list available knowledge callbacks

List Disclosures

knowledge/ListDisclosures

The disclosures of a Character Perspectives scene, optionally only those shared with one character. Empty in Standard scenes.

Inputs

Input Type Description
character str,character character name or character (optional)

Outputs

Output Type Description
disclosures list list of disclosure dicts (id, text, audience, origin ...)

Remove Knowledge Edge

knowledge/RemoveKnowledgeEdge

Remove Learn and Never Learn rules: one edge by its id, or every edge between a character and an entry. What the character knows then follows the entry's Known by setting again.

Inputs

Input Type Description
state any graph state (passthrough)
edge_id str (optional) the id of one edge (or give character and target)
character str,character (optional) character name or character
target str (optional) entry id

Outputs

Output Type Description
state any graph state
removed list the removed edges as dicts
text str the entry's Known by line after the change

Revoke Knowledge

knowledge/RevokeKnowledge

Revoke a character's knowledge of an entry in legacy scenes. Perception scenes reject this operation before mutation; no amnesia is provided.

Inputs

Input Type Description
state any graph state (passthrough)
character str,character character name or character
target str (optional) entry id (or give context_id_item)
context_id_item context_id_item (optional) the entry as a Context ID item (or give target)
note str (optional) optional note stored on the edge

Outputs

Output Type Description
state any graph state
edge dict the stored edge
text str the entry's Known by line after the change

Properties

Property Type Default Description
note str "" Optional note stored on the edge
source str "granted" Where the edge comes from. Choices: told, granted, inferred, manual, director.
replace bool False Keep one edge per character and entry: the new edge replaces an existing grant or revoke for the pair. Without it, an earlier Never Learn stays and still wins over a new grant

Set Entry Visibility

knowledge/SetEntryVisibility

Set the Known by setting of a character sheet entry (description, attribute, detail) or a world entry.

Inputs

Input Type Description
state any graph state (passthrough)
context_id_item context_id_item the entry as a Context ID item
mode str everyone, owner or list (required)
characters list (optional) the character names for the list mode

Outputs

Output Type Description
state any graph state
entry_id str the id knowledge edges use for the entry
text str the entry's Known by line after the change

Properties

Property Type Default Description
mode str "everyone" Who knows the entry. Choices: everyone, owner, list.

Set Static History Known By

knowledge/SetStaticHistoryKnownBy

Set who knows a static history entry, in Standard knowledge scenes: everyone, nobody, or the listed characters.

Inputs

Input Type Description
state any graph state (passthrough)
context_id_item context_id_item the static history entry as a Context ID item
mode str everyone, nobody or list (required)
characters list (optional) the character names for the list mode

Outputs

Output Type Description
state any graph state
entry_id str the static history entry id
present list the characters who know it, or None for everyone
text str the entry's Known by line after the change

Properties

Property Type Default Description
mode str "everyone" Who knows the entry. Choices: everyone, nobody, list.