Module: SmartBrain

Defined in:
lib/smart_brain.rb,
lib/smart_brain/db.rb,
lib/smart_brain/runtime.rb,
lib/smart_brain/version.rb,
lib/smart_brain/configuration.rb,
lib/smart_brain/fusion/merger.rb,
lib/smart_brain/server/service.rb,
lib/smart_brain/scopes/registry.rb,
lib/smart_brain/scopes/resolver.rb,
lib/smart_brain/server/http_app.rb,
lib/smart_brain/governance/tiers.rb,
lib/smart_brain/server/mcp_server.rb,
lib/smart_brain/contracts/scope_ref.rb,
lib/smart_brain/governance/briefing.rb,
lib/smart_brain/model_provider/base.rb,
lib/smart_brain/model_provider/stub.rb,
lib/smart_brain/support/levenshtein.rb,
lib/smart_brain/event_store/postgres.rb,
lib/smart_brain/governance/lifecycle.rb,
lib/smart_brain/event_store/in_memory.rb,
lib/smart_brain/governance/fact_check.rb,
lib/smart_brain/memory_store/postgres.rb,
lib/smart_brain/model_provider/ollama.rb,
lib/smart_brain/model_provider/openai.rb,
lib/smart_brain/observability/tracker.rb,
lib/smart_brain/memory_store/in_memory.rb,
lib/smart_brain/model_provider/factory.rb,
lib/smart_brain/contracts/evidence_pack.rb,
lib/smart_brain/contracts/scope_context.rb,
lib/smart_brain/contracts/retrieval_plan.rb,
lib/smart_brain/scopes/conflict_resolver.rb,
lib/smart_brain/context_composer/composer.rb,
lib/smart_brain/contracts/context_package.rb,
lib/smart_brain/retrieval_planner/planner.rb,
lib/smart_brain/governance/knowledge_graph.rb,
lib/smart_brain/memory_extractor/extractor.rb,
lib/smart_brain/retrievers/exact_retriever.rb,
lib/smart_brain/retrievers/memory_retriever.rb,
lib/smart_brain/consolidator/working_summary.rb,
lib/smart_brain/adapters/smart_rag/http_client.rb,
lib/smart_brain/adapters/smart_rag/null_client.rb,
lib/smart_brain/adapters/smart_rag/scope_filter.rb,
lib/smart_brain/retrievers/relational_retriever.rb,
lib/smart_brain/adapters/smart_rag/direct_client.rb

Defined Under Namespace

Modules: Adapters, Consolidator, ContextComposer, Contracts, DB, EventStore, Fusion, Governance, MemoryExtractor, MemoryStore, ModelProvider, Observability, RetrievalPlanner, Retrievers, Scopes, Server, Support Classes: Configuration, Runtime

Constant Summary collapse

VERSION =
'0.2.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.runtime=(value) ⇒ Object

Sets the attribute runtime

Parameters:

  • value

    the value to set the attribute runtime to.



10
11
12
# File 'lib/smart_brain.rb', line 10

def runtime=(value)
  @runtime = value
end

Class Method Details

.briefObject



66
# File 'lib/smart_brain.rb', line 66

def brief(...) = runtime.brief(...)

.commit_turn(session_id:, turn_events:, domain_id: nil, scope_context: nil) ⇒ Object



17
18
19
# File 'lib/smart_brain.rb', line 17

def commit_turn(session_id:, turn_events:, domain_id: nil, scope_context: nil)
  runtime.commit_turn(session_id: session_id, turn_events: turn_events, domain_id: domain_id, scope_context: scope_context)
end

.compose_context(session_id:, user_message:, agent_state: {}, domain_id: nil, scope_context: nil) ⇒ Object



21
22
23
24
25
26
# File 'lib/smart_brain.rb', line 21

def compose_context(session_id:, user_message:, agent_state: {}, domain_id: nil, scope_context: nil)
  runtime.compose_context(
    session_id: session_id, user_message: user_message, agent_state: agent_state,
    domain_id: domain_id, scope_context: scope_context
  )
