Skip to main content

Module nodes

Module nodes 

Source
Expand description

Node catalog - the master abstract registry of node types.

Mirrors the crate::templates / crate::template_hub split:

  • This module owns the catalog parse (the embedded node_catalog.json - operator-supplied data, stand-in for a future Hub API response) and the on-disk scheme IO at <flow_dir>/nodes/<slug>.json.
  • crate::node_hub owns the Hub orchestration (install, update, uninstall, install-status annotation).

Every entry is installable like any third-party kind; nothing is pre-seeded at boot. Installed schemes land on disk under <flow_dir>/nodes/. The frontend consumes the merged set via the nodes Tauri commands.

Structs§

CliPreview
CliTool
CLI tool a cli-tool action node depends on. name is the binary the Node Hub probes on the user’s machine; version is the minimum required version (installed >= required => OK, lower => “update needed”, absent => “not installed”). Distinct from NodeCatalogEntry::version, which is the node scheme version. version_command overrides the probe argument and defaults to --version at the call site.
LoweringHint
NodeCatalogEntry
One catalog entry as authored in node_catalog.json. The shape is also what we return from the Tauri layer (rename_all = camelCase) so the frontend can consume the same JSON the catalog ships with.
RuntimeBindings
ServiceAuth
Auth contract for a service integration. scheme selects the strategy; the remaining fields are the declarative parameters that strategy needs.
ServiceIntegration
Declarative API-integration descriptor attached to a service catalog entry.
ServiceOperation
One callable operation exposed by a service integration.
SettingsRequirement

Enums§

NodeError

Functions§

catalog
Browse list: catalog entries sorted by sortKey. Stable across boots so the palette order doesn’t shuffle on the user.
delete_scheme
Remove an installed scheme from disk. Missing file is fine - the caller asked to delete it, the absence is the goal.
entry_by_slug
Look up a catalog entry by slug.
list_installed_schemes
The canvas runtime’s view of “what kinds exist”: for every row in node_library, read the on-disk scheme. The scheme is the source of truth at runtime - the embedded catalog only seeds new installs.
read_scheme
Read an installed scheme from <dir>/<slug>.json.
service_integrations
Map of catalog slug → ServiceIntegration for every embedded catalog entry that declares one. Built at startup and handed to the generic service adapter so it can execute the API a service node selects.
write_scheme
Write an installed scheme to <dir>/<slug>.json. Parent directory is created on demand.