Metadata-Version: 2.4
Name: orbitaven
Version: 0.3.0
Summary: Autonomous Orchestration Platform — Signal. Simulate. Execute.
Author-email: Pinaki <pinaki@orbitaven.ai>
License: MIT License
        
        Copyright (c) 2026 Orbitaven
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://orbitaven.ai
Project-URL: Repository, https://github.com/hatsflickcommerce-hub/orbitaven
Project-URL: Issues, https://github.com/hatsflickcommerce-hub/orbitaven/issues
Project-URL: Documentation, https://github.com/hatsflickcommerce-hub/orbitaven#readme
Keywords: orchestration,automation,ai,agents,workflow,signal,llm,local-ai,multi-agent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi>=0.111.0
Requires-Dist: uvicorn[standard]>=0.29.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: cryptography>=42.0.0
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: python-jose[cryptography]>=3.3.0
Requires-Dist: bcrypt==4.0.1
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: apscheduler>=3.10.4
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
Requires-Dist: httpx>=0.27.0; extra == "dev"
Requires-Dist: black>=24.0.0; extra == "dev"
Requires-Dist: ruff>=0.4.0; extra == "dev"
Dynamic: license-file

# Orbitaven

> Autonomous Orchestration Platform — Signal. Simulate. Execute.

Orbitaven is a local-first, profile-driven orchestration platform that watches for signals, builds workflows, assigns agents, simulates execution, and controls digital and physical systems — all through a real-time chat interface. Runs 24/7 on your own Ubuntu hardware with zero cloud dependency.

---

## What it does

- **Listens** — monitors URLs, RSS feeds, APIs for trigger events 24/7
- **Thinks** — classifies intent, generates multi-step workflows via LLM
- **Acts** — dispatches real agents (file, web, shell, code, data, memory…)
- **Remembers** — persistent per-profile memory and conversation history
- **Grows** — creates new agents through chat conversation
- **Shows** — real-time streaming UI with workflow panel, signal alerts, agent pool

---

## Architecture
orbitaven/
├── core/
│   ├── config.py            — env-based settings
│   ├── database.py          — SQLite WAL, all tables
│   ├── auth.py              — JWT tokens
│   ├── profile.py           — profile CRUD, memory, history
│   ├── llm_adapter.py       — unified LLM interface
│   ├── brain.py             — intent classifier + workflow generator
│   ├── workflow_manager.py  — state machine (pause/resume/restart/cancel)
│   ├── agent_registry.py    — agent pool (10 built-in + generated)
│   ├── agent_factory.py     — LLM-powered agent generator + wizard
│   ├── credential_vault.py  — encrypted API key storage (Fernet)
│   └── signal_monitor.py    — 24/7 background signal daemon
│
├── agents/
│   ├── base_agent.py        — abstract base class
│   ├── file_agent.py        — local filesystem operations
│   ├── web_agent.py         — URL fetch + DuckDuckGo search
│   ├── shell_agent.py       — safe whitelisted shell commands
│   ├── memory_agent.py      — persistent profile memory
│   ├── summarizer_agent.py  — LLM-powered content condensing
│   ├── coder_agent.py       — code generation + sandboxed execution
│   ├── data_agent.py        — CSV/JSON parsing + statistics
│   ├── notify_agent.py      — alerts + notification log
│   ├── signal_agent.py      — URL/RSS/API monitoring
│   └── generated/           — auto-created agents via chat
│
├── api/
│   ├── main.py              — FastAPI entry point
│   ├── websocket.py         — streaming WebSocket chat handler
│   └── routes/
│       ├── auth.py          — profile login, JWT, LLM config
│       ├── workflow.py      — workflow CRUD + control
│       ├── agents.py        — agent pool endpoints
│       ├── signals.py       — signal CRUD + manual check
│       ├── factory.py       — agent generation + vault CRUD
│       └── system.py        — health, stats, platform info
│
├── ui/
│   └── index.html           — monochrome sci-fi single-page app
│
├── data/
│   ├── orbitaven.db         — SQLite database
│   └── profiles/            — per-profile vault + generated agents
│
├── run.sh                   — single command startup
├── requirements.txt
└── pyproject.toml

---

## Build Phases