end

.configure(config_path: nil, smart_rag_client: nil, clock: -> { Time.now.utc }) ⇒ Object



12
13
14
15
# File 'lib/smart_brain.rb', line 12

def configure(config_path: nil, smart_rag_client: nil, clock: -> { Time.now.utc })
  config = Configuration.load(config_path)
  @runtime = Runtime.build(config: config, smart_rag_client: smart_rag_client, clock: clock)
end

.demoteObject



51
# File 'lib/smart_brain.rb', line 51

def demote(...) = runtime.demote(...)

.demote_from_scopeObject



54
# File 'lib/smart_brain.rb', line 54

def demote_from_scope(...) = runtime.demote_from_scope(...)

.diagnosticsObject



70
71
72
# File 'lib/smart_brain.rb', line 70

def diagnostics
  runtime.diagnostics
end

.distillObject



48
# File 'lib/smart_brain.rb', line 48

def distill(...) = runtime.distill(...)

.fact_checkObject



64
# File 'lib/smart_brain.rb', line 64

def fact_check(...) = runtime.fact_check(...)

.gateObject



49
# File 'lib/smart_brain.rb', line 49

def gate(...) = runtime.gate(...)

.kg_addObject



58
# File 'lib/smart_brain.rb', line 58

def kg_add(...) = runtime.kg_add(...)

.kg_invalidateObject



61
# File 'lib/smart_brain.rb', line 61

def kg_invalidate(...) = runtime.kg_invalidate(...)

.kg_queryObject



59
# File 'lib/smart_brain.rb', line 59

def kg_query(...) = runtime.kg_query(...)

.kg_statsObject



62
# File 'lib/smart_brain.rb', line 62

def kg_stats(...) = runtime.kg_stats(...)

.kg_timelineObject



60
# File 'lib/smart_brain.rb', line 60

def kg_timeline(...) = runtime.kg_timeline(...)

.knowledge_eventsObject



56
# File 'lib/smart_brain.rb', line 56

def knowledge_events(...) = runtime.knowledge_events(...)

.memory_item(id:) ⇒ Object



34
35
36
# File 'lib/smart_brain.rb', line 34

def memory_item(id:)
  runtime.memory_item(id: id)
end

.migrate(config_path: nil) ⇒ Object



42
43
44
45
46
# File 'lib/smart_brain.rb', line 42

def migrate(config_path: nil)
  config = Configuration.load(config_path)
  require_relative 'smart_brain/db'
  SmartBrain::DB.migrate(SmartBrain::DB.connect(config))
end

.promoteObject



50
# File 'lib/smart_brain.rb', line 50

def promote(...) = runtime.promote(...)

.promote_to_scopeObject



53
# File 'lib/smart_brain.rb', line 53

def promote_to_scope(...) = runtime.promote_to_scope(...)

.promotion_lineageObject



55
# File 'lib/smart_brain.rb', line 55

def promotion_lineage(...) = runtime.promotion_lineage(...)

.resumeObject



68
# File 'lib/smart_brain.rb', line 68

def resume(...) = runtime.resume(...)

.retractObject



52
# File 'lib/smart_brain.rb', line 52

def retract(...) = runtime.retract(...)

.search_memory(session_id:, query:, limit: nil, domain_id: nil, scope_context: nil) ⇒ Object



28
29
30
31
32
# File 'lib/smart_brain.rb', line 28

def search_memory(session_id:, query:, limit: nil, domain_id: nil, scope_context: nil)
  runtime.search_memory(
    session_id: session_id, query: query, limit: limit, domain_id: domain_id, scope_context: scope_context
  )
end

.storage_backendObject



38
39
40
# File 'lib/smart_brain.rb', line 38

def storage_backend
  runtime.storage_backend
end

.wake_upObject



67
# File 'lib/smart_brain.rb', line 67

def wake_up(...) = runtime.wake_up(...)