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_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.

build_handle_lookup(graph_node, options \\ nil)

build_node_lookup(graph_node, options \\ nil)

description(graph_node)

description(graph_node, default)

do_description(graph_node)

do_description(graph_node, default)

do_handle(graph_node)

do_handle(graph_node, default)

do_handle_record(graph_node)

do_id(graph_node)

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()}

do_name(graph_node)

do_name(graph_node, default)

do_new(module, options)

@spec do_new(module(), any()) :: any()

do_node_type(graph_node)

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()}

do_process_node(graph_node, graph_link, graph_container, session, context, options)

do_process_node_response(graph_node, graph_link, graph_container, session, context, options)

do_register_link(graph_node, graph, link, options)

do_with_id(graph_node)

do_with_id!(graph_node)

handle(graph_node)

handle(graph_node, default)

handle_record(graph_node)

id(graph_node)

inbound_links(graph_node, graph, options)

@spec inbound_links(GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map()) ::
  {:ok, map()} | {:error, term()}

inspect_custom_details(subject, opts)

inspect_full_detail(subject, opts)

inspect_high_detail(subject, opts)

inspect_low_detail(subject, opts)

inspect_medium_detail(subject, opts)

name(graph_node)

name(graph_node, default)

new(module, options)

@spec new(module(), any()) :: struct()

node(graph_node, id)

node_type(graph_node)

nodes(graph_node, options \\ nil)

outbound_links(graph_node, graph, options)

@spec outbound_links(GenAI.Types.Graph.graph_node(), GenAI.Types.Graph.graph(), map()) ::
  {:ok, map()} | {:error, term()}

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.

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.

register_link(graph_node, graph, link, options)

with_id(graph_node)