mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-22 01:48:11 +00:00
feat: complete SDK dispatch - all methods implemented (32-41)
- DocMemory: Insert/Remove/Stats dispatch (32-34) - Knowledge: Add/List dispatch (35-36) - LLM: CurrentSource dispatch (37) - Social: GetTrait/GetRelations/ListPersons dispatch (38-40) - TextMemory: Append dispatch (41) - EventBus: subscribe stub (not wired for external plugins) - All bridge template stubs replaced with real dispatch calls
This commit is contained in:
@ -424,6 +424,7 @@ func go_core_dispatch(methodID C.int, ctx unsafe.Pointer, s1, s2, s3 *C.char, i1
|
|||||||
|
|
||||||
case 23: // CORE_SUBSCRIBE
|
case 23: // CORE_SUBSCRIBE
|
||||||
_ = n2
|
_ = n2
|
||||||
|
// Events API not wired for external plugins (SetEventSubscriber not called)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
case 24: // CORE_UNSUBSCRIBE
|
case 24: // CORE_UNSUBSCRIBE
|
||||||
@ -484,6 +485,83 @@ func go_core_dispatch(methodID C.int, ctx unsafe.Pointer, s1, s2, s3 *C.char, i1
|
|||||||
*result = C.CString(string(b))
|
*result = C.CString(string(b))
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
case 32: // CORE_DOC_INSERT
|
||||||
|
if dm := s.DocMemory(); dm != nil {
|
||||||
|
var doc sdk.Doc
|
||||||
|
if err := json.Unmarshal([]byte(a1), &doc); err != nil { setErr(errorOut, err); return 1 }
|
||||||
|
if err := dm.Insert(&doc); err != nil { setErr(errorOut, err); return 1 }
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 33: // CORE_DOC_REMOVE
|
||||||
|
if dm := s.DocMemory(); dm != nil {
|
||||||
|
dm.Remove(a1)
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 34: // CORE_DOC_STATS
|
||||||
|
if dm := s.DocMemory(); dm != nil {
|
||||||
|
b, _ := json.Marshal(dm.Stats())
|
||||||
|
*result = C.CString(string(b))
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 35: // CORE_KNOWLEDGE_ADD
|
||||||
|
if kn := s.Knowledge(); kn != nil {
|
||||||
|
if err := kn.Add(a1, a2); err != nil { setErr(errorOut, err); return 1 }
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 36: // CORE_KNOWLEDGE_LIST
|
||||||
|
if kn := s.Knowledge(); kn != nil {
|
||||||
|
list, err := kn.List()
|
||||||
|
if err != nil { setErr(errorOut, err); return 1 }
|
||||||
|
b, _ := json.Marshal(list)
|
||||||
|
*result = C.CString(string(b))
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 37: // CORE_LLM_CURRENT_SOURCE
|
||||||
|
if llm := s.LLM(); llm != nil {
|
||||||
|
b, _ := json.Marshal(llm.CurrentSource())
|
||||||
|
*result = C.CString(string(b))
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 38: // CORE_SOCIAL_GET_TRAIT
|
||||||
|
if social := s.Social(); social != nil {
|
||||||
|
val, ok := social.GetTrait(a1, a2)
|
||||||
|
b, _ := json.Marshal(map[string]interface{}{"value": val, "found": ok})
|
||||||
|
*result = C.CString(string(b))
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 39: // CORE_SOCIAL_GET_RELATIONS
|
||||||
|
if social := s.Social(); social != nil {
|
||||||
|
rels, err := social.GetRelations(a1)
|
||||||
|
if err != nil { setErr(errorOut, err); return 1 }
|
||||||
|
b, _ := json.Marshal(rels)
|
||||||
|
*result = C.CString(string(b))
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 40: // CORE_SOCIAL_LIST_PERSONS
|
||||||
|
if social := s.Social(); social != nil {
|
||||||
|
persons, err := social.ListPersons()
|
||||||
|
if err != nil { setErr(errorOut, err); return 1 }
|
||||||
|
b, _ := json.Marshal(persons)
|
||||||
|
*result = C.CString(string(b))
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
case 41: // CORE_TEXT_MEMORY_APPEND
|
||||||
|
if tm := s.TextMemory(); tm != nil {
|
||||||
|
var evt sdk.TextEvent
|
||||||
|
if err := json.Unmarshal([]byte(a1), &evt); err != nil { setErr(errorOut, err); return 1 }
|
||||||
|
if err := tm.Append(evt); err != nil { setErr(errorOut, err); return 1 }
|
||||||
|
}
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user