mirror of
https://github.com/hanzoai/agents.git
synced 2026-10-30 18:48:36 +00:00
Transforms hanzoai/agents from a marketplace config repo into a full agent orchestration platform by merging the AgentField infrastructure: - Go control plane (K8s-like agent orchestration, service mesh, DAG workflows) - Python SDK (FastAPI-based agent framework, LiteLLM, memory, DID/VC) - TypeScript SDK (@hanzo/agents - Vercel AI SDK, MCP, workflows) - Go SDK (idiomatic agent builder + client) - React 19 embedded dashboard (XyFlow DAGs, Recharts, Radix UI) - Docker/K8s/Helm deployment configs - Examples: hello world, deep research, RAG, simulation, benchmarks - Functional test suite across Python/Go/TypeScript All references rebranded: AgentField → Hanzo Agents - Module: github.com/hanzoai/agents/control-plane - Python: hanzo_agents - TypeScript: @hanzo/agents - Go: github.com/hanzoai/agents/sdk/go - Env vars: HANZO_AGENTS_* - Config: hanzo-agents.yaml Previous marketplace configs moved to config/ directory.
69 lines
3.4 KiB
SQL
69 lines
3.4 KiB
SQL
-- Migration: Add Composite Indexes for Query Optimization
|
|
-- Description: Composite indexes to optimize multi-column query performance based on analysis findings
|
|
-- Created: 2025-01-19
|
|
|
|
-- =============================================================================
|
|
-- WORKFLOWS TABLE COMPOSITE INDEXES
|
|
-- =============================================================================
|
|
|
|
-- Primary composite index for QueryWorkflows function
|
|
-- Optimizes: WHERE session_id = ? AND actor_id = ? AND status = ?
|
|
CREATE INDEX IF NOT EXISTS idx_workflows_session_actor_status ON workflows(session_id, actor_id, status);
|
|
|
|
-- Secondary composite index for session + actor queries
|
|
-- Optimizes: WHERE session_id = ? AND actor_id = ? (without status filter)
|
|
CREATE INDEX IF NOT EXISTS idx_workflows_session_actor ON workflows(session_id, actor_id);
|
|
|
|
-- Composite index for actor + status queries
|
|
-- Optimizes: WHERE actor_id = ? AND status = ? (cross-session queries)
|
|
CREATE INDEX IF NOT EXISTS idx_workflows_actor_status ON workflows(actor_id, status);
|
|
|
|
-- Composite index for session + temporal queries
|
|
-- Optimizes: WHERE session_id = ? ORDER BY started_at (session timeline queries)
|
|
CREATE INDEX IF NOT EXISTS idx_workflows_session_started_at ON workflows(session_id, started_at);
|
|
|
|
-- =============================================================================
|
|
-- WORKFLOW_EXECUTIONS TABLE COMPOSITE INDEXES
|
|
-- =============================================================================
|
|
|
|
-- Primary composite index for workflow + session queries
|
|
-- Optimizes: WHERE workflow_id = ? AND session_id = ? (execution lookups within workflow sessions)
|
|
CREATE INDEX IF NOT EXISTS idx_workflow_executions_workflow_session ON workflow_executions(workflow_id, session_id);
|
|
|
|
-- Composite index for session + actor queries
|
|
-- Optimizes: WHERE session_id = ? AND actor_id = ? (actor executions within sessions)
|
|
CREATE INDEX IF NOT EXISTS idx_workflow_executions_session_actor ON workflow_executions(session_id, actor_id);
|
|
|
|
-- =============================================================================
|
|
-- QUERY PATTERN OPTIMIZATION SUMMARY
|
|
-- =============================================================================
|
|
--
|
|
-- These composite indexes are designed to optimize the following query patterns:
|
|
--
|
|
-- 1. QueryWorkflows primary pattern:
|
|
-- SELECT * FROM workflows WHERE session_id = ? AND actor_id = ? AND status = ?
|
|
-- → Optimized by idx_workflows_session_actor_status
|
|
--
|
|
-- 2. Session-based workflow queries:
|
|
-- SELECT * FROM workflows WHERE session_id = ? AND actor_id = ?
|
|
-- → Optimized by idx_workflows_session_actor
|
|
--
|
|
-- 3. Actor status queries across sessions:
|
|
-- SELECT * FROM workflows WHERE actor_id = ? AND status = ?
|
|
-- → Optimized by idx_workflows_actor_status
|
|
--
|
|
-- 4. Session timeline queries:
|
|
-- SELECT * FROM workflows WHERE session_id = ? ORDER BY started_at
|
|
-- → Optimized by idx_workflows_session_started_at
|
|
--
|
|
-- 5. Workflow execution lookups:
|
|
-- SELECT * FROM workflow_executions WHERE workflow_id = ? AND session_id = ?
|
|
-- → Optimized by idx_workflow_executions_workflow_session
|
|
--
|
|
-- 6. Actor execution queries within sessions:
|
|
-- SELECT * FROM workflow_executions WHERE session_id = ? AND actor_id = ?
|
|
-- → Optimized by idx_workflow_executions_session_actor
|
|
--
|
|
-- These indexes complement existing single-column indexes and provide significant
|
|
-- performance improvements for multi-column WHERE clauses and JOIN operations.
|