Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
2bd31d3
feat: LangGraph Platform + LangSmith + major cleanup + 45 game demos
pr1m8 Apr 2, 2026
3d5bdd4
fix: update haive-agents submodule ref (cleanup round 2)
pr1m8 Apr 2, 2026
83baf96
fix: update haive-agents ref (178K lines dead code removed)
pr1m8 Apr 2, 2026
a60f954
fix: update haive-agents ref (consolidate dupes, fix inits, 556 files…
pr1m8 Apr 2, 2026
27bc25f
feat: complete haive-agents cleanup + full demo coverage
pr1m8 Apr 2, 2026
69d3c96
fix: update haive-agents ref (MultiAgent fix + research fix)
pr1m8 Apr 2, 2026
249e3f8
fix: update haive-agents ref (core execution fixes)
pr1m8 Apr 2, 2026
9431311
feat: DynamicSupervisor works e2e (add_agent + create_agent + routing)
pr1m8 Apr 3, 2026
0f2ed90
fix: update demo 07 + haive-agents ref
pr1m8 Apr 3, 2026
9e49252
fix: supervisor graphs + demo update
pr1m8 Apr 3, 2026
087a4d9
fix: clean reasoning modules
pr1m8 Apr 3, 2026
8b856c6
fix: plan_and_execute v1 deleted, v2 canonical
pr1m8 Apr 3, 2026
d09df18
fix: final example/log cleanup (523 files remain)
pr1m8 Apr 3, 2026
252a2d1
fix: MCTS deleted, reasoning agents verified
pr1m8 Apr 3, 2026
e97cf5c
feat: LLM Compiler on haive-agents base, cleanup
pr1m8 Apr 3, 2026
336a7d7
feat: MultiAgent dynamic agent management + cleanup
pr1m8 Apr 3, 2026
9cfbc2e
feat: LLM Compiler structured DAG + pyproject fix
pr1m8 Apr 3, 2026
41b20e1
fix: ToT sync conversion + model fixes
pr1m8 Apr 6, 2026
b4a50ed
feat: ToT works e2e with parallel eval via Send
pr1m8 Apr 6, 2026
82bd260
fix: LATS config + all agents verified compiling
pr1m8 Apr 6, 2026
54fbb3d
feat: LLM Compiler e2e verified (99*77=7623)
pr1m8 Apr 6, 2026
041bafc
feat: BaseRAG works e2e + core embedding fix
pr1m8 Apr 6, 2026
78aac1d
fix: BaseGraph.to_langgraph() root cause found and fixed
pr1m8 Apr 6, 2026
cf89d38
fix: BaseGraph root cause fixed, all bypasses reverted
pr1m8 Apr 6, 2026
08f3e35
fix: LATS routing + e2e status
pr1m8 Apr 6, 2026
41ede8e
feat: LATS on haive-agents base with BaseGraph
pr1m8 Apr 6, 2026
a7ed5b8
feat: LATS e2e with ReactAgent+SimpleAgent composition + tools
pr1m8 Apr 6, 2026
d5268ae
feat: ALL agents work e2e - LLMCompiler, Reflexion, ReWOO
pr1m8 Apr 6, 2026
bd340d9
feat: 29 graphs, ReWOO demo, langgraph.json updated
pr1m8 Apr 6, 2026
68c3c24
fix: conversation run() + status update
pr1m8 Apr 6, 2026
bdef9c6
fix: conversation agents work e2e
pr1m8 Apr 6, 2026
05cc780
feat: 31 graphs, all conversation agents work e2e
pr1m8 Apr 6, 2026
21c8787
feat: memory design doc + models
pr1m8 Apr 6, 2026
105aaf1
docs: memory system design v2
pr1m8 Apr 6, 2026
6ef42bf
docs: memory design v3
pr1m8 Apr 6, 2026
dcfa529
feat: MemoryAgent v2 + base schema fix + Neo4j docker-compose
pr1m8 Apr 6, 2026
971f0ff
feat: MemoryAgent Neo4j KG + e2e demo
pr1m8 Apr 6, 2026
1346160
chore: update haive-agents submodule (trace utility + neo4j sync)
pr1m8 Apr 6, 2026
d55915e
docs: comprehensive agent design guides
pr1m8 Apr 6, 2026
a94b621
refactor: rewrite CLAUDE.md — clean v5, 92% smaller
pr1m8 Apr 6, 2026
54ed4c6
docs: add coding standards back to CLAUDE.md
pr1m8 Apr 6, 2026
26a8bc5
docs: add memory management patterns to CLAUDE.md
pr1m8 Apr 6, 2026
9998e50
docs: add agent status survey to CLAUDE.md
pr1m8 Apr 6, 2026
c1acdf9
docs: mark legacy agents as-is, not broken
pr1m8 Apr 6, 2026
1a0a8c1
docs: add next steps + demos note to CLAUDE.md
pr1m8 Apr 6, 2026
8809672
fix: PlanAndExecute agent working + demo fixed
pr1m8 Apr 6, 2026
45a7deb
docs: update CLAUDE.md — Plan&Execute working, update next steps
pr1m8 Apr 6, 2026
a094832
feat: MemoryAgent GraphDBRAG tool + Neo4j factory config
pr1m8 Apr 6, 2026
f4de751
feat: 62/62 agents verified + chain/storm import fixes
pr1m8 Apr 6, 2026
6110126
chore: 53/53 agents verified importing — all green
pr1m8 Apr 6, 2026
37ed8e5
feat: Perplexity research agent with Tavily + dynamic RAG
pr1m8 Apr 6, 2026
44fde5e
feat: add research agent demo (50_research_agent.py)
pr1m8 Apr 6, 2026
74c1e94
feat: research agents + demos (Perplexity + Deep Research)
pr1m8 Apr 6, 2026
2d63f73
chore: populate empty __init__.py exports (utils, planning, research)
pr1m8 Apr 7, 2026
3938594
chore: update haive-games submodule — CLAUDE.md + cleanup
pr1m8 Apr 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
213 changes: 31 additions & 182 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,183 +1,32 @@
# Auto-generated .env.example from backup
# Values intentionally blank.
# =============================================================================
# Haive Framework - Environment Configuration
# =============================================================================
# Copy this file to .env and fill in your values.

AI21_API_KEY=
ALCHEMY_API_KEY=
ALPHAVANTAGE_API_KEY=
AMADEUS_CLIENT_ID=
AMADEUS_CLIENT_SECRET=
ANTHROPIC_API_KEY=
APIFY_API_TOKEN=
APP_ENV=
ASKNEWS_CLIENT_ID=
ASKNEWS_CLIENT_SECRET=
AWS_ACCESS_KEY_ID=
AWS_DEFAULT_REGION=
AWS_ENDPOINT_URL=
AWS_SECRET_ACCESS_KEY=
AZURE_AI_SERVICES_ENDPOINT=
AZURE_AI_SERVICES_KEY=
AZURE_AI_SERVICES_REGION=
AZURE_CLIENT_ID=
AZURE_DEPLOYMENT_NAME=
AZURE_OBJECT_ID=
AZURE_OPENAI_API_BASE=
AZURE_OPENAI_API_KEY=
AZURE_OPENAI_API_VERSION=
AZURE_OPENAI_ENDPOINT=
AZURE_SECRET_ID=
AZURE_TENANT_ID=
BING_SEARCH_URL=
BING_SUPERVISION_KEY=
BRAVE_SEARCH_API_KEY=
CLICKUP_API_KEY=
CLICKUP_CLIENT_ID=
CLICKUP_CLIENT_SECRET=
CLICKUP_REDIRECT_URI=
CLOUDFLARE_ACCOUNT_ID=
CLOUDFLARE_API_TOKEN=
CLOUDFLARE_R2_BUCKET=
CLOUDFLARE_R2_ENDPOINT=
DATAFORSEO_LOGIN=
DATAFORSEO_PASSWORD=
DEBUG=
DEEPL_API_KEY=
DEEPSEEK_API_KEY=
DISCORD_APPLICATION_ID=
DISCORD_BOT_TOKEN=
DISCORD_CLIENT_ID=
DISCORD_PUBLIC_KEY=
DOCS_PACKAGES_BASE_URL=
DOCS_PUBLIC_BASE_URL=
DOCS_ROOT_URL=
DROPBOX_ACCESS_TOKEN=
DROPBOX_APP_KEY=
DROPBOX_APP_SECRET=
DROPBOX_FOLDER_PATH=
ELEVENLABS_API_KEY=
EMBEDDINGS_API_ENDPOINT=
EMBEDDINGS_API_KEY=
EMBEDDINGS_API_REGION=
EMBEDDINGS_API_VERSION=
ETHERSCAN_API_KEY=
FIGMA_ACCESS_TOKEN=
FINANCIAL_DATASETS_API_KEY=
FIREWORKS_AI_API_KEY=
GITHUB_ACCESS_TOKEN=
GITHUB_APP_ID=
GITHUB_APP_PRIVATE_KEY=
GITHUB_BASE_BRANCH=
GITHUB_BASE_URL=
GITHUB_BRANCH=
GITHUB_ORG=
GITHUB_REPOSITORY=
GMAIL_API_KEY=
GMAIL_CLIENT_ID=
GMAIL_CLIENT_SECRET=
GOOGLE_API_KEY=
GOOGLE_BOOKS_API_KEY=
GOOGLE_CSE_ID=
GPLACES_API_KEY=
GROQ_API_KEY=
HAIVE_AGENTS_DOCS_URL=
HAIVE_AGENTS_REPO_URL=
HAIVE_CORE_DOCS_URL=
HAIVE_CORE_REPO_URL=
HAIVE_DATAFLOW_DOCS_URL=
HAIVE_DATAFLOW_REPO_URL=
HAIVE_GAMES_DOCS_URL=
HAIVE_GAMES_REPO_URL=
HAIVE_HAP_DOCS_URL=
HAIVE_HAP_REPO_URL=
HAIVE_MCP_DOCS_URL=
HAIVE_MCP_REPO_URL=
HAIVE_PREBUILT_DOCS_URL=
HAIVE_PREBUILT_REPO_URL=
HAIVE_TOOLS_DOCS_URL=
HAIVE_TOOLS_REPO_URL=
HF_TOKEN=
JIRA_API_KEY=
JIRA_BASE_URL=
JIRA_ISSUE_TYPE=
JIRA_PROJECT_KEY=
MERRIAM_WEBSTER_API_KEY=
MISTRAL_API_KEY=
MONGO_URI=
NEO4J_DATABASE=
NEO4J_PASSWORD=
NEO4J_URI=
NEO4J_USER=
NEWSAPI_KEY=
NOTION_API_KEY=
OCR_AGENT=
OPENAI_API_KEY=
OPENAI_API_TYPE=
OPENAI_API_VERSION=
OPENWEATHERMAP_API_KEY=
OUTLINE_API_KEY=
OUTLINE_INSTANCE_URL=
PEFT_AVAILABLE=
PERPLEXITY_API_KEY=
PINECONE=
POLYGON_API_KEY=
POSTGRES_CONNECTION_STRING=
REDDIT_CLIENT_ID=
REDDIT_CLIENT_SECRET=
REDDIT_USER_AGENT=
SALESFORCE_DOMAIN=
SALESFORCE_PASSWORD=
SALESFORCE_SECURITY_TOKEN=
SALESFORCE_USERNAME=
SCENEX_API_KEY=
SECRET_KEY=
SERPAPI_API_KEY=
SERP_API_KEY=
SLACK_USER_TOKEN=
SPOONACULAR_API_KEY=
STEAM_ID=
STEAM_KEY=
STRIPE_SECRET_KEY=
SUPABASE_ANON_KEY=
SUPABASE_DATABASE_URI=
SUPABASE_DATABASE_URI_SSL=
SUPABASE_DATABASE_URL=
SUPABASE_DBNAME=
SUPABASE_HOST=
SUPABASE_KEY=
SUPABASE_PASSWORD=
SUPABASE_PORT=
SUPABASE_PROJECT_URL=
SUPABASE_SERVICE_KEY=
SUPABASE_URL=
SUPABASE_USER=
TAVILY_API_KEY=
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_FROM_NUMBER=
TWILIO_TO_NUMBER=
TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_TOKEN_SECRET=
TWITTER_API_KEY=
TWITTER_API_SECRET=
TWITTER_BEARER_TOKEN=
WOLFRAM_ALPHA_APPID=
_T=
__all__=
__slots__=
doc=
error_msg=
file_path=
file_paths=
found_secrets_file=
msg=
path=
secrets=
secrets_dirs=
secrets_file_str=
secrets_paths=
stacklevel=
sub_folder_path=
sub_secrets=
value=
value_type=
watcher_type=
# -- LangSmith (Observability & Tracing) --------------------------------------
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=your-langsmith-api-key
LANGSMITH_PROJECT=haive
LANGSMITH_ENDPOINT=https://api.smith.langchain.com

# -- LLM Provider Keys --------------------------------------------------------
OPENAI_API_KEY=your-openai-api-key
ANTHROPIC_API_KEY=your-anthropic-api-key

# Azure OpenAI (optional)
AZURE_OPENAI_API_KEY=your-azure-api-key
AZURE_OPENAI_ENDPOINT=your-azure-endpoint
AZURE_OPENAI_API_VERSION=2024-02-01

# Google (optional)
GOOGLE_API_KEY=your-google-api-key

# -- LangGraph Platform (for remote deployment) --------------------------------
LANGGRAPH_API_URL=http://localhost:8123

# -- PostgreSQL Persistence (optional) ----------------------------------------
# DB_HOST=localhost
# DB_PORT=5432
# DB_NAME=haive
# DB_USER=postgres
# DB_PASS=postgres
113 changes: 90 additions & 23 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: 🚀 Publish Release
name: Publish Release
on:
release:
types: [published]
Expand All @@ -9,57 +9,124 @@ permissions:
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: true

jobs:
publish:
name: 📦 Publish ${{ matrix.package }}
# Phase 1: Publish haive-core first (no dependencies)
publish-core:
name: Publish haive-core
runs-on: ubuntu-latest
env:
ACTIONS_STEP_DEBUG: ${{ secrets.ACTIONS_DEBUG || 'false' }}
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
submodules: true
token: ${{ secrets.GH_TOKEN }}
- name: Get Package Poetry Info
id: poetry
uses: ./.github/actions/get-package-poetry-info
with:
package: haive-core
- name: Set up Python ${{ steps.poetry.outputs.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ steps.poetry.outputs.python }}
cache: poetry
- name: Install Poetry
run: pipx install poetry==2.1.0
- name: Configure PyPI Credentials
run: poetry config pypi-token.pypi ${{ secrets.PYPI_TOKEN }}
- name: Build and Publish haive-core
run: |
cd packages/haive-core
poetry build --format wheel
poetry publish --skip-existing
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: haive-core-dist
path: packages/haive-core/dist/

# Phase 2: Publish haive-agents (depends on haive-core)
publish-agents:
name: Publish haive-agents
needs: publish-core
runs-on: ubuntu-latest
env:
ACTIONS_STEP_DEBUG: ${{ secrets.ACTIONS_DEBUG || 'false' }}
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
submodules: true
token: ${{ secrets.GH_TOKEN }}
- name: Get Package Poetry Info
id: poetry
uses: ./.github/actions/get-package-poetry-info
with:
package: haive-agents
- name: Set up Python ${{ steps.poetry.outputs.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ steps.poetry.outputs.python }}
cache: poetry
- name: Install Poetry
run: pipx install poetry==2.1.0
- name: Configure PyPI Credentials
run: poetry config pypi-token.pypi ${{ secrets.PYPI_TOKEN }}
- name: Build and Publish haive-agents
run: |
cd packages/haive-agents
poetry build --format wheel
poetry publish --skip-existing
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: haive-agents-dist
path: packages/haive-agents/dist/

# Phase 3: Publish remaining packages in parallel (depend on haive-agents)
publish-remaining:
name: Publish ${{ matrix.package }}
needs: publish-agents
runs-on: ubuntu-latest
env:
ACTIONS_STEP_DEBUG: ${{ secrets.ACTIONS_DEBUG || 'false' }}
strategy:
fail-fast: false
matrix:
package:
- haive-core
- haive-agents
- haive-games
- haive-tools
- haive-prebuilt
- haive-dataflow
steps:
- name: 📥 Checkout Code
- name: Checkout Code
uses: actions/checkout@v4
with:
submodules: true
token: ${{ secrets.GH_TOKEN }}
- name: 📦 Get Package Poetry Info
- name: Get Package Poetry Info
id: poetry
uses: ./.github/actions/get-package-poetry-info
with:
package: ${{ matrix.package }}
- name: 🧾 Echo Package Metadata
run: |
echo "📦 Name: ${{ steps.poetry.outputs.name }}"
echo "🔖 Version: ${{ steps.poetry.outputs.version }}"
echo "🧑 Authors: ${{ steps.poetry.outputs.authors || 'N/A' }}"
echo "📄 License: ${{ steps.poetry.outputs.license || 'N/A' }}"
echo "📝 Description: ${{ steps.poetry.outputs.description || 'N/A' }}"
echo "🌐 Homepage: ${{ steps.poetry.outputs.homepage || 'N/A' }}"
echo "🔗 Repository: ${{ steps.poetry.outputs.repository || 'N/A' }}"
echo "📚 Docs: ${{ steps.poetry.outputs.documentation || 'N/A' }}"
echo "🏷 Classifiers: ${{ steps.poetry.outputs.classifiers || 'N/A' }}"
- name: 🐍 Set up Python ${{ steps.poetry.outputs.python }}
- name: Set up Python ${{ steps.poetry.outputs.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ steps.poetry.outputs.python }}
cache: poetry
- name: 🛠 Install Poetry
- name: Install Poetry
run: pipx install poetry==2.1.0
- name: 🔐 Configure PyPI Credentials
- name: Configure PyPI Credentials
run: poetry config pypi-token.pypi ${{ secrets.PYPI_TOKEN }}
- name: 📦 Build Package (No Publish)
- name: Build and Publish ${{ matrix.package }}
run: |
cd packages/${{ matrix.package }}
poetry build --format wheel
- name: 📤 Upload Package as Artifact
poetry publish --skip-existing
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.package }}-dist
Expand Down
Loading
Loading