Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
bee4715
v0.1 release: paper-aligned MVP with UI, Docker, and CI
pavancshekar-dev May 27, 2026
5a4ec5a
docs(readme): replace ICML badge with arXiv 2510.15416
pavancshekar-dev May 27, 2026
229567c
refactor(core): drop unused exports + scrub ICML mention
pavancshekar-dev May 27, 2026
47065d7
feat(nanoam): single-file 295-line reference impl
pavancshekar-dev May 27, 2026
6404d6a
test(cli,prefetch,catalog): add 14 hermetic tests (18 → 32)
pavancshekar-dev May 27, 2026
11a6040
ux(cli): friendly port-collision message before uvicorn binds
pavancshekar-dev May 27, 2026
f0d2e89
refactor(agent,external_tools): tighten DEFAULT_AGENT_PROMPT + collap…
pavancshekar-dev May 27, 2026
27d191a
docs(readme): nanoam reference + arXiv BibTeX + 32-test count
pavancshekar-dev May 27, 2026
631f43d
feat(ui): port to Next.js 14 — replaces Streamlit; docker port 3000
pavancshekar-dev May 28, 2026
0fffaa6
feat(ui,modes): 4 modes (router/agent/auto/langgraph), port 7007
pavancshekar-dev May 28, 2026
5b768b1
polish: drop legacy examples, add capture_demo.py, tighten README
pavancshekar-dev May 28, 2026
6c6da52
docs(readme): reflect auto+langgraph modes + accurate line count
pavancshekar-dev May 29, 2026
b85878b
fix(agent): escape awk literal in DEFAULT_AGENT_PROMPT
pavancshekar-dev May 29, 2026
5620f31
feat(stack): one-command 30-adapter boot + portable UI proxy
pavancshekar-dev May 29, 2026
01d8a92
fix(ui): use `||` not `??` for API_BASE fallback
pavancshekar-dev May 29, 2026
5e90767
ux(ui): ChatGPT-style chat — Enter to send, persisted history, clear …
pavancshekar-dev May 29, 2026
4414fc9
docs(demo): add real-app demo GIF + MP4, fix broken README image
pavancshekar-dev May 29, 2026
93673e7
docs(demo): cinematic 1080p demo — Playwright capture + Remotion intr…
pavancshekar-dev May 29, 2026
b6627a6
ci(tests): run on v2 branch + PRs to v2
pavancshekar-dev May 29, 2026
0aefdd2
feat(ui,demo): light/dark theme + zoomed light demo with BGM
pavancshekar-dev May 29, 2026
5a0b43a
fix(demo): full-frame zoomed capture + Router→LangGraph script
pavancshekar-dev May 29, 2026
aa4d8b4
docs(readme): embed demo video with a 'Watch with sound' button
pavancshekar-dev May 29, 2026
3b6327b
📦 chore(ui): commit package-lock.json for reproducible Docker builds
pavancshekar-dev May 29, 2026
ac7e6ae
🎬 docs(readme): point demo at the real AM video (drop wrong asset)
pavancshekar-dev May 29, 2026
ad91eb7
🎥 docs(readme): embed real AM demo as inline player with audio
pavancshekar-dev May 29, 2026
8e9824f
✨ docs(readme): paper tagline headline + Mermaid architecture
pavancshekar-dev May 29, 2026
23b8bf2
📝 docs: best-in-class README + ARCHITECTURE refresh (paper-grounded)
pavancshekar-dev May 29, 2026
9ac3d27
✨ docs(readme): roadmap reframed on research directions + humble thanks
pavancshekar-dev May 29, 2026
15edf9c
✨ docs: lead with 'Why?', warm up CONTRIBUTING (+ fix bad extra)
pavancshekar-dev May 29, 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
31 changes: 0 additions & 31 deletions .dockerignore

This file was deleted.

26 changes: 25 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
@@ -1 +1,25 @@
HF_TOKEN="please-add-your-token-here"
# ---- Required ----------------------------------------------------------
# HuggingFace token: needed for vLLM to download the base model + LoRAs.
HF_TOKEN=hf_xxx

# ---- Server / UI wiring (defaults are usually fine for docker compose) -
# Where adaptive_minds.server hits vLLM (inside the compose network).
VLLM_BASE=http://vllm:8000/v1

# The Next.js UI proxies browser → API via its own server (`/api/am/* →
# server:8765`), so the bundle uses relative URLs and the same image
# works from localhost, a public IP, or behind a reverse proxy. Override
# only if you've split the UI off and want it to hit FastAPI directly:
# NEXT_PUBLIC_AM_API_BASE=https://api.example.com

# Default mode the UI boots in: router | agent | auto | langgraph.
# NEXT_PUBLIC_DEFAULT_MODE=router

# Catalog the FastAPI server loads at startup. Defaults to the paper's
# 30-adapter catalog. Swap to qwen25_smoke.yaml for a 2-adapter fast boot.
AM_CATALOG=/app/catalogs/qwen25_30.yaml

# ---- Host-port overrides (uncomment if 8000/8765/7007 are taken) -------
# AM_VLLM_PORT=8001
# AM_SERVER_PORT=8766
# AM_UI_PORT=7008
43 changes: 43 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: tests

on:
push:
branches: [main, v2, "release/**"]
pull_request:
branches: [main, v2]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
pytest:
name: pytest · py${{ matrix.python }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: pip
cache-dependency-path: pyproject.toml

- name: Install package
run: pip install -e ".[dev,serve]"

- name: Lint (ruff)
run: ruff check adaptive_minds tests

- name: Pytest
run: pytest tests/ -v

- name: Smoke import
run: |
python -c "from adaptive_minds.server import app; print('server:', app.title, app.version)"
python -c "from adaptive_minds import run_router, run_agent, load_catalog; print('runtime ok')"
34 changes: 34 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ base_model/
loras/
models/

# Eval / training artefacts
evals/results/
training/loras/

# Logs
*.log
logs/
Expand All @@ -69,7 +73,37 @@ temp/
.pytest_cache/
.coverage

# ruff
.ruff_cache/

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Session-private files (not committed)
OSS_SESSION_LOG.md
.battle_test/

# Next.js UI build artefacts (Docker builds these inside the container)
ui/node_modules/
ui/.next/
ui/out/
ui/.env.local
ui/next-env.d.ts

# Remotion demo-video project: deps + render artefacts + the captured app
# footage (regenerate via scripts/capture_demo.py → scripts/build_demo.sh).
video/node_modules/
video/out/
video/public/app.mp4
video/public/bgm.mp3
# Raw BGM track is not redistributed (licensing) — the rendered docs/demo.mp4
# carries the music; supply your own docs/bgm.mp3 to re-render.
docs/bgm.mp3
docs/.rec/

# Re-allow the UI's typed API client; the broad `lib/` Python rule above
# would otherwise swallow it (page.tsx imports from `@/lib/api`).
!ui/src/lib/
!ui/src/lib/**
Loading
Loading