Krill Feature
Descriptor for a single Krill node type — UI metadata plus the prompt surface used by Krill's LLM tooling.
Loaded from a JSON resource named after the corresponding KrillApp subclass (e.g. KrillApp.Server.json). A missing field on the JSON side falls back to the default declared here; required fields will throw at deserialisation time, which is the desired fail-loud behaviour for a malformed bundle.
Constructors
Properties
Long-form prose description shown in the editor's info panel.
true if this node type has side effects outside the swarm (sends email, calls an external API, toggles a relay) — used to prompt the user for confirmation before LLM-driven creation.
Bullet-list description of how this node behaves at runtime.
true if the LLM is allowed to add child nodes underneath this type.
Connection-graph hints; see LlmConnectionHints.
Free-form guidance for the LLM when it decides to instantiate this type.
Worked examples shown to the LLM as few-shot context.
true if this node type executes its children (e.g. a Project orchestrating its members).
Names of the values this node produces for downstream targets.
Phrases the LLM should look for in user requests as a hint to use this node.
One-sentence summary of what this node type is for.
true if instances of this type carry persistent state between executions (e.g. a DataPoint's snapshot history).
Coarse risk classification of running this node — typically one of "none", "reversible", "observable", "irreversible". Used by the LLM safety layer to decide whether to ask before firing.
For executor / filter / trigger types, the canonical node type they typically write to. Optional and may be null for nodes that don't have a single dominant target.
Catalogue of typical use cases shown alongside llmExamples.
What happens when the user clicks the node chip in the swarm UI — "none", "execute", "toggle", etc.
Description of what the node's right-click / command menu offers.
true if this node type depends on a Krill server runtime (DataPoint, Trigger, Executor, MQTT, Server.* …) — false for fully client-side types (Project, Project.Journal, Project.TaskList, Project.Diagram). Drives recipe gating and FTUE prompts.
Short description used in the node palette tile.
Default initial krill.zone.shared.node.NodeState for newly created instances.
Optional sub-grouping under category in the palette.