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. |