mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-13 02:14:39 +00:00
refactor(store/pg): error-propagate parseUUID in knowledge_graph
5 CRITICAL sites migrated: UpsertEntity (INSERT), GetEntity (SELECT), DeleteEntity (DELETE), ListEntities (SELECT), SearchEntities (SELECT). All now return wrapped parse errors at the caller boundary instead of hitting FK violations (writes) or returning empty results (reads). Phase 4 Step 4b.3 of agent identity hardening (TD-1).
This commit is contained in:
1 parent
642603e14e
commit
4ebd6698b0
1 file changed
+28
-7
@@ -30,7 +30,10 @@ func (s *PGKnowledgeGraphStore) SetEmbeddingProvider(provider store.EmbeddingPro
|
||||
}
|
||||
|
||||
func (s *PGKnowledgeGraphStore) UpsertEntity(ctx context.Context, entity *store.Entity) error {
|
||||
aid := mustParseUUID(entity.AgentID)
|
||||
aid, err := parseUUID(entity.AgentID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("kg upsert entity: %w", err)
|
||||
}
|
||||
props, err := json.Marshal(entity.Properties)
|
||||
if err != nil {
|
||||
props = []byte("{}")
|
||||
@@ -65,8 +68,14 @@ func (s *PGKnowledgeGraphStore) UpsertEntity(ctx context.Context, entity *store.
|
||||
}
|
||||
|
||||
func (s *PGKnowledgeGraphStore) GetEntity(ctx context.Context, agentID, userID, entityID string) (*store.Entity, error) {
|
||||
aid := mustParseUUID(agentID)
|
||||
eid := mustParseUUID(entityID)
|
||||
aid, err := parseUUID(agentID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("kg get entity: agent: %w", err)
|
||||
}
|
||||
eid, err := parseUUID(entityID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("kg get entity: id: %w", err)
|
||||
}
|
||||
|
||||
var row entityRow
|
||||
if store.IsSharedKG(ctx) {
|
||||
@@ -103,8 +112,14 @@ func (s *PGKnowledgeGraphStore) GetEntity(ctx context.Context, agentID, userID,
|
||||
}
|
||||
|
||||
func (s *PGKnowledgeGraphStore) DeleteEntity(ctx context.Context, agentID, userID, entityID string) error {
|
||||
aid := mustParseUUID(agentID)
|
||||
eid := mustParseUUID(entityID)
|
||||
aid, err := parseUUID(agentID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("kg delete entity: agent: %w", err)
|
||||
}
|
||||
eid, err := parseUUID(entityID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("kg delete entity: id: %w", err)
|
||||
}
|
||||
if store.IsSharedKG(ctx) {
|
||||
tc, tcArgs, _, err := scopeClause(ctx, 3)
|
||||
if err != nil {
|
||||
@@ -128,7 +143,10 @@ func (s *PGKnowledgeGraphStore) DeleteEntity(ctx context.Context, agentID, userI
|
||||
}
|
||||
|
||||
func (s *PGKnowledgeGraphStore) ListEntities(ctx context.Context, agentID, userID string, opts store.EntityListOptions) ([]store.Entity, error) {
|
||||
aid := mustParseUUID(agentID)
|
||||
aid, err := parseUUID(agentID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("kg list entities: %w", err)
|
||||
}
|
||||
limit := opts.Limit
|
||||
if limit <= 0 {
|
||||
limit = 50
|
||||
@@ -177,7 +195,10 @@ func (s *PGKnowledgeGraphStore) ListEntities(ctx context.Context, agentID, userI
|
||||
}
|
||||
|
||||
func (s *PGKnowledgeGraphStore) SearchEntities(ctx context.Context, agentID, userID, query string, limit int) ([]store.Entity, error) {
|
||||
aid := mustParseUUID(agentID)
|
||||
aid, err := parseUUID(agentID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("kg search entities: %w", err)
|
||||
}
|
||||
if limit <= 0 {
|
||||
limit = 20
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user