feat: deep-agent canvas, live observability, and multi-environment tooling

Self-hosted platform for building, testing, and shipping LangChain/LangGraph agents. Deep-agent sub-agents on the canvas, a live tracing/observability timeline, auto-provisioned built-in tools with import/export, per-environment tool variables, streamed evaluations, and per-user auth token forwarding.
This commit is contained in:
nihalashetty
2026-07-28 01:49:19 +05:30
commit ae67bff5a3
350 changed files with 58244 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
---
name: Bug report
about: Report something that isn't working as expected
title: "[bug] "
labels: bug
---
**Describe the bug**
A clear and concise description of what's wrong.
**To reproduce**
Steps to reproduce the behavior:
1. Go to '…'
2. Configure '…'
3. Run '…'
4. See error
**Expected behavior**
What you expected to happen.
**Screenshots / logs**
If applicable, add screenshots or relevant log output. **Redact any secrets, tokens, or
customer data.**
**Environment**
- Forge version / commit SHA:
- Deployment: local (SQLite) / Docker (Postgres) / other
- OS & browser (for console issues):
- Python / Node version (for local dev):
**Additional context**
Anything else that might help — workflow/tool config (redacted), provider, etc.
+8
View File
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 🔒 Report a security vulnerability
url: https://github.com/nihalashetty/Forge/security/advisories/new
about: Please report vulnerabilities privately via a GitHub Security Advisory, not a public issue.
- name: 💬 Questions & discussion
url: https://github.com/nihalashetty/Forge/discussions
about: Ask questions and share ideas with the community.
+19
View File
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea or improvement
title: "[feat] "
labels: enhancement
---
**What problem are you trying to solve?**
A clear description of the use case or pain point. "I'm always frustrated when …"
**Proposed solution**
What you'd like Forge to do.
**Alternatives considered**
Other approaches or workarounds you've thought about.
**Additional context**
Mockups, links, related nodes/tools, or examples. Check the
[roadmap](../../docs/ROADMAP.md) first — it may already be planned.
+27
View File
@@ -0,0 +1,27 @@
<!-- Thanks for contributing to Forge! Please fill this out to speed up review. -->
## What & why
<!-- What does this change do, and what problem does it solve? Link the issue: Closes #123 -->
## Type of change
- [ ] Bug fix
- [ ] New feature
- [ ] Performance
- [ ] Refactor (no behavior change)
- [ ] Docs / chore
## Checklist
- [ ] Backend: `ruff check forge migrations` is clean and `pytest -q` passes (from `apps/api`)
- [ ] New/changed backend code is `mypy`-clean
- [ ] Frontend: `pnpm --filter web build` passes (from repo root)
- [ ] Shared schemas (`packages/schemas`) updated if node/tool config changed
- [ ] Tests added/updated for the change (characterization test for behavior-preserving refactors)
- [ ] `CHANGELOG.md` updated under **Unreleased** (for user-facing changes)
- [ ] No secrets, tokens, or customer data in the diff
## Notes for reviewers
<!-- Anything that needs special attention, screenshots for UI changes, migration notes, etc. -->
+30
View File
@@ -0,0 +1,30 @@
version: 2
updates:
# Backend Python dependencies (PEP 621 pyproject.toml).
- package-ecosystem: "pip"
directory: "/apps/api"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
python:
patterns: ["*"]
# Frontend / workspace JS dependencies (pnpm workspace at the repo root).
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
javascript:
patterns: ["*"]
# GitHub Actions used by the workflows.
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
groups:
actions:
patterns: ["*"]
+51
View File
@@ -0,0 +1,51 @@
name: CI
on:
push:
branches: [main]
pull_request:
# Least privilege: CI only reads the checked-out code; it never writes back to the repo.
permissions:
contents: read
jobs:
api:
name: API - lint + tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: apps/api
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install
run: |
python -m pip install --upgrade pip
pip install -e ".[dev,all]"
- name: Ruff
run: ruff check forge migrations
- name: Mypy (advisory — gradual typing, see CONTRIBUTING.md)
continue-on-error: true
run: mypy forge
- name: Pytest
run: pytest -q
web:
name: Web - typecheck + build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6
with:
version: 9
- uses: actions/setup-node@v7
with:
node-version: "22"
cache: pnpm
- name: Install
run: pnpm install --frozen-lockfile || pnpm install
- name: Build
run: pnpm --filter web build
+34
View File
@@ -0,0 +1,34 @@
name: CodeQL
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: "0 6 * * 1" # weekly, Monday 06:00 UTC
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
security-events: write
contents: read
actions: read
strategy:
fail-fast: false
matrix:
language: [python, javascript-typescript]
steps:
- uses: actions/checkout@v7
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
language: ${{ matrix.language }}
- name: Autobuild
uses: github/codeql-action/autobuild@v4
- name: Analyze
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{ matrix.language }}"