Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 0 additions & 5 deletions .changeset/cloud-agents-service-query.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/desktop-local-fetch.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fix-array-cast-type-wrapper.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/harden-pull-wake-runner.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/little-pigs-complain.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/local-desktop-principal.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/pull-wake-health-diagnostics.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/pull-wake-session-startup-ui.md

This file was deleted.

8 changes: 0 additions & 8 deletions .changeset/telemetry-poller-safe-invoke.md

This file was deleted.

8 changes: 8 additions & 0 deletions examples/deep-survey/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @electric-ax/example-deep-survey

## 0.1.10

### Patch Changes

- Updated dependencies [e126eba]
- Updated dependencies [e126eba]
- @electric-ax/agents-runtime@0.2.2

## 0.1.9

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/deep-survey/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@electric-ax/example-deep-survey",
"private": true,
"version": "0.1.9",
"version": "0.1.10",
"type": "module",
"scripts": {
"dev": "pnpm run --parallel \"/^dev:/\"",
Expand Down
9 changes: 9 additions & 0 deletions packages/agents-desktop/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @electric-ax/agents-desktop

## 0.1.4

### Patch Changes

- e4acb1d: Use the Electric Cloud `service` query parameter for tenant-specific agents URLs so desktop cloud requests target the root agents endpoint while preserving tenant auth routing.
- e126eba: Route local desktop mutating agents-server requests through the Electron main process so CORS preflights cannot stall behind renderer connection limits.
- e126eba: 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`.
- e126eba: 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.

## 0.1.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/agents-desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@electric-ax/agents-desktop",
"productName": "Electric Agents",
"private": true,
"version": "0.1.3",
"version": "0.1.4",
"description": "Desktop app for Electric Agents",
"author": "ElectricSQL <info@electric-sql.com>",
"homepage": "https://electric-sql.com",
Expand Down
7 changes: 7 additions & 0 deletions packages/agents-runtime/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @electric-ax/agents-runtime

## 0.2.2

### Patch Changes

- e126eba: 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.
- e126eba: 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.

## 0.2.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/agents-runtime/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@electric-ax/agents-runtime",
"version": "0.2.1",
"version": "0.2.2",
"description": "Electric agent runtime — behavioral stack for agent entities over durable streams",
"keywords": [
"tanstack-intent"
Expand Down
11 changes: 11 additions & 0 deletions packages/agents-server-ui/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @electric-ax/agents-server-ui

## 0.4.4

### Patch Changes

- e126eba: Route local desktop mutating agents-server requests through the Electron main process so CORS preflights cannot stall behind renderer connection limits.
- e126eba: 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`.
- e126eba: 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.
- Updated dependencies [e126eba]
- Updated dependencies [e126eba]
- @electric-ax/agents-runtime@0.2.2

## 0.4.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/agents-server-ui/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@electric-ax/agents-server-ui",
"private": true,
"version": "0.4.3",
"version": "0.4.4",
"type": "module",
"scripts": {
"build": "vite build",
Expand Down
10 changes: 10 additions & 0 deletions packages/agents-server/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @electric-ax/agents-server

## 0.4.4

### Patch Changes

- e126eba: 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.
- e126eba: 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.
- Updated dependencies [e126eba]
- Updated dependencies [e126eba]
- @electric-ax/agents-runtime@0.2.2

## 0.4.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/agents-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@electric-ax/agents-server",
"version": "0.4.3",
"version": "0.4.4",
"description": "Electric Agents entity runtime server",
"author": "Durable Stream contributors",
"bin": {
Expand Down
10 changes: 10 additions & 0 deletions packages/agents/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @electric-ax/agents

## 0.4.3

### Patch Changes

- e126eba: 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.
- e126eba: 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.
- Updated dependencies [e126eba]
- Updated dependencies [e126eba]
- @electric-ax/agents-runtime@0.2.2

## 0.4.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/agents/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@electric-ax/agents",
"version": "0.4.2",
"version": "0.4.3",
"description": "Built-in Electric Agents runtimes such as Horton and worker",
"repository": {
"type": "git",
Expand Down
10 changes: 10 additions & 0 deletions packages/electric-ax/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# electric-ax

## 0.2.3

### Patch Changes

- e126eba: 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.
- Updated dependencies [e126eba]
- Updated dependencies [e126eba]
- @electric-ax/agents-runtime@0.2.2
- @electric-ax/agents@0.4.3

## 0.2.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/electric-ax/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "electric-ax",
"version": "0.2.2",
"version": "0.2.3",
"description": "CLI for Electric Agents",
"author": "ElectricSQL team and contributors",
"license": "Apache-2.0",
Expand Down
8 changes: 8 additions & 0 deletions packages/electric-telemetry/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @core/electric-telemetry

## 0.2.7

### Patch Changes

- eac6dea: Wrap telemetry-poller MFAs in `ElectricTelemetry.Poller.safe_invoke/3` so that transient collector failures (`:noproc`, `:timeout`, `:shutdown`/`:normal` exits, `ArgumentError` from not-yet-created ETS tables) no longer cause `:telemetry_poller` to permanently remove the measurement from its polling list. Unexpected errors are now logged as warnings with the offending MFA and the collector keeps being polled on subsequent ticks. Strips now-redundant defensive `try/catch` / `with`-fallthrough code from individual collectors.

Note: user-supplied periodic measurement functions no longer have exceptions propagated up to `:telemetry_poller`'s own error logger — they are caught and logged via `ElectricTelemetry.Poller` instead.

## 0.2.6

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/electric-telemetry/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@core/electric-telemetry",
"private": true,
"version": "0.2.6"
"version": "0.2.7"
}
10 changes: 10 additions & 0 deletions packages/sync-service/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @core/sync-service

## 1.6.6

### Patch Changes

- 8a94d7f: Fix `@>` (and other array operators) returning 400 when the right-hand side uses a non-foldable `ARRAY[...]::T[]` outer cast, e.g. `"organization_ids" @> ARRAY[$1]::uuid[]` with a column or parameter inside the constructor. The where-clause parser was assigning the element type (`:uuid`) instead of the array type (`{:array, :uuid}`) to array-cast and array-implicit-cast functions, which made the `@>` operator overload lookup fail with `Could not select an operator overload`.
- 4590862: Remove the single-function PartialMode module by moving its query_subset() function into SnapshotQuery, so that its implementation could sit close to SnapshotQuery.execute_for_shape().
- eac6dea: Wrap telemetry-poller MFAs in `ElectricTelemetry.Poller.safe_invoke/3` so that transient collector failures (`:noproc`, `:timeout`, `:shutdown`/`:normal` exits, `ArgumentError` from not-yet-created ETS tables) no longer cause `:telemetry_poller` to permanently remove the measurement from its polling list. Unexpected errors are now logged as warnings with the offending MFA and the collector keeps being polled on subsequent ticks. Strips now-redundant defensive `try/catch` / `with`-fallthrough code from individual collectors.

Note: user-supplied periodic measurement functions no longer have exceptions propagated up to `:telemetry_poller`'s own error logger — they are caught and logged via `ElectricTelemetry.Poller` instead.

## 1.6.5

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/sync-service/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@core/sync-service",
"private": true,
"version": "1.6.5",
"version": "1.6.6",
"scripts": {
"publish:hex": "../../scripts/publish_hex.sh electric",
"changeset": "pushd ../..; pnpm changeset; popd"
Expand Down
Loading