-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlanggraph.json
More file actions
41 lines (41 loc) 路 2.77 KB
/
Copy pathlanggraph.json
File metadata and controls
41 lines (41 loc) 路 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
"$schema": "https://langgra.ph/schema.json",
"python_version": "3.14",
"api_version": "0.13.3",
"graphs": {
"agent": "agent.graphs.agent:traced_agent",
"reviewer": "agent.graphs.reviewer:traced_reviewer_agent",
"analyzer": "agent.graphs.analyzer:traced_analyzer",
"chat": "agent.graphs.chat:traced_chat_agent",
"scheduler": "agent.graphs.scheduler:get_scheduler"
},
"dependencies": [
"."
],
"http": {
"app": "agent.webapp:app"
},
"checkpointer": {
"ttl": {
"strategy": "delete",
"sweep_interval_minutes": 60,
"default_ttl": 43200
}
},
"env": ".env",
"dockerfile_lines": [
"# Bundle the dashboard so the deployment serves it at / (docs/INSTALLATION.md).",
"# The build is made for http.mount_prefix from langgraph.json, so the UI's asset URLs and router match where the server mounts it.",
"# Best effort: a failed UI build leaves the backend deployable without the bundled UI.",
"COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json langgraph.json /tmp/dashboard-src/",
"COPY ui /tmp/dashboard-src/ui",
"# The dashboard build bakes SOURCE_COMMIT into the bundle's compile-time constants and its sidecar; the backend stamps its own sidecar from the same value.",
"# These lines run before the source copy, so the backend sidecar goes to a location created here and read at runtime, not into the agent package.",
"ARG SOURCE_COMMIT=",
"COPY scripts/stamp_build_info.py /tmp/stamp_build_info.py",
"ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0",
"RUN ( set -e && export SOURCE_COMMIT && apt-get update && apt-get install -y --no-install-recommends curl xz-utils ca-certificates && arch=$(uname -m) && case $arch in x86_64) node_arch=x64;; aarch64) node_arch=arm64;; *) echo unsupported arch $arch; exit 1;; esac && curl -fsSL https://nodejs.org/dist/v24.20.0/node-v24.20.0-linux-$node_arch.tar.xz | tar -xJ -C /usr/local --strip-components=1 && corepack enable && cd /tmp/dashboard-src && pnpm install --frozen-lockfile --filter open-swe-dashboard... && export DASHBOARD_BASE_PATH=\"$(python3 -c 'import json; print(json.load(open(\"langgraph.json\")).get(\"http\", {}).get(\"mount_prefix\") or \"\")')/\" && pnpm --filter open-swe-dashboard run build && mkdir -p /opt/open-swe-dashboard && cp -R ui/.output/public/. /opt/open-swe-dashboard/ ) || echo 'dashboard build failed; continuing without the bundled UI'; rm -rf /tmp/dashboard-src /usr/local/lib/node_modules /usr/local/bin/node /usr/local/bin/corepack /usr/local/bin/npm /usr/local/bin/npx /usr/local/bin/pnpm /usr/local/bin/pnpx /root/.cache /root/.local/share/pnpm /var/lib/apt/lists/*",
"RUN python3 /tmp/stamp_build_info.py /opt/open-swe-backend && rm /tmp/stamp_build_info.py",
"ENV DASHBOARD_STATIC_DIR=/opt/open-swe-dashboard"
]
}