Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
d14e848
docs: add pull-wake health check design spec
KyleAMathews May 16, 2026
afe87f2
docs: update health check spec with principal rename and shape sync
KyleAMathews May 16, 2026
6c9979e
docs: add pull-wake health check implementation plan
KyleAMathews May 16, 2026
e01b4d7
fix(plan): address code review findings — add canonicalizePrincipal, …
KyleAMathews May 16, 2026
83e2c41
fix(plan): strict no-compat — remove canonicalizePrincipal, validate …
KyleAMathews May 16, 2026
c7c3342
fix(plan): strict principal validation, clean up dependent tables in …
KyleAMathews May 16, 2026
454ea9b
fix(plan): scope migration to runner-owned claims, fix default princi…
KyleAMathews May 16, 2026
6530be3
fix(plan): store principal URLs directly in constants, not keys
KyleAMathews May 16, 2026
6c49982
feat(agents): add pull-wake runner health diagnostics
KyleAMathews May 16, 2026
15aef19
fix(agents): address pull-wake health review findings
KyleAMathews May 16, 2026
83fb039
chore: add changeset for pull-wake health diagnostics
KyleAMathews May 16, 2026
7c3a0fb
feat(agents): surface pull-wake runtime diagnostics
KyleAMathews May 16, 2026
944c272
fix(agents): harden pull-wake runner lifecycle and error handling
KyleAMathews May 17, 2026
d6c5d4d
chore: add changeset for pull-wake runner hardening
KyleAMathews May 17, 2026
e625468
fix(agents): avoid delayed pull-wake session startup
KyleAMathews May 18, 2026
897b7d4
chore: add changeset for pull-wake startup UI
KyleAMathews May 18, 2026
4d0476b
Merge remote-tracking branch 'origin/main' into fix-pull-wake
KyleAMathews May 18, 2026
8c841aa
fix(agents): address pull-wake review blockers
KyleAMathews May 18, 2026
365366b
fix(agents): tighten runner lifecycle diagnostics
KyleAMathews May 18, 2026
7ea4a5a
Merge remote-tracking branch 'origin/main' into fix-pull-wake
KyleAMathews May 18, 2026
6ba5063
fix(agents-server): avoid duplicate dispatch subscription links
KyleAMathews May 18, 2026
a5fdad5
fix(agents-desktop): default local runner owner to dev principal
KyleAMathews May 18, 2026
450e8e5
fix(agents-server): tolerate dispatch subscription races
KyleAMathews May 18, 2026
12a03ff
test(agents-server): add Horton send failure diagnostics
KyleAMathews May 18, 2026
c3a7fc6
fix(agents-server): avoid send-time dispatch relinks
KyleAMathews May 18, 2026
f6c4d41
fix(agents): recover pull-wake dispatch races
KyleAMathews May 18, 2026
9f0a2ed
test(agents-server): cover pull-wake subscription stack
KyleAMathews May 18, 2026
b5c248e
Merge remote-tracking branch 'origin/main' into fix-pull-wake
icehaunter May 18, 2026
6966077
fix: restore service-scoped pull-wake subscriptions
icehaunter May 18, 2026
761876d
fix: treat durable streams urls as opaque prefixes
icehaunter May 18, 2026
f299919
fix(agents-server): route subscription control to stream-meta
KyleAMathews May 18, 2026
6736276
fix(agents-desktop): default local send principal
KyleAMathews May 18, 2026
d266b29
fix: remove stale durable streams consumer API
icehaunter May 18, 2026
c6eda8c
fix(agents-server): keep durable streams control urls opaque
KyleAMathews May 18, 2026
2e95443
fix(agents-server): relink dispatch subscriptions on send
KyleAMathews May 18, 2026
dbf7910
fix(agents): use durable streams backend url in runtime tests
KyleAMathews May 18, 2026
756b7dc
Route local desktop writes through main process
KyleAMathews May 19, 2026
846de02
Avoid local send preflights
KyleAMathews May 19, 2026
e8241f1
Harden pull-wake runner invariants
KyleAMathews May 19, 2026
8f05752
some additional logging & removed stale docs
icehaunter May 19, 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
6 changes: 6 additions & 0 deletions .changeset/desktop-local-fetch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@electric-ax/agents-desktop': patch
'@electric-ax/agents-server-ui': patch
---

Route local desktop mutating agents-server requests through the Electron main process so CORS preflights cannot stall behind renderer connection limits.
7 changes: 7 additions & 0 deletions .changeset/harden-pull-wake-runner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@electric-ax/agents-runtime': patch
'@electric-ax/agents-server': patch
'@electric-ax/agents': patch
---

Harden pull-wake runner lifecycle with a state machine, heartbeat-driven stream resets, and exponential reconnect backoff (1s-30s). Add granular `status` field to `PullWakeRunnerHealth` (`stopped | starting | connecting | streaming | reconnecting | stopping`). The `onError` callback is now reporting-only (`(Error) => void`) - it can no longer control runner lifecycle. `stop()` rethrows `drainWakes` errors so callers observe wake handler failures. Event-driven heartbeat throttling avoids stale diagnostics between fixed-interval heartbeats. Durable Streams clients now append stream and `__ds` subscription control paths to the configured backend URL prefix without inferring a `/v1/stream` layout, so pull-wake subscriptions work behind arbitrary DS backend prefixes. Remove the stale `StreamClient.getConsumerState()` helper for the old Durable Streams `/consumers` endpoint.
6 changes: 6 additions & 0 deletions .changeset/local-desktop-principal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@electric-ax/agents-desktop': patch
'@electric-ax/agents-server-ui': patch
---

Default unauthenticated local desktop sessions to the `system:dev-local` principal and resolve optimistic send principals at mutation time so pending messages do not render as `unknown`.
9 changes: 9 additions & 0 deletions .changeset/pull-wake-health-diagnostics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@electric-ax/agents-server': patch
'@electric-ax/agents-runtime': patch
'@electric-ax/agents-desktop': patch
'@electric-ax/agents': patch
'electric-ax': patch
---

Add pull-wake runner health check endpoint and rename `owner_user_id` to `owner_principal` across the runners system. The `GET /_electric/runners/:id/health` endpoint returns comprehensive diagnostics including runner state, client-reported stream/heartbeat/claim metrics, active claims, and dispatch stats with a derived health status (healthy/degraded/unhealthy). The `PullWakeRunner` now tracks internal diagnostics and reports them to the server via heartbeats, stored in a separate `runner_runtime_diagnostics` table so the main `runners` shape stays stable for normal UI sync. The `owner_user_id` → `owner_principal` rename stores canonical principal URLs instead of keys, with strict validation and canonicalization at route boundaries. The migration expires active runner claims and deletes existing runner rows as part of the principal rewrite. This is a breaking change with no backward compatibility — all callers must send principal URLs.
5 changes: 5 additions & 0 deletions .changeset/pull-wake-session-startup-ui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@electric-ax/agents-server-ui': patch
---

Send new-session initial messages through the spawn request so pull-wake sessions can start without waiting for the UI to preload the entity stream.
205 changes: 0 additions & 205 deletions docs/agents-development.md

This file was deleted.

Loading
Loading