| Phase | Scope | Status |
|-------|-------|--------|
| 1 | Core foundation — config, DB, profiles, LLM adapter, WebSocket chat, UI | ✅ Done |
| 2 | Brain engine — intent routing, workflow generator, pause/resume/restart | ✅ Done |
| 3 | Agent pool — 10 built-in agents, registry, real execution in workflows | ✅ Done |
| 4 | Signal system — 24/7 monitor, rule engine, alert UI, one-click launch | ✅ Done |
| 5 | Agent factory — self-growing agents via chat, encrypted credential vault | ✅ Done |
| 6 | Polish — health dashboard, system stats, run.sh, README | ✅ Done |
| 7 | Public Multi-Agent Negotiation Protocol — external agent collaboration | 🔜 Planned |

---

## Quick Start

```bash
# 1. Clone
git clone https://github.com/pinaki/orbitaven.git
cd orbitaven

# 2. Create virtualenv
python3 -m venv .venv
source .venv/bin/activate

# 3. Install
pip install -r requirements.txt

# 4. Configure
cp .env.example .env
# edit .env if needed

# 5. Run
./run.sh
```

Open browser at `http://localhost:8000`

---

## LLM Configuration

Each profile configures its own LLM. Supported providers:

| Provider | How |
|----------|-----|
| `ollama` | Local Ollama — `http://localhost:11434` |
| `kaggle_tunnel` | Kaggle ngrok/cloudflare tunnel URL |
| `openai` | OpenAI API key |
| `anthropic` | Anthropic API key |
| `openai_compatible` | LM Studio, Groq, Together, etc. |

Switch model anytime from Settings panel or chat.

---

## Built-in Agents

| Agent | Capability |
|-------|-----------|
| `assistant` | General LLM reasoning, writing, answering |
| `file_agent` | Read, write, list, search local files |
| `web_agent` | Browse URLs, DuckDuckGo search |
| `shell_agent` | Safe whitelisted shell commands |
| `memory_agent` | Persistent per-profile memory store |
| `summarizer_agent` | LLM-powered content condensing |
| `coder_agent` | Code generation + sandboxed Python execution |
| `data_agent` | CSV/JSON parsing, calculations, statistics |
| `notify_agent` | Alerts, notification log |
| `signal_agent` | URL/RSS/API monitoring |

---

## Self-Growing Agents

Type in chat:
create an agent for GitHub

Orbitaven guides you through:
1. Name + description
2. Capabilities
3. API keys (stored encrypted)
4. Generates Python agent file
5. Registers it in the agent pool immediately

---

## Signal System

Configure signal sources per profile:
- **URL watch** — keyword or status change detection
- **RSS feed** — new item detection
- **API watch** — threshold-based triggers (gt/lt/eq/contains)

When triggered: alert appears in UI → one click to launch a suggested workflow.

---

## API Endpoints
Auth         GET/POST  /api/auth/profiles, /login, /me, /llm
Workflows    GET/POST  /api/workflows, /{id}, /{id}/pause|resume|restart|cancel
Agents       GET/POST  /api/agents, /{name}/run
Signals      GET/POST  /api/signals, /{id}/check, /alerts
Factory      GET/POST  /api/factory/create, /agents, /vault
System       GET       /api/system/health, /stats, /info
WebSocket    WS        /ws/chat

---

## Hardware Requirements

Minimum (orchestration only):
- Ubuntu 20.04+
- 4GB RAM, 10GB disk
- Python 3.11+
- No GPU needed

For local LLM inference:
- Ollama handles separately
- Or use Kaggle tunnel (free GPU on Kaggle)

---

## Phase 7 — Planned

**Public Multi-Agent Negotiation Protocol**

External developers register agents via API key. Agents can:
- Share requirements (buyer agent)
- Respond with offers (vendor agents)
- Negotiate terms (no information leakage between agents)
- Root orchestrator evaluates and decides

Open protocol — any agent can participate. Documentation and SDK planned post-Phase 6.

---

## Tech Stack

| Layer | Technology |
|-------|-----------|
| Backend | Python 3.12 + FastAPI |
| Database | SQLite (aiosqlite) — WAL mode |
| Realtime | WebSocket streaming |
| Auth | JWT (python-jose) |
| Encryption | Fernet (cryptography) |
| LLM | Any via unified adapter |
| Scheduler | asyncio + APScheduler |
| UI | Vanilla HTML/CSS/JS — no build step |

---

## License

MIT © 2026 Orbitaven
