Backend: - Enterprise Agent refactored from single-round to ReAct multi-turn loop - New agent.ts (LLM decision node) + tool-executor.ts (tool execution + Gen-UI) - tool-defs.ts extracted for shared tool schemas - MAX_ITERATIONS=6 safeguard against infinite loops Frontend: - MessageBubble: Markdown + code highlighting + LaTeX + tables - ThemeToggle: light/dark/system theme cycling - chart-result Gen-UI card: recharts bar/line/pie/area charts Infrastructure: - Docker Compose (lightweight): only LangGraph + Frontend, Azure cloud for PG/Redis/Blob - Dockerfiles for dev (hot reload) and prod - Makefile with dev/prod/down/logs commands - Updated CLAUDE.md and agent definitions for LangGraph.js architecture Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
name: Deploy LangGraph Server to Azure Web App
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- "langgraph/**"
|
|
- ".github/workflows/deploy-langgraph.yml"
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
id-token: write
|
|
contents: read
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Login to Azure
|
|
uses: azure/login@v2
|
|
with:
|
|
client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_E361D63054AD449285A5D65AA4425533 }}
|
|
tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_62D66D4E65AC4A6C872064AD668AC691 }}
|
|
subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_5D7B0564A55F4209A91149F2642D3F69 }}
|
|
|
|
- name: Build and push to ACR
|
|
run: |
|
|
az acr build \
|
|
--registry socsocacr \
|
|
--resource-group Operation \
|
|
--image soc-langgraph:${{ github.sha }} \
|
|
--image soc-langgraph:latest \
|
|
--file langgraph/Dockerfile \
|
|
langgraph/
|
|
|
|
- name: Deploy to Web App
|
|
run: |
|
|
az webapp config container set \
|
|
--resource-group Operation \
|
|
--name soc-langgraph \
|
|
--container-image-name socsocacr.azurecr.io/soc-langgraph:${{ github.sha }} \
|
|
--container-registry-url https://socsocacr.azurecr.io \
|
|
--container-registry-user socsocacr \
|
|
--container-registry-password $(az acr credential show --name socsocacr --resource-group Operation --query "passwords[0].value" -o tsv)
|
|
az webapp restart \
|
|
--resource-group Operation \
|
|
--name soc-langgraph
|