GenAI.Graph.NodeProtocol.DefaultProvider (GenAI Core v0.2.0)
Default provider for GenAI.Graph.NodeProtocol. Uses function_exported? to invoke the passed module's implementation if any for calls.
Link to this section 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.
Link to this section Functions
Link to this function
apply_node_directives(graph_node, graph_link, graph_container, session, context, options)
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
Link to this function
build_handle_lookup(graph_node, options \\ nil)
Link to this function
build_node_lookup(graph_node, options \\ nil)
Link to this function
description(graph_node)
@spec description(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.description(), GenAI.Types.details())
Link to this function
description(graph_node, default)
@spec description(GenAI.Types.Graph.graph_node(), GenAI.Types.description()) :: GenAI.Types.result(GenAI.Types.description(), GenAI.Types.details())
Link to this function
do_description(graph_node)
@spec do_description(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.description(), GenAI.Types.details())
Link to this function
do_description(graph_node, default)
@spec do_description(GenAI.Types.Graph.graph_node(), GenAI.Types.description()) :: GenAI.Types.result(GenAI.Types.description(), GenAI.Types.details())
Link to this function
do_handle(graph_node)
@spec do_handle(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
Link to this function
do_handle(graph_node, default)
@spec do_handle(GenAI.Types.Graph.graph_node(), GenAI.Types.handle()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
Link to this function
do_handle_record(graph_node)
@spec do_handle_record(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
Link to this function
do_id(graph_node)
@spec do_id(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
Link to this function
do_inbound_links(graph_node, graph, options)
@spec do_inbound_links( GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map() ) :: {:ok, map()} | {:error, term()}
Link to this function
do_name(graph_node)
@spec do_name(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.name(), GenAI.Types.details())
Link to this function
do_name(graph_node, default)
@spec do_name(GenAI.Types.Graph.graph_node(), GenAI.Types.name()) :: GenAI.Types.result(GenAI.Types.name(), GenAI.Types.details())
Link to this function
do_new(module, options)
Link to this function
do_node_type(graph_node)
@spec do_node_type(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
Link to this function
do_outbound_links(graph_node, graph, options)
@spec do_outbound_links( GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map() ) :: {:ok, map()} | {:error, term()}
Link to this function
do_process_node(graph_node, graph_link, graph_container, session, context, options)
Link to this function
do_process_node_response(graph_node, graph_link, graph_container, session, context, options)
Link to this function
do_register_link(graph_node, graph, link, options)
@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())
Link to this function
do_with_id(graph_node)
@spec do_with_id(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node(), GenAI.Types.details())
Link to this function
do_with_id!(graph_node)
@spec do_with_id!(GenAI.Types.Graph.graph_node()) :: GenAI.Types.Graph.graph_node()
Link to this function
handle(graph_node)
@spec handle(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
Link to this function
handle(graph_node, default)
@spec handle(GenAI.Types.Graph.graph_node(), GenAI.Types.handle()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
Link to this function
handle_record(graph_node)
@spec handle_record(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.handle(), GenAI.Types.details())
Link to this function
id(graph_node)
@spec id(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
Link to this function
inbound_links(graph_node, graph, options)
@spec inbound_links(GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map()) :: {:ok, map()} | {:error, term()}
Link to this function
inspect_custom_details(subject, opts)
Link to this function
inspect_full_detail(subject, opts)
Link to this function
inspect_high_detail(subject, opts)
Link to this function
inspect_low_detail(subject, opts)
Link to this function
inspect_medium_detail(subject, opts)
Link to this function
name(graph_node)
@spec name(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.name(), GenAI.Types.details())
Link to this function
name(graph_node, default)
@spec name(GenAI.Types.Graph.graph_node(), GenAI.Types.name()) :: GenAI.Types.result(GenAI.Types.name(), GenAI.Types.details())
Link to this function
new(module, options)
Link to this function
node(graph_node, id)
@spec node(GenAI.Types.Graph.graph_node(), term()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
Link to this function
node_type(graph_node)
@spec node_type(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
Link to this function
nodes(graph_node, options \\ nil)
@spec nodes(GenAI.Types.Graph.graph_node(), term()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node_id(), GenAI.Types.details())
Link to this function
outbound_links(graph_node, graph, options)
@spec outbound_links(GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map()) :: {:ok, map()} | {:error, term()}
Link to this function
process_node(graph_node, graph_link, graph_container, session, context, options)
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
Link to this function
process_node_response(graph_node, graph_link, graph_container, session, context, options)
Apply/process a node. check/update fingerprint and add any appropriate directives to state.
Link to this function
register_link(graph_node, graph, link, options)
@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())
Link to this function
with_id(graph_node)
@spec with_id(GenAI.Types.Graph.graph_node()) :: GenAI.Types.result(GenAI.Types.Graph.graph_node(), GenAI.Types.details())