Metadata-Version: 2.4
Name: kryden-agent
Version: 0.16.0
Summary: Lean desktop-first agent runtime for Kryden.
License-Expression: MIT
Project-URL: Homepage, https://kryden.ai
Requires-Python: <3.14,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi<1,>=0.115
Requires-Dist: uvicorn[standard]<1,>=0.30
Requires-Dist: openai==2.24.0
Requires-Dist: python-dotenv==1.2.2
Requires-Dist: httpx[socks]==0.28.1
Requires-Dist: rich==14.3.3
Requires-Dist: tenacity==9.1.4
Requires-Dist: pyyaml==6.0.3
Requires-Dist: ruamel.yaml==0.18.17
Requires-Dist: requests==2.33.0
Requires-Dist: jinja2==3.1.6
Requires-Dist: pydantic==2.13.4
Requires-Dist: croniter==6.0.0
Requires-Dist: packaging==26.0
Requires-Dist: PyJWT[crypto]==2.13.0
Requires-Dist: urllib3<3,>=2.7.0
Requires-Dist: tzdata==2025.3; sys_platform == "win32"
Requires-Dist: psutil==7.2.2
Requires-Dist: pathspec==1.1.1
Requires-Dist: Pillow==12.2.0
Provides-Extra: anthropic
Requires-Dist: anthropic==0.87.0; extra == "anthropic"
Provides-Extra: exa
Requires-Dist: exa-py==2.10.2; extra == "exa"
Provides-Extra: firecrawl
Requires-Dist: firecrawl-py==4.17.0; extra == "firecrawl"
Provides-Extra: parallel-web
Requires-Dist: parallel-web==0.6.0; extra == "parallel-web"
Provides-Extra: fal
Requires-Dist: fal-client==0.13.1; extra == "fal"
Provides-Extra: modal
Requires-Dist: modal==1.3.4; extra == "modal"
Provides-Extra: daytona
Requires-Dist: daytona==0.155.0; extra == "daytona"
Provides-Extra: computer-use
Requires-Dist: mcp==1.26.0; extra == "computer-use"
Requires-Dist: starlette==1.0.1; extra == "computer-use"
Provides-Extra: google
Requires-Dist: google-api-python-client==2.194.0; extra == "google"
Requires-Dist: google-auth-oauthlib==1.3.1; extra == "google"
Requires-Dist: google-auth-httplib2==0.3.1; extra == "google"
Provides-Extra: youtube
Requires-Dist: youtube-transcript-api==1.2.4; extra == "youtube"
Provides-Extra: bedrock
Requires-Dist: boto3==1.42.89; extra == "bedrock"
Provides-Extra: azure-identity
Requires-Dist: azure-identity==1.25.3; extra == "azure-identity"
Provides-Extra: dev
Requires-Dist: debugpy==1.8.20; extra == "dev"
Requires-Dist: pytest==9.0.2; extra == "dev"
Requires-Dist: pytest-asyncio==1.3.0; extra == "dev"
Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
Requires-Dist: pyinstaller==6.17.0; extra == "dev"
Requires-Dist: ty==0.0.21; extra == "dev"
Requires-Dist: ruff==0.15.10; extra == "dev"
Requires-Dist: setuptools==82.0.1; extra == "dev"
Provides-Extra: all
Requires-Dist: kryden-agent[anthropic]; extra == "all"
Requires-Dist: kryden-agent[exa]; extra == "all"
Requires-Dist: kryden-agent[firecrawl]; extra == "all"
Requires-Dist: kryden-agent[parallel-web]; extra == "all"
Requires-Dist: kryden-agent[fal]; extra == "all"
Requires-Dist: kryden-agent[modal]; extra == "all"
Requires-Dist: kryden-agent[daytona]; extra == "all"
Requires-Dist: kryden-agent[computer-use]; extra == "all"
Requires-Dist: kryden-agent[google]; extra == "all"
Requires-Dist: kryden-agent[youtube]; extra == "all"
Requires-Dist: kryden-agent[bedrock]; extra == "all"
Requires-Dist: kryden-agent[azure-identity]; extra == "all"
Dynamic: license-file

# Kryden Agent

Kryden Agent is a trimmed, desktop-first agent runtime for Kryden.

This fork intentionally removes the old CLI, messaging gateway, TUI, dashboard, marketing site, Docker/Nix/Homebrew packaging, data generation runners, MCP catalog examples, and heavy planning/docs content. The remaining codebase is meant to be a lean starting point for rebuilding Kryden's own desktop agent harness.

Website: https://kryden.ai

## Remaining Shape

- `apps/desktop/` — Electron desktop app.
- `apps/shared/` — shared TypeScript client utilities for the desktop app.
- `run_agent.py`, `agent/`, `model_tools.py`, `toolsets.py` — core agent runtime.
- `kryden_runtime/` — shared runtime helpers retained from the old command package.
- `kryden_state.py`, `kryden_constants.py`, `kryden_logging.py`, `kryden_time.py` — local state and runtime infrastructure.
- `tools/` — local tools, browser, terminal, files, memory, skills, cron, media, and provider helpers.
- `cron/` — scheduled task engine.
- `skills/` — smaller bundled skill examples plus the basic skill system.
- `plugins/` — retained provider, memory, browser, and image-generation plugins.

## Intentional Removals

- No terminal CLI product layer.
- No messaging platform gateway.
- No TUI or TUI gateway.
- No dashboard or website app.
- No bundled Docker/Nix/Homebrew packaging.
- No internal planning, infographic, data generation, or trajectory-compression surfaces.
- No public Kryden Agent copy that points at the former project or former organization.

This repo is expected to need follow-up rebuild work. The current priority is a clean Kryden-branded core, not compatibility with removed surfaces.

## Normal User Desktop Release

Use the release script after app changes are ready. It builds the macOS DMG and
ZIP, signs and notarizes, uploads to Kryden downloads, updates `latest.json`
from the git commit range, deploys, and verifies the live feed:

```bash
npm run release:normal -- --patch --commit-current
```

To publish macOS and Windows together, run the coordinator with a Windows build
host or a Windows installer that was already built on Windows:

```bash
npm run release:all -- --patch --commit-current --windows-direct-host coop@100.125.157.77
npm run release:all -- --patch --commit-current --windows-artifact ./Kryden-0.16.19-win-x64.exe
```

Windows builds must run Windows-native Node and Python because the packaged app
ships a PyInstaller backend executable named `kryden-desktop-backend.exe`.
Building from macOS or Linux would create the wrong backend binary.
The direct Windows mode copies a clean source archive to the Windows OpenSSH
host, runs `scripts/release-windows-artifact.cjs` there, copies the installer
back, and then publishes the macOS and Windows artifacts together.
`release:all` creates the release source commit before platform builds so the
macOS and Windows installers share the same pinned commit and update notes.

Add `--note "..."` only when you want to override the commit-message-derived
update notes. Use `KRYDEN_DOWNLOADS_REPO=/path/to/kryden-downloads` if the
downloads repo is not next to this checkout.
