Repository navigation
Commit dd9e860
Release v0.9.16
* Add AUR package
* Add AUR package files
PKGBUILD, systemd system units, sysusers/tmpfiles configs, default
env file, and install hooks for packaging Praxis as an Arch Linux
AUR package. Runs as a dedicated praxis system user with data in
/var/lib/praxis and config in /etc/praxis/env.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix AUR build: disable LTO, bundle SQLite, update release process
- PKGBUILD: add !lto option and unset CFLAGS/LDFLAGS to prevent GCC LTO
objects in bundled C libraries (ring, mlua-sys) which are incompatible
with rust-lld. Set SQLITE3_NO_PKG_CONFIG to force bundled SQLite.
- service/Cargo.toml: disable sqlx default features to avoid system SQLite
conflicts.
- CLAUDE.md: add AUR package update step to release process.
- .gitignore: exclude makepkg build artifacts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Bump version to 0.9.13
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Update pkgdesc and add .SRCINFO
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add AUR packaging gitignore
* Update release process: include .SRCINFO regeneration for AUR
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Move AUR package to originsec/praxis-aur, add release automation
- Remove pkg/aur/ from this repo (now lives in originsec/praxis-aur)
- Add update-aur job to release workflow that automatically updates
pkgver, sha256sums, and .SRCINFO in praxis-aur on each tagged release
- Update CLAUDE.md release process to reflect automation
- Clean up .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* TUI improvements, node stability, and prompt timeouts (#129)
* Release v0.9.13
* Add AUR package
* Add AUR package files
PKGBUILD, systemd system units, sysusers/tmpfiles configs, default
env file, and install hooks for packaging Praxis as an Arch Linux
AUR package. Runs as a dedicated praxis system user with data in
/var/lib/praxis and config in /etc/praxis/env.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix AUR build: disable LTO, bundle SQLite, update release process
- PKGBUILD: add !lto option and unset CFLAGS/LDFLAGS to prevent GCC LTO
objects in bundled C libraries (ring, mlua-sys) which are incompatible
with rust-lld. Set SQLITE3_NO_PKG_CONFIG to force bundled SQLite.
- service/Cargo.toml: disable sqlx default features to avoid system SQLite
conflicts.
- CLAUDE.md: add AUR package update step to release process.
- .gitignore: exclude makepkg build artifacts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Bump version to 0.9.13
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Update pkgdesc and add .SRCINFO
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add AUR packaging gitignore
* Update release process: include .SRCINFO regeneration for AUR
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Move AUR package to originsec/praxis-aur, add release automation
- Remove pkg/aur/ from this repo (now lives in originsec/praxis-aur)
- Add update-aur job to release workflow that automatically updates
pkgver, sha256sums, and .SRCINFO in praxis-aur on each tagged release
- Update CLAUDE.md release process to reflect automation
- Clean up .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* AUR package automation and installation docs
- Add AUR package files (aur/praxis/) with PKGBUILD, systemd units,
sysusers/tmpfiles configs, and install hooks
- Add automated AUR update workflows: release.yml pushes to AUR on
tagged releases, update-aur.yml for manual dispatch
- Workflows run in Arch Linux container, compute sha256 from release
tarball, update PKGBUILD and .SRCINFO, commit to main, then push
to AUR via SSH
- Add AUR installation instructions to docs
- Bump version to 0.9.14
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Update AUR package to v0.9.14
* Switch to ulises-jeremias/github-actions-aur-publish for AUR push
Replaces manual SSH setup with a dedicated action that handles all
SSH authentication internals.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix workflow paths: aur/ -> pkg/aur/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix AUR publish: exclude unsupported dsa key type from ssh_keyscan
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Bump version to 0.9.15
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Update AUR package to v0.9.15
* Revert to direct SSH push in Arch container for AUR
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* AUR push: use IdentitiesOnly, keyscan, and retry with backoff
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Make AUR update non-blocking in release workflow
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Consolidate SSH setup and AUR push into single step
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add verbose SSH debug to AUR push
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix AUR SSH: copy known_hosts to /root/.ssh/ for container HOME mismatch
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add back SSH verbosity for debugging
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix update-aur SSH config
* Fix release AUR SSH config
* tui: refine orchestrator thinking and spinner display
* tui: keep orchestrator spinner visible while waiting
* node: fix VM lock blocking main loop and improve reset/shutdown
- Use spawn_blocking for create_session, close_session, do_fingerprint,
and perform_recon to avoid blocking the async runtime
- Use try_lock for fingerprint, recon, and read_session_content so they
fail fast when a transaction holds the VM lock
- Agent::Select now closes the existing session and cancels transactions
before fingerprinting, preventing queue stalls
- Shutdown path now cancels all transactions and closes sessions (matching
reset behavior) so child processes are killed on Ctrl+C
- Read stdout/stderr on background threads to prevent pipe deadlock when
child output exceeds 64KB buffer
- Add timed join (5s) for reader threads to handle orphaned grandchildren
- Add explicit flush() before dropping stdin pipe
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* service: fix op queue not advancing after early failures
Early failures in select_agent or create_session returned before the
dequeue logic, leaving subsequent queued operations stuck. Wrap execution
steps in a labeled block so break exits to the dequeue path. Also send
close_session before select_agent to clean up lingering sessions.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add configurable prompt timeout for agent commands
Adds a prompt_timeout_secs setting that kills agent processes exceeding
the configured time limit. Fingerprint checks use a 10s hardcoded timeout.
- Add timeout_secs to CommandSpec with deadline-based kill in poll loop
- Add prompt_timeout_secs to SessionContext, service config (default 600s)
- Service reads timeout from config and passes through SessionContext
- TUI and web fetch timeout from service config at session creation
- CLI session create accepts --timeout / -T flag, falls back to service config
- All Lua agents store and use prompt_timeout_secs from session context
- Settings UI in both TUI and web for configuring the timeout
- Web fetches prompt_timeout_secs on connection for immediate availability
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* lua: inline timeout_secs in command spec tables
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Bump version to 0.9.16
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add Claude Bridge with CCRv1 (WebSocket) and CCRv2 (HTTP/SSE) transports
Implement the Claude Bridge module for Claude agent connectivity with two
transport protocols. CCRv1 uses WebSocket via tokio-tungstenite and CCRv2
uses HTTP/SSE via axum. Both share a common BridgeSession protocol core
through a Transport trait abstraction.
Includes service bootstrap integration, settings UI with grouped
configuration, and documentation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Chains/Ops do not shutdown Bridge sessions
* Adding ip + email as node hostname for bridge nodes
---------
Co-authored-by: David Kaplan <davkaplan@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent c9cd7e4 commit dd9e860
48 files changed
Lines changed: 2409 additions & 203 deletions
File tree
- .github/workflows
- agents
- cli/src
- commands
- ui
- common/src
- mcp
- docs/src
- architecture
- connectors
- reference
- usage
- node/src
- agent_connectors/lua
- handlers
- service
- src
- agent_chat
- claude_bridge
- config
- dispatch
- semantic_ops
- chain_execution
- web/frontend/src
- api
- components/command
- context
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
73 | | - | |
74 | 72 | | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | 73 | | |
81 | 74 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
| 75 | + | |
| 76 | + | |
86 | 77 | | |
87 | | - | |
88 | | - | |
| 78 | + | |
| 79 | + | |
89 | 80 | | |
90 | | - | |
| 81 | + | |
91 | 82 | | |
92 | 83 | | |
93 | 84 | | |
94 | 85 | | |
95 | | - | |
96 | 86 | | |
97 | 87 | | |
| 88 | + | |
98 | 89 | | |
99 | 90 | | |
100 | 91 | | |
101 | 92 | | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
| 93 | + | |
143 | 94 | | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | 95 | | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
161 | 99 | | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
| 100 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
| 174 | + | |
174 | 175 | | |
175 | 176 | | |
176 | 177 | | |
| |||
210 | 211 | | |
211 | 212 | | |
212 | 213 | | |
| 214 | + | |
213 | 215 | | |
214 | 216 | | |
215 | 217 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
| 203 | + | |
203 | 204 | | |
204 | 205 | | |
205 | 206 | | |
| |||
266 | 267 | | |
267 | 268 | | |
268 | 269 | | |
| 270 | + | |
269 | 271 | | |
270 | 272 | | |
271 | 273 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | 51 | | |
| |||
230 | 231 | | |
231 | 232 | | |
232 | 233 | | |
| 234 | + | |
233 | 235 | | |
234 | 236 | | |
235 | 237 | | |
| |||
257 | 259 | | |
258 | 260 | | |
259 | 261 | | |
| 262 | + | |
260 | 263 | | |
261 | 264 | | |
262 | 265 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
| 136 | + | |
136 | 137 | | |
137 | 138 | | |
138 | 139 | | |
| |||
192 | 193 | | |
193 | 194 | | |
194 | 195 | | |
| 196 | + | |
195 | 197 | | |
196 | 198 | | |
197 | 199 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
| 274 | + | |
274 | 275 | | |
275 | 276 | | |
276 | 277 | | |
| |||
290 | 291 | | |
291 | 292 | | |
292 | 293 | | |
| 294 | + | |
293 | 295 | | |
294 | 296 | | |
295 | 297 | | |
| |||
316 | 318 | | |
317 | 319 | | |
318 | 320 | | |
| 321 | + | |
319 | 322 | | |
320 | 323 | | |
321 | 324 | | |
| |||
0 commit comments