Commit Graph

34 Commits

Author SHA1 Message Date
José Albornoz
bb560809c7 Add support for Nix and NixOS (#130)
* fix: add missing resolved/integrity fields to package-lock.json

npm omits resolved URLs and integrity hashes for workspace-local
node_modules overrides. This breaks offline installers like Nix's
npm ci. Add the missing fields for 25 workspace-hoisted packages.

* feat: add Nix flake with package and NixOS module

Add a Nix flake that builds the Paseo daemon (server + CLI) and
provides a NixOS module for declarative deployment.

Package (nix/package.nix):
- Builds relay, server, and CLI workspaces
- Skips onnxruntime-node install script (sandbox-incompatible)
- Rebuilds only node-pty for native terminal support
- Source filter excludes app/website/desktop workspaces

NixOS module (nix/module.nix):
- Systemd service with configurable user, port, listen address
- allowedHosts for DNS rebinding protection
- relay.enable to toggle remote access via app.paseo.sh
- inheritUserEnvironment to expose user tools (git, ssh) to agents
- openFirewall and extra environment variables

ci: add Nix hash maintenance scripts and workflows

scripts/fix-lockfile.mjs:
  Adds missing resolved/integrity fields to package-lock.json for
  workspace-local overrides. Idempotent, uses `npm view`.

scripts/update-nix.sh:
  Runs fix-lockfile.mjs, prefetches deps, computes NAR hash, and
  updates npmDepsHash in nix/package.nix. Supports --check for CI.

.github/workflows/nix-build.yml:
  Builds the Nix package on push/PR and verifies the lockfile and
  hash are up to date.

.github/workflows/fix-nix-hash.yml:
  Auto-fixes lockfile signatures and Nix hash on dependabot PRs.

fix: update npmDepsHash after upstream sync

nix: allowlist workspace symlinks instead of blocklist

Prevents build failures when upstream adds new workspace packages.

* don't block PRs on nix failures

* better document npm workaround

* fix hash update script, and update hash

* integrate with npm run build:daemon

* ci: trigger nix build on highlight changes

* fix(nix): update npmDepsHash

---------

Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
2026-03-25 23:42:44 +07:00
Mohamed Boudra
08e37540eb refactor(desktop): sync package metadata from root 2026-03-25 23:34:02 +07:00
Mohamed Boudra
fa45ab593b chore: update orchestrator/chat skills and dev tooling
- Orchestrator skill: add Claude vs Codex guidelines, structured audit
  patterns, narrow single-purpose review passes
- Chat skill: improved coordination helpers
- Dev script and config tweaks
2026-03-24 21:22:14 +07:00
Mohamed Boudra
f6579dbeb4 Switch to double quotes and reformat codebase with Biome 2026-03-21 20:22:15 +07:00
Mohamed Boudra
111576e2ca chore: finalize electron desktop migration 2026-03-21 01:50:00 +07:00
Mohamed Boudra
0b88383b01 chore: remove stale e2e specs and fix-tests scripts
Delete all 34 Playwright e2e specs — they test against an outdated UI
and will be rewritten from scratch with a clean DSL-based approach.
Remove scripts/fix-tests/ overnight loop infrastructure.
2026-03-15 10:45:36 +07:00
Mohamed Boudra
a364edde17 chore: update fix-tests prompts with known issues and pre-existing failures 2026-03-15 10:41:09 +07:00
Mohamed Boudra
f12dc6127b feat: add --prompt and --prompt-file options to agent send command 2026-03-14 22:38:13 +07:00
Mohamed Boudra
defcc54af2 fix(release): harden desktop recovery workflows 2026-03-12 22:41:34 +07:00
Mohamed Boudra
e3d7dabb87 fix(ci): support desktop release retries 2026-03-09 12:58:41 +07:00
Mohamed Boudra
8a60dc30d6 feat(release): add draft GitHub release flow 2026-03-09 11:41:21 +07:00
Mohamed Boudra
888af29485 feat: add worktree archiving with context menu and improved logging 2026-03-03 17:35:48 +07:00
Mohamed Boudra
2f98f073ce ci(release): sync github release notes from changelog 2026-02-19 11:01:17 +07:00
Mohamed Boudra
4affac9ce9 fix(desktop): improve tauri permissions and settings UX 2026-02-18 18:13:20 +07:00
Mohamed Boudra
a644adbf9b feat: add voice capability status reporting to client 2026-02-14 13:14:57 +07:00
Mohamed Boudra
8ca134f1a5 chore(scripts): broaden refactor loop scope and focus on server/app code 2026-02-14 09:04:17 +07:00
Mohamed Boudra
1b84613be1 chore(scripts): clarify refactor skill loading instruction in codex loop 2026-02-14 08:21:09 +07:00
Mohamed Boudra
a04096af44 chore: add codex refactor loop script 2026-02-14 01:18:41 +07:00
Mohamed Boudra
734cf7af20 chore: script release tag push and trim daemon log noise 2026-02-12 19:05:51 +07:00
Mohamed Boudra
ec7ea4b55a Update files 2026-02-10 16:26:51 +07:00
Mohamed Boudra
c5a27a4ddc Update files 2026-02-08 15:59:38 +07:00
Mohamed Boudra
29bca7e7b9 relay: reset stuck control sockets; add prod prove script 2026-02-05 21:47:03 +07:00
Mohamed Boudra
b2238c4f44 chore: rename package scope from @paseo to @getpaseo 2026-02-05 14:24:01 +07:00
Mohamed Boudra
574bdc16f6 simplify: remove ws bridge; wrangler-based relay tests 2026-02-05 10:45:51 +07:00
Mohamed Boudra
0de8609e6a Fix postinstall patches for partial workspace installs 2026-02-04 23:46:54 +07:00
Mohamed Boudra
0218729316 Relay pairing offer v2 (E2EE) + host connections 2026-02-04 22:53:00 +07:00
Mohamed Boudra
9d0dd8b19e Update files 2026-01-25 08:42:00 +07:00
Mohamed Boudra
fb07df3fd1 Merge branch 'main' into git-diff-panel-reorg
# Conflicts:
#	scripts/dev.sh
2026-01-24 22:13:32 +07:00
Mohamed Boudra
1f91de5cbc Update files 2026-01-24 22:12:07 +07:00
Mohamed Boudra
63c765b209 chore(dev): use persistent PASEO_HOME and bind to all interfaces 2026-01-24 22:07:07 +07:00
Mohamed Boudra
f8f37ace58 Update files 2026-01-24 16:40:13 +07:00
Mohamed Boudra
1b61fabde5 Add auto-port dev script for worktree support
- Add scripts/dev.sh that finds available ports for daemon (6767+) and Metro (8081+)
- Runs both services via concurrently with colored output
- Sets PASEO_CORS_ORIGINS dynamically for the Metro port
- Sets EXPO_PUBLIC_DAEMONS to auto-configure app with daemon endpoint
- Add get-port-cli and concurrently as dev dependencies
- Rename npm run dev to use the script, add dev:server for daemon-only
2026-01-24 15:45:39 +07:00
Mohamed Boudra
4def0dec62 chore: remove .tool-versions and move plan loop script
- .tool-versions removed (using system Node)
- run-plan-loop.sh moved to ~/.local/bin/agl

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 18:49:06 +01:00
Mohamed Boudra
4ab79b1a50 feat: add multi-daemon support with session routing and connection management
Introduce DaemonRegistry and DaemonConnections contexts for managing multiple server connections. Add session directory for aggregating agents across daemons, with automatic routing based on agent/server context.

Key changes:
- Add daemon profile management (add/edit/remove/set default)
- Implement connection state tracking with reconnection and exponential backoff
- Create useAggregatedAgents hook for unified agent list across daemons
- Add useDaemonSession and useDaemonRequest hooks for daemon-scoped operations
- Update agent routes to include serverId for proper session routing
- Add connection health indicators on home screen and settings
- Persist session snapshots per daemon for faster hydration on reconnect
- Guard screens gracefully when target daemon is offline
- Add React Query for consistent loading/error state management

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 08:25:02 +01:00