Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
6ea5f4a
feat(fees): execution fee meter on agent-routed mainnet execution
nullxnothing Jun 11, 2026
1776d38
feat(autopilot): unattended scheduled trading mandates with exit rules
nullxnothing Jun 17, 2026
4b9af5e
feat(explorer): auto-refresh file tree on external filesystem changes
nullxnothing Jun 18, 2026
7e2dfa8
fix(terminal): make hidden instances inert so scroll and click-to-foc…
nullxnothing Jun 18, 2026
a6e79c5
feat(hyperliquid): ARIA tools for the HypurrClaw hyperliquid CLI
nullxnothing Jun 21, 2026
f39b6b2
chore(release): v4.5.0
nullxnothing Jun 21, 2026
93c109a
Merge remote-tracking branch 'origin/main' into feat/aria-autopilot
nullxnothing Jun 21, 2026
eaf1cc5
feat: add agent economy control tower
nullxnothing Jun 22, 2026
56a2b4d
fix: stabilize embedded ui surfaces
nullxnothing Jun 25, 2026
e410912
chore: bump version to 4.6.1
nullxnothing Jun 25, 2026
d86b9b5
fix: stabilize terminal, ARIA sessions, and agent panels
nullxnothing Jun 30, 2026
5255ec8
fix: harden ARIA approval and swap high-impact confirmations
nullxnothing Jun 30, 2026
f9a0323
fix: harden autopilot money-safety, ARIA session/approval routing, an…
nullxnothing Jul 2, 2026
5c8d335
Merge remote-tracking branch 'origin/main' into feat/aria-autopilot
nullxnothing Jul 2, 2026
3174587
chore(deps): pin linkify-it to 5.0.1 for GHSA-22p9-wv53-3rq4
nullxnothing Jul 2, 2026
ccb7ed1
test: make scoped-path traversal assertion platform-aware
nullxnothing Jul 2, 2026
2efbfa9
ci: retrigger checks for platform-test fix
nullxnothing Jul 2, 2026
72f5133
fix(win): harden claude auth-login path quoting for cmd.exe
nullxnothing Jul 3, 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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,6 @@ scripts/_icc_row.css
apps/seeker-mobile/.expo/
apps/seeker-mobile/dapp-store/build/
apps/seeker-mobile/dapp-store/publisher-keypair.json

# stray project copy (2.8GB) - lives in Projects/cabal-visualizer
cabal-visualizer/
119 changes: 119 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,125 @@ All notable changes to DAEMON are documented here. The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
follows semantic-ish desktop release versioning.

## [4.6.2] - 2026-07-02

### Fixed
- **Swap high-impact gate no longer double-scales price impact.** Jupiter's `priceImpactPct` is a
0..1 fraction; it is now normalized to a percentage exactly once, so an ordinary sub-5% swap is
never spuriously hard-blocked (a regression that could block all swaps on one quote path).
- **ARIA session isolation now covers approval and patch cards.** Streamed `tool-call`,
`approval-request`, and `patch-proposal` events are tagged with the session id by the transport,
so a card can never render in — or leak an approval into — the wrong conversation, and patch
proposals no longer hang the turn.
- **ARIA terminal backend no longer deadlocks on approvals.** The stdin frame loop dispatches
turns without blocking, so an approval/patch-decision frame is delivered while a turn awaits it;
piped `aria` invocations now exit cleanly after answering.
- **`claude:install-cli` works on Windows** — the npm.cmd spawn no longer throws EINVAL.

### Security & money-safety
- **Autopilot cluster re-validation per tick.** An armed mandate is auto-held if the live cluster
is not mainnet or no longer matches the mandate's cluster, so a devnet switch can never
green-light a real mainnet spend.
- **Autopilot crash-safe ledger.** Each tick claims its ledger row (`executing`) and advances the
next-tick time before it swaps; a boot reconciler holds any interrupted tick for review instead
of replaying it, closing a double-buy window.
- **Autopilot exit rules validated** (finite, positive, in-range) so a malformed stop-loss can
never be silently dead; unattended slippage is capped tighter than a manual swap and a
high-impact clip is skipped rather than executed.
- **Autopilot exits liquidate only the mandate's own position**, tracked separately from the
wallet's pre-existing balance of the same mint. Fee lines that were never actually charged are
no longer recorded on swap actions.
- **`hl_update_leverage` reclassified sensitive** (was write) so it always requires a typed
confirmation and can't auto-run under a plan approval.
- **ARIA approval-resolution channels reject untrusted senders**; the approval card now shows all
material fields (amount, side, size), not just the first input value.
- **Bridge/ARIA file reads deny secret-bearing paths** (`.env`, keypairs, key material) and
enforce real-path containment against symlink escapes.
- **Windows `claude:auth-login` path quoting** hardened (strip stray quotes rather than leaving an
incomplete escape) and the `claude:install-cli` npm.cmd spawn no longer throws EINVAL.
- **Swarm lanes run with a minimal allowlisted environment** (no blanket env passthrough) and have
push disabled at the git layer, not just by a tool-name prefix.
- **ARIA no longer hijacks ordinary messages**: the read-only fast path only fires on short,
unambiguous commands, never on a keyword buried in a question.

### Docs
- Backfilled CHANGELOG entries for 4.3.0-4.6.1; refreshed the README feature list, `Whatsnew.md`,
and the `CLAUDE.md`/`AGENTS.md` agent-context files (runtime versions, schema, model-id rule) to
the current release. Documented the execution fee meter.

## [4.6.1] - 2026-06-25

### Fixed
- Stabilized embedded UI surfaces: Recovery log, RicoMaps, Zauth, and Remotion panels no longer
break when re-mounted, and hidden terminal instances stay inert.

## [4.6.0] - 2026-06-22

### Added
- **Agent economy control tower**: a dedicated panel plus `AgentEconomyService`, IPC domain, and
ARIA operator tools for tracking agent-routed execution, fees, and venue activity in one place.
Schema advanced to V55.

## [4.5.0] - 2026-06-21

### Added
- **Hyperliquid via HypurrClaw**: ARIA reads Hyperliquid markets and trades perps/spot by driving
the agent-first `hyperliquid` CLI through a single execFile gate (no raw shell, one known binary,
fixed argv). Read tools auto-run; `hl_place_order`, `hl_cancel_order`, `hl_modify_order`, and
`hl_transfer` are sensitive and typed-confirm gated. Network defaults to testnet and DAEMON never
holds a Hyperliquid key: the CLI's encrypted wallet signs. Sensitive summaries carry an
`[HL-MAINNET]`/`[HL-TESTNET]` marker.
- **Autopilot trading mandates**: unattended scheduled mandates with exit rules. Armed mandates
resume after restart, and the action ledger is idempotent so a tick interrupted mid-swap cannot
double-fire on resume. Schema V54.
- **Execution fee meter**: agent-routed mainnet execution carries a transparent fee line surfaced
on the approval card before anything runs, never charged silently.
- **Agent bridge (MCP)**: loopback MCP server with bearer-token auth exposing DAEMON's gated
wallet, launch, and memory tools to external agents. Every call re-filters against enabled packs;
sensitive actions route through the same approval gate as ARIA.

### Fixed
- Explorer file tree auto-refreshes on external filesystem changes.
- Hidden terminal instances are inert, so scroll and click-to-focus work.

## [4.4.0] - 2026-06-11

### Added
- **Venum integration**: `VenumService` with secure-key auth, live/batch prices, and ranked swap
quotes; read-tier ARIA tools (`venum_get_price`, `venum_get_prices`, `venum_get_quote`);
Integration Command Center card with key check and live price-feed test.
- **Compounding console memory**: `remember_fact` / `recall_memories` / `forget_memory` /
`update_memory` operator tools, post-turn fact extraction with inline Keep/Dismiss cards, cited
recall per assistant turn, and a "What DAEMON Knows" view in the Memory panel. Memories
strengthen with use and prompt pruning when stale.
- **Editor settings**: font family/size, tab size, word wrap, minimap, and theme configurable in
Settings > Display, applied to Monaco live. Adds a `daemon-light` theme.
- **BrainBlast pre-flight (opt-in)**: swarm lanes can run a research gate that compiles external
components into a structured report before code is written; critical risks gate the lane and the
gate fails open. Schema V51.

### Fixed
- Seeker relay records the OS-assigned port when binding to port 0, fixing the flaky relay test.
- Dropped the deprecated `--space-2xs` token alias.

## [4.3.0] - 2026-06-07

### Added
- **VS Code-style shell**: explorer, editor, bottom-panel terminal, and the DAEMON Console on the
right rail (chat-first with `>` and `/` command accelerators; can swap to the bottom panel).
- **Capability packs**: Solana, Wallet, Launch, Agents, Memory, Sites, Markets, and Create are now
toggleable packs, each owning its tools, integrations, sidebar icon, console commands, and
background work. Disabling a pack quiesces its IPC handlers. Capability Manager UI plus a live
status-bar pack indicator. Schema V50.
- **Create pack**: image editor and email tools for launch and marketing assets.

### Changed
- Per-pack integrations replace the single giant Integrations tab; the Activity Bar is dynamic.

### Fixed
- Pack host panels no longer collapse to zero height in narrow windows.
- macOS packaging unblocked (switched to a `.icns` icon).

## [4.2.0] - 2026-06-05

### Added
Expand Down
24 changes: 19 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<img src="https://img.shields.io/github/v/release/nullxnothing/daemon" alt="Release">
<img src="https://img.shields.io/github/downloads/nullxnothing/daemon/total" alt="Downloads">
<img src="https://img.shields.io/github/license/nullxnothing/daemon" alt="License">
<img src="https://img.shields.io/badge/tests-645%20passing-brightgreen" alt="Tests">
<img src="https://img.shields.io/badge/tests-979%20passing-brightgreen" alt="Tests">
</p>

<p align="center">
Expand Down Expand Up @@ -99,9 +99,23 @@ Requires **Node.js 22+** and **pnpm 9+**.

**Agent Launcher** — Spawn Claude Code agents with custom system prompts, model selection, and per-project MCP configurations. Agents run as real CLI sessions in dedicated terminal tabs.

**Operator Console** — The right-panel AI operator drives the whole IDE from natural language. Per-project chat sessions (new / switch / rename / archive / delete) with memory that survives restarts. It can run DAEMON itself — create an agent wallet for the codebase, spin up a Clawpump agent, preflight and launch a token, configure the Flywheel, commit changes — through a tool catalog with typed confirmation for sensitive on-chain actions (and a `[MAINNET]` guard). It never pushes to git autonomously.
**VS Code-style shell + capability packs** — Explorer, editor, a bottom-panel terminal, and the DAEMON Console on the right rail. Domain features ship as toggleable capability packs (Solana, Wallet, Launch, Agents, Memory, Sites, Markets, Create); disabling a pack quiesces its tools, integrations, sidebar icon, console commands, and background work — IPC handlers included. The Capability Manager shows how many packs are active and how much backend work is idle.

**Agent Swarms** — From the operator, launch several tasks to run in parallel, each in its own isolated git worktree and branch, driven by a separate Claude agent. The Swarms tab shows live run/lane status; each lane writes a `RESULTS.md`. Concurrency is capped and worktrees are cleaned up automatically — merging stays a manual, reviewed step.
**DAEMON Console (ARIA operator)** — The right-rail AI operator drives the whole IDE from natural language, chat-first with `>` and `/` command accelerators. Per-project chat sessions (new / switch / rename / archive / delete) with memory that survives restarts and compounds: the console proposes durable facts after real work (Keep/Dismiss), cites which taught facts a turn drew on, and strengthens proven facts over time. It runs DAEMON itself — agent wallets, token preflight/launch, Flywheel config, git — through a registry of typed tools with typed confirmation for sensitive on-chain actions (and a `[MAINNET]` guard). It never pushes to git autonomously.

**ARIA Autopilot** — Standing, structured trading mandates parsed from natural language and executed unattended on mainnet on a fixed cadence, with exit rules (take-profit / stop-loss / liquidity floor), a hard exposure cap, arm/disarm/kill-switch, and a "The Desk" panel showing live unrealized P&L and the action tape. Every tick claims its ledger row before it swaps, so a crash mid-tick is held for review, never replayed into a double-buy; a cluster switch auto-holds armed mandates; unattended slippage and price impact are capped tighter than a human-confirmed trade.

**Hyperliquid (via HypurrClaw)** — ARIA reads Hyperliquid markets and trades perps/spot by driving the agent-first `hyperliquid` CLI through a single execFile gate (no raw shell). Network defaults to testnet, DAEMON never holds a Hyperliquid key (the CLI's encrypted wallet signs), and every signing action stops for typed confirmation with an `[HL-MAINNET]`/`[HL-TESTNET]` marker.

**Execution fee meter** — Agent-routed SOL transfers on mainnet carry a transparent fee line surfaced on the approval card before anything runs, never charged silently. The rate is config-driven (default 0.25%, hard ceiling 0.75%), devnet is always free, and it stays disabled until a treasury is configured. Jupiter swaps sign a prebuilt transaction and are not fee-metered.

**Agent bridge (MCP)** — A loopback MCP server with bearer-token auth exposes DAEMON's gated wallet, launch, and memory tools to external agents (Cursor, Claude Code). Every call re-filters against enabled packs, file reads deny secret-bearing paths, and sensitive actions route through the same approval gate as ARIA.

**Agent economy control tower** — Track agent-routed execution, fees, and paid-resource (x402/IDLE) activity in one panel, with policy-and-budget-gated paid calls and redacted receipts.

**Agent Swarms** — Launch several tasks in parallel, each in its own isolated git worktree and branch, driven by a separate headless Claude agent with a minimal allowlisted env and push disabled at the git layer. The Swarms tab shows live run/lane status; each lane writes a `RESULTS.md`. Concurrency is capped, worktrees are cleaned up automatically, and merging stays a manual, reviewed step.

**Venum** — First-class Solana execution provider in the Markets pack: live/batch prices and ranked swap quotes, with read-tier ARIA tools and an Integration Command Center card.

**MCP Management** — Toggle project-level and global MCP servers from the sidebar. Changes write directly to `.claude/settings.json` and `.mcp.json` with a restart indicator when configs change.

Expand All @@ -121,9 +135,9 @@ Requires **Node.js 22+** and **pnpm 9+**.

**PumpFun Integration** — Token launches and bonding curve interactions directly from the IDE.

**Multi-Project Tabs** — Tabbed project switching with per-project terminal sessions, MCP configs, and file trees. Context switching without losing state.
**Editor settings** — Font family/size, tab size, word wrap, minimap, and theme configurable in Settings › Display and applied to Monaco live, including a `daemon-light` theme.

**Plugin System** — Extensible architecture for loading additional panels and integrations.
**Multi-project switching** — Per-project terminal sessions, MCP configs, wallets, and file trees. Context switching without losing state.

## DAEMON AI and Access

Expand Down
34 changes: 17 additions & 17 deletions Whatsnew.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
# DAEMON v4.0.0
# DAEMON v4.6

DAEMON v4 ships the hosted DAEMON AI cloud path, broader release smoke coverage, and the low-power desktop work needed for slower machines.
DAEMON v4.6 turns the operator into a full trading and execution surface: unattended mandates, a second venue, a transparent fee line, and a bridge that lets external agents drive DAEMON's gated tools, all on top of the VS Code-style shell and capability packs introduced in v4.3.

## Highlights

- Added the DAEMON AI cloud API for hosted Pro, Operator, Ultra, and holder-backed access.
- Added hosted model routing across OpenAI, Anthropic, and compatible provider lanes.
- Wired the desktop DAEMON AI and Pro subscription clients to the production cloud service.
- Preserved BYOK and local development paths for users who do not want hosted model traffic.
- Added local and live cloud smoke gates for Pro, Operator, and Ultra entitlement behavior.
- Expanded release coverage for Electron startup, MCP stress, Pro entitlement flow, workflow journeys, responsive layout, visual regression, packaging, and packaged app smoke.
- Added low-power performance mode with deferred startup work, reduced background refresh pressure, and lower motion.
- **DAEMON Console + capability packs** — a VS Code-style shell (explorer, editor, bottom terminal, right-rail console) with toggleable packs. Turn a pack off and its tools, integrations, and background work go quiet.
- **ARIA Autopilot** — standing trading mandates parsed from natural language and run unattended on mainnet with exit rules, a hard exposure cap, and arm/disarm/kill switches. "The Desk" shows live unrealized P&L and the action tape.
- **Hyperliquid via HypurrClaw** — ARIA reads Hyperliquid markets and trades perps/spot through the agent-first CLI. Testnet by default; DAEMON never holds a Hyperliquid key.
- **Execution fee meter** — agent-routed SOL transfers on mainnet carry a fee line shown on the approval card before anything runs. Default 0.25%, devnet always free, disabled until a treasury is configured.
- **Agent bridge (MCP)** — a loopback, token-authenticated server exposing DAEMON's gated wallet, launch, and memory tools to external agents like Cursor and Claude Code, behind the same approval gate as ARIA.
- **Compounding console memory** — the console proposes durable facts after real work, cites which facts it drew on, and strengthens proven facts over time.
- **Agent economy control tower** — track agent-routed execution, fees, and paid-resource activity in one panel.
- **Venum** — a first-class Solana execution provider in the Markets pack (live/batch prices, ranked swap quotes).

## Hardening

- Required hosted model lane entitlements at the cloud API boundary before credit checks or provider calls.
- Added SQLite-backed usage metering for hosted DAEMON AI requests.
- Added production readiness checks for provider configuration, JWT secrets, admin grant support, Solana RPC, and cloud storage.
- Stabilized wallet workspace visual regression coverage after the loaded wallet header became the expected release surface.
- Updated Integration Command Center tests for the enabled-integration workflow.
- Autopilot ticks claim their ledger row before swapping, so a crash mid-tick is held for review rather than replayed into a double-buy; a cluster switch auto-holds armed mandates; unattended slippage and price impact are capped tighter than a human-confirmed trade.
- Swap price impact is normalized to a single unit end to end, so ordinary low-impact swaps are never spuriously blocked.
- ARIA streamed events are tagged per session so approval cards can never attach to the wrong conversation; the approval-resolution channels reject untrusted senders.
- Bridge and ARIA file reads deny secret-bearing paths (.env, keypairs, key material) and enforce real-path containment.
- Swarm lanes run with a minimal allowlisted environment and have push disabled at the git layer.

## Verification

- `pnpm run release:check:v4:local`
- `pnpm run release:check:v4:live`
- `DAEMON_AI_LIVE_SMOKE_CHAT=1 pnpm run release:check:v4:live`
- `pnpm run typecheck && pnpm run test && pnpm run build`
- `pnpm run lint:styles`
Loading
Loading