Class: SmartBrain::Server::Service
- Inherits:
-
Object
- Object
- SmartBrain::Server::Service
- Defined in:
- lib/smart_brain/server/service.rb
Overview
Shared facade over the SmartBrain runtime. The HTTP app, MCP server, and CLI all go through a Service instance so behavior is identical across every front-end and only the transport differs.
Class Method Summary collapse
-
.build(config_path: nil, smart_rag_client: nil) ⇒ Object
Configure the singleton runtime and return a Service bound to it.
Instance Method Summary collapse
- #backend ⇒ Object
- #brief(session_id:, query: nil, **opts) ⇒ Object
- #commit(session_id:, turn_events:, domain_id: nil, scope_context: nil) ⇒ Object
- #compose(session_id:, user_message:, agent_state: {}, domain_id: nil, scope_context: nil) ⇒ Object
- #demote(memory_item_id:, evidence_refs:, reason:, reason_type:, **opts) ⇒ Object
-
#distill(session_id:, statement:, content: nil, tier:, supporting_refs: [], **opts) ⇒ Object
--- knowledge lifecycle (Stage-1) ---.
-
#fact_check(session_id:, text:, **opts) ⇒ Object
--- fact-check / briefing ---.
- #gate(memory_item_id:, **opts) ⇒ Object
-
#initialize ⇒ Service
constructor
A new instance of Service.
-
#kg_add(session_id:, subject:, predicate:, object:, **opts) ⇒ Object
--- knowledge graph ---.
- #kg_invalidate(edge_id:, reason: nil, **opts) ⇒ Object
- #kg_query(session_id:, **opts) ⇒ Object
- #kg_stats(session_id:, **opts) ⇒ Object
- #kg_timeline(session_id:, subject:, **opts) ⇒ Object
- #knowledge_events(memory_item_id:, **opts) ⇒ Object
- #migrate ⇒ Object
- #promote(memory_item_id:, verification_refs:, reason:, **opts) ⇒ Object
- #promote_to_scope(**args) ⇒ Object
- #promotion_lineage(memory_item_id:, **opts) ⇒ Object
- #resume(query:) ⇒ Object
- #retract(memory_item_id:, evidence_refs:, reason:, **opts) ⇒ Object
- #search(session_id:, query:, limit: nil, domain_id: nil, scope_context: nil) ⇒ Object
- #status ⇒ Object
- #wake_up(session_id:, **opts) ⇒ Object
Constructor Details
#initialize ⇒ Service
Returns a new instance of Service.
19 20 21 |
# File 'lib/smart_brain/server/service.rb', line 19 def initialize raise 'SmartBrain runtime not configured; call Service.build first' unless SmartBrain.instance_variable_get(:@runtime) end |
Class Method Details
.build(config_path: nil, smart_rag_client: nil) ⇒ Object
Configure the singleton runtime and return a Service bound to it.
13 14 15 16 |
# File 'lib/smart_brain/server/service.rb', line 13 def build(config_path: nil, smart_rag_client: nil) SmartBrain.configure(config_path: config_path, smart_rag_client: smart_rag_client) new end |
Instance Method Details
#backend ⇒ Object
50 51 52 |
# File 'lib/smart_brain/server/service.rb', line 50 def backend SmartBrain.storage_backend end |
#brief(session_id:, query: nil, **opts) ⇒ Object
116 117 118 |
# File 'lib/smart_brain/server/service.rb', line 116 def brief(session_id:, query: nil, **opts) SmartBrain.brief(session_id: session_id, query: query, **opts) end |
#commit(session_id:, turn_events:, domain_id: nil, scope_context: nil) ⇒ Object
23 24 25 |
# File 'lib/smart_brain/server/service.rb', line 23 def commit(session_id:, turn_events:, domain_id: nil, scope_context: nil) SmartBrain.commit_turn(session_id: session_id, turn_events: turn_events, domain_id: domain_id, scope_context: scope_context) end |
#compose(session_id:, user_message:, agent_state: {}, domain_id: nil, scope_context: nil) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/smart_brain/server/service.rb', line 27 def compose(session_id:, user_message:, agent_state: {}, domain_id: nil, scope_context: nil) SmartBrain.compose_context( session_id: session_id, user_message: , agent_state: agent_state, domain_id: domain_id, scope_context: scope_context ) end |
#demote(memory_item_id:, evidence_refs:, reason:, reason_type:, **opts) ⇒ Object
69 70 71 72 |
# File 'lib/smart_brain/server/service.rb', line 69 def demote(memory_item_id:, evidence_refs:, reason:, reason_type:, **opts) SmartBrain.demote(memory_item_id: memory_item_id, evidence_refs: evidence_refs, reason: reason, reason_type: reason_type, **opts) end |
#distill(session_id:, statement:, content: nil, tier:, supporting_refs: [], **opts) ⇒ Object
--- knowledge lifecycle (Stage-1) ---
55 56 57 58 |
# File 'lib/smart_brain/server/service.rb', line 55 def distill(session_id:, statement:, content: nil, tier:, supporting_refs: [], **opts) SmartBrain.distill(session_id: session_id, statement: statement, content: content, tier: tier, supporting_refs: supporting_refs, **opts) end |
#fact_check(session_id:, text:, **opts) ⇒ Object
--- fact-check / briefing ---
112 113 114 |
# File 'lib/smart_brain/server/service.rb', line 112 def fact_check(session_id:, text:, **opts) SmartBrain.fact_check(session_id: session_id, text: text, **opts) end |
#gate(memory_item_id:, **opts) ⇒ Object
60 61 62 |
# File 'lib/smart_brain/server/service.rb', line 60 def gate(memory_item_id:, **opts) SmartBrain.gate(memory_item_id: memory_item_id, **opts) end |
#kg_add(session_id:, subject:, predicate:, object:, **opts) ⇒ Object
--- knowledge graph ---
91 92 93 |
# File 'lib/smart_brain/server/service.rb', line 91 def kg_add(session_id:, subject:, predicate:, object:, **opts) SmartBrain.kg_add(session_id: session_id, subject: subject, predicate: predicate, object: object, **opts) end |
#kg_invalidate(edge_id:, reason: nil, **opts) ⇒ Object
103 104 105 |
# File 'lib/smart_brain/server/service.rb', line 103 def kg_invalidate(edge_id:, reason: nil, **opts) SmartBrain.kg_invalidate(edge_id: edge_id, reason: reason, **opts) end |
#kg_query(session_id:, **opts) ⇒ Object
95 96 97 |
# File 'lib/smart_brain/server/service.rb', line 95 def kg_query(session_id:, **opts) SmartBrain.kg_query(session_id: session_id, **opts) end |
#kg_stats(session_id:, **opts) ⇒ Object
107 108 109 |
# File 'lib/smart_brain/server/service.rb', line 107 def kg_stats(session_id:, **opts) SmartBrain.kg_stats(session_id: session_id, **opts) end |
#kg_timeline(session_id:, subject:, **opts) ⇒ Object
99 100 101 |
# File 'lib/smart_brain/server/service.rb', line 99 def kg_timeline(session_id:, subject:, **opts) SmartBrain.kg_timeline(session_id: session_id, subject: subject, **opts) end |
#knowledge_events(memory_item_id:, **opts) ⇒ Object
86 87 88 |
# File 'lib/smart_brain/server/service.rb', line 86 def knowledge_events(memory_item_id:, **opts) SmartBrain.knowledge_events(memory_item_id: memory_item_id, **opts) end |
#migrate ⇒ Object
44 45 46 47 48 |
# File 'lib/smart_brain/server/service.rb', line 44 def migrate SmartBrain.migrate rescue StandardError => e { ok: false, error: "#{e.class}: #{e.}" } end |
#promote(memory_item_id:, verification_refs:, reason:, **opts) ⇒ Object
64 65 66 67 |
# File 'lib/smart_brain/server/service.rb', line 64 def promote(memory_item_id:, verification_refs:, reason:, **opts) SmartBrain.promote(memory_item_id: memory_item_id, verification_refs: verification_refs, reason: reason, **opts) end |
#promote_to_scope(**args) ⇒ Object
78 79 80 |
# File 'lib/smart_brain/server/service.rb', line 78 def promote_to_scope(**args) SmartBrain.promote_to_scope(**args) end |
#promotion_lineage(memory_item_id:, **opts) ⇒ Object
82 83 84 |
# File 'lib/smart_brain/server/service.rb', line 82 def promotion_lineage(memory_item_id:, **opts) SmartBrain.promotion_lineage(memory_item_id: memory_item_id, **opts) end |
#resume(query:) ⇒ Object
124 125 126 |
# File 'lib/smart_brain/server/service.rb', line 124 def resume(query:) SmartBrain.resume(query: query) end |
#retract(memory_item_id:, evidence_refs:, reason:, **opts) ⇒ Object
74 75 76 |
# File 'lib/smart_brain/server/service.rb', line 74 def retract(memory_item_id:, evidence_refs:, reason:, **opts) SmartBrain.retract(memory_item_id: memory_item_id, evidence_refs: evidence_refs, reason: reason, **opts) end |
#search(session_id:, query:, limit: nil, domain_id: nil, scope_context: nil) ⇒ Object
34 35 36 37 38 |
# File 'lib/smart_brain/server/service.rb', line 34 def search(session_id:, query:, limit: nil, domain_id: nil, scope_context: nil) SmartBrain.search_memory( session_id: session_id, query: query, limit: limit, domain_id: domain_id, scope_context: scope_context ) end |
#status ⇒ Object
40 41 42 |
# File 'lib/smart_brain/server/service.rb', line 40 def status SmartBrain.diagnostics end |
#wake_up(session_id:, **opts) ⇒ Object
120 121 122 |
# File 'lib/smart_brain/server/service.rb', line 120 def wake_up(session_id:, **opts) SmartBrain.wake_up(session_id: session_id, **opts) end |