GenAI.Graph.NodeProtocol.DefaultProvider
(GenAI Core v0.3.0)
Copy Markdown
Default provider for GenAI.Graph.NodeProtocol. Uses function_exported? to invoke the passed module's implementation if any for calls.
Summary
Functions
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
Functions
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
@spec description(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.description(), GenAI.Types.details())
@spec description(GenAI.Types.Graph.graph_node(), GenAI.Types.description()) :: GenAI.Types.result(GenAI.Types.description(), GenAI.Types.details())
@spec do_description(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.description(), GenAI.Types.details())
@spec do_description(GenAI.Types.Graph.graph_node(), GenAI.Types.description()) :: GenAI.Types.result(GenAI.Types.description(), GenAI.Types.details())
@spec do_handle(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
@spec do_handle(GenAI.Types.Graph.graph_node(), GenAI.Types.handle()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
@spec do_handle_record(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
@spec do_id(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
@spec do_inbound_links( GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map() ) :: {:ok, map()} | {:error, term()}
@spec do_name(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.name(), GenAI.Types.details())
@spec do_name(GenAI.Types.Graph.graph_node(), GenAI.Types.name()) :: GenAI.Types.result(GenAI.Types.name(), GenAI.Types.details())
@spec do_node_type(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
@spec do_outbound_links( GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map() ) :: {:ok, map()} | {:error, term()}
@spec do_register_link( GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), GenAI.Types.Graph.graph_link(), map() ) :: GenAI.Types.result(GenAI.Types.Graph.graph_node(), GenAI.Types.details())
@spec do_with_id(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node(), GenAI.Types.details())
@spec do_with_id!(GenAI.Types.Graph.graph_node()) :: GenAI.Types.Graph.graph_node()
@spec handle(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
@spec handle(GenAI.Types.Graph.graph_node(), GenAI.Types.handle()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
@spec handle_record(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
@spec id(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
@spec inbound_links(GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map()) :: {:ok, map()} | {:error, term()}
@spec name(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.name(), GenAI.Types.details())
@spec name(GenAI.Types.Graph.graph_node(), GenAI.Types.name()) :: GenAI.Types.result(GenAI.Types.name(), GenAI.Types.details())
@spec node(GenAI.Types.Graph.graph_node(), term()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
@spec node_type(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
@spec nodes(GenAI.Types.Graph.graph_node(), term()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
@spec outbound_links(GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map()) :: {:ok, map()} | {:error, term()}
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
@spec register_link( GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), GenAI.Types.Graph.graph_link(), map() ) :: GenAI.Types.result(GenAI.Types.Graph.graph_node(), GenAI.Types.details())
@spec with_id(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node(), GenAI.Types.details())