- action/ → activity/ (Temporal activities) - statemachine/ → workflow/ (Temporal workflows) - Removed internal/api/ and cmd/server/ (api-gw handles HTTP, Temporal is the API) - Created pkg/types/types.go as single source of truth for all shared types - Extracted CallRoleLLM helper (DRY: implementer/planner/judge shared pattern) - Fixed circular import: workflow_graph_query uses string activity names - Fixed logger.logf → logger.Info/Warn (method didn't exist) - Fixed routing types: added Branches, Activity, BackoffSeconds, TaskActivity - Fixed db.Canvas.Name, db.Client→DB, GetWorkflow→FetchWorkflow - Removed unused imports - All tests pass, build clean, vet clean
52 lines
1.7 KiB
Go
52 lines
1.7 KiB
Go
package activity
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
)
|
|
|
|
// IndexGraphRAGActivity indexes workflow canvas to GraphRAG (stub for now)
|
|
func IndexGraphRAGActivity(ctx context.Context, input IndexGraphRAGInput) (IndexGraphRAGOutput, error) {
|
|
output := IndexGraphRAGOutput{
|
|
WorkflowID: input.WorkflowID,
|
|
Version: input.Version,
|
|
Status: "indexed",
|
|
IndexedEntities: len(input.Nodes),
|
|
IndexedEdges: len(input.Relations),
|
|
IndexedAt: time.Now().UTC().Format(time.RFC3339),
|
|
}
|
|
|
|
// Stub implementation - actual GraphRAG indexing would happen here
|
|
// For now, just return success
|
|
return output, nil
|
|
}
|
|
|
|
// QueryGraphRAGRelationsInput for direct relation discovery
|
|
type QueryGraphRAGRelationsInput struct {
|
|
WorkflowID string `json:"workflow_id"`
|
|
Version int `json:"version"`
|
|
Query string `json:"query"`
|
|
TopK int `json:"top_k"`
|
|
Filters map[string]interface{} `json:"filters,omitempty"`
|
|
}
|
|
|
|
// QueryGraphRAGRelationsOutput returns discovered relations
|
|
type QueryGraphRAGRelationsOutput struct {
|
|
Query string `json:"query"`
|
|
Results []EdgeWithWording `json:"results"`
|
|
TotalCount int `json:"total_count"`
|
|
ExecutionMs int64 `json:"execution_time_ms"`
|
|
}
|
|
|
|
// QueryGraphRAGRelationsActivity queries GraphRAG for relation patterns (stub)
|
|
func QueryGraphRAGRelationsActivity(ctx context.Context, input QueryGraphRAGRelationsInput) (QueryGraphRAGRelationsOutput, error) {
|
|
output := QueryGraphRAGRelationsOutput{
|
|
Query: input.Query,
|
|
Results: []EdgeWithWording{},
|
|
TotalCount: 0,
|
|
}
|
|
|
|
// Stub implementation - actual GraphRAG querying would happen here
|
|
return output, nil
|
|
}
|