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_hubowns 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-toolaction node depends on.nameis the binary the Node Hub probes on the user’s machine;versionis the minimum required version (installed >= required => OK, lower => “update needed”, absent => “not installed”). Distinct fromNodeCatalogEntry::version, which is the node scheme version.version_commandoverrides the probe argument and defaults to--versionat the call site. - Lowering
Hint - Node
Catalog Entry - 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. - Runtime
Bindings - Service
Auth - Auth contract for a service integration.
schemeselects the strategy; the remaining fields are the declarative parameters that strategy needs. - Service
Integration - Declarative API-integration descriptor attached to a
servicecatalog entry. - Service
Operation - One callable operation exposed by a service integration.
- Settings
Requirement
Enums§
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 →
ServiceIntegrationfor every embedded catalog entry that declares one. Built at startup and handed to the genericserviceadapter so it can execute the API aservicenode selects. - write_
scheme - Write an installed scheme to
<dir>/<slug>.json. Parent directory is created on demand.