Dispatch surface for storage backends.
Every public function in Foresight forwards to the configured backend
module implementing these callbacks. Each callback returns result/0:
{:ok, term()} or {:error, %Foresight.Error{}}.
Summary
Types
@type result() :: {:ok, term()} | {:error, Foresight.Error.t()}
Callbacks
@callback add_bank_background(Foresight.Context.t(), String.t(), String.t(), keyword()) :: result()
@callback audit_log_stats(Foresight.Context.t(), map(), keyword()) :: result()
@callback bank_profile(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback bank_stats(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback cancel_operation(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback clear_bank_memories(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback clear_memory_observations( Foresight.Context.t(), String.t(), String.t(), keyword() ) :: result()
@callback clear_observations(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback consolidate(Foresight.Context.t(), term(), keyword()) :: result()
@callback create_directive(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback create_mental_model(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback create_webhook(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback delete_bank(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback delete_directive(Foresight.Context.t(), String.t(), String.t(), keyword()) :: result()
@callback delete_document(Foresight.Context.t(), String.t(), String.t(), keyword()) :: result()
@callback delete_mental_model(Foresight.Context.t(), String.t(), String.t(), keyword()) :: result()
@callback delete_webhook(Foresight.Context.t(), String.t(), String.t(), keyword()) :: result()
@callback entity_graph(Foresight.Context.t(), map(), keyword()) :: result()
@callback export_bank_template(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback get_bank_config(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback get_chunk(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback get_directive(Foresight.Context.t(), String.t(), String.t(), keyword()) :: result()
@callback get_document(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback get_entity(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback get_memory(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback get_memory_history(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback get_mental_model_history( Foresight.Context.t(), String.t(), String.t(), keyword() ) :: result()
@callback get_operation(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback import_bank_template(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback list_audit_logs(Foresight.Context.t(), map(), keyword()) :: result()
@callback list_banks( Foresight.Context.t(), keyword() ) :: result()
@callback list_directives(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback list_document_chunks(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback list_documents(Foresight.Context.t(), map(), keyword()) :: result()
@callback list_entities(Foresight.Context.t(), map(), keyword()) :: result()
@callback list_memories(Foresight.Context.t(), map(), keyword()) :: result()
@callback list_mental_models(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback list_operations(Foresight.Context.t(), map(), keyword()) :: result()
@callback list_tags(Foresight.Context.t(), map(), keyword()) :: result()
@callback list_webhooks(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback memory_graph(Foresight.Context.t(), map(), keyword()) :: result()
@callback patch_bank(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback put_bank(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback recall(Foresight.Context.t(), term(), keyword()) :: result()
@callback recover_consolidation(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback reflect(Foresight.Context.t(), term(), keyword()) :: result()
@callback refresh_mental_model(Foresight.Context.t(), String.t(), String.t(), keyword()) :: result()
@callback reprocess_document(Foresight.Context.t(), String.t(), String.t(), keyword()) :: result()
@callback reset_bank_config(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback retain(Foresight.Context.t(), term(), keyword()) :: result()
@callback retain_files(Foresight.Context.t(), term(), keyword()) :: result()
@callback retry_operation(Foresight.Context.t(), String.t(), keyword()) :: result()
@callback update_bank_config(Foresight.Context.t(), String.t(), map(), keyword()) :: result()
@callback update_bank_disposition(Foresight.Context.t(), String.t(), map(), keyword()) :: result()