@electric-ax/agents 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1943,7 +1943,7 @@ async function createBuiltinAgentHandler(options) {
1943
1943
  subscriptionPathForType: (name) => `/${name}/*/main`,
1944
1944
  defaultDispatchPolicyForType,
1945
1945
  serverHeaders,
1946
- idleTimeout: 5e3,
1946
+ idleTimeout: 5 * 6e4,
1947
1947
  createElectricTools,
1948
1948
  publicUrl,
1949
1949
  name: runtimeName ?? `builtin-agents`
@@ -1963,19 +1963,6 @@ async function registerBuiltinAgentTypes(bootstrap) {
1963
1963
 
1964
1964
  //#endregion
1965
1965
  //#region src/server.ts
1966
- const PRINCIPAL_KEY_PREFIXES = new Set([
1967
- `user`,
1968
- `agent`,
1969
- `service`,
1970
- `system`
1971
- ]);
1972
- function normalizeOwnerUserId(ownerUserId) {
1973
- const trimmed = ownerUserId?.trim();
1974
- if (!trimmed) return void 0;
1975
- const colon = trimmed.indexOf(`:`);
1976
- if (colon > 0 && PRINCIPAL_KEY_PREFIXES.has(trimmed.slice(0, colon))) return trimmed;
1977
- return `user:${trimmed}`;
1978
- }
1979
1966
  var BuiltinAgentsServer = class {
1980
1967
  bootstrap = null;
1981
1968
  _mcpRegistry = null;
@@ -2126,11 +2113,11 @@ var BuiltinAgentsServer = class {
2126
2113
  claimHeaders: pullWake.claimHeaders,
2127
2114
  claimTokenHeader: pullWake.claimTokenHeader,
2128
2115
  heartbeatIntervalMs: pullWake.heartbeatIntervalMs,
2116
+ eventHeartbeatThrottleMs: pullWake.eventHeartbeatThrottleMs,
2129
2117
  leaseMs: pullWake.leaseMs,
2130
2118
  offset: registeredRunner?.wake_stream_offset,
2131
2119
  onError: (error) => {
2132
2120
  serverLog.error(`[builtin-agents] pull-wake runner failed`, error);
2133
- return true;
2134
2121
  }
2135
2122
  });
2136
2123
  this.pullWakeRunner.start();
@@ -2180,18 +2167,16 @@ var BuiltinAgentsServer = class {
2180
2167
  async registerPullWakeRunner(pullWake) {
2181
2168
  const headers = new Headers(typeof pullWake.headers === `function` ? await pullWake.headers() : pullWake.headers);
2182
2169
  headers.set(`content-type`, `application/json`);
2183
- const ownerUserId = normalizeOwnerUserId(pullWake.ownerUserId);
2184
- const body = {
2185
- id: pullWake.runnerId,
2186
- label: pullWake.label ?? `Built-in agents`,
2187
- kind: `local`,
2188
- admin_status: `enabled`
2189
- };
2190
- if (ownerUserId) body.owner_user_id = ownerUserId;
2191
2170
  const response = await fetch(appendPathToUrl(this.options.agentServerUrl, `/_electric/runners`), {
2192
2171
  method: `POST`,
2193
2172
  headers,
2194
- body: JSON.stringify(body)
2173
+ body: JSON.stringify({
2174
+ id: pullWake.runnerId,
2175
+ owner_principal: pullWake.ownerPrincipal,
2176
+ label: pullWake.label ?? `Built-in agents`,
2177
+ kind: `local`,
2178
+ admin_status: `enabled`
2179
+ })
2195
2180
  });
2196
2181
  if (!response.ok) throw new Error(`Failed to register pull-wake runner ${pullWake.runnerId}: ${response.status} ${await response.text()}`);
2197
2182
  return await response.json();
package/dist/index.cjs CHANGED
@@ -1969,7 +1969,7 @@ async function createBuiltinAgentHandler(options) {
1969
1969
  subscriptionPathForType: (name) => `/${name}/*/main`,
1970
1970
  defaultDispatchPolicyForType,
1971
1971
  serverHeaders,
1972
- idleTimeout: 5e3,
1972
+ idleTimeout: 5 * 6e4,
1973
1973
  createElectricTools,
1974
1974
  publicUrl,
1975
1975
  name: runtimeName ?? `builtin-agents`
@@ -1999,19 +1999,6 @@ const registerAgentTypes = registerBuiltinAgentTypes;
1999
1999
 
2000
2000
  //#endregion
2001
2001
  //#region src/server.ts
2002
- const PRINCIPAL_KEY_PREFIXES = new Set([
2003
- `user`,
2004
- `agent`,
2005
- `service`,
2006
- `system`
2007
- ]);
2008
- function normalizeOwnerUserId(ownerUserId) {
2009
- const trimmed = ownerUserId?.trim();
2010
- if (!trimmed) return void 0;
2011
- const colon = trimmed.indexOf(`:`);
2012
- if (colon > 0 && PRINCIPAL_KEY_PREFIXES.has(trimmed.slice(0, colon))) return trimmed;
2013
- return `user:${trimmed}`;
2014
- }
2015
2002
  var BuiltinAgentsServer = class {
2016
2003
  bootstrap = null;
2017
2004
  _mcpRegistry = null;
@@ -2162,11 +2149,11 @@ var BuiltinAgentsServer = class {
2162
2149
  claimHeaders: pullWake.claimHeaders,
2163
2150
  claimTokenHeader: pullWake.claimTokenHeader,
2164
2151
  heartbeatIntervalMs: pullWake.heartbeatIntervalMs,
2152
+ eventHeartbeatThrottleMs: pullWake.eventHeartbeatThrottleMs,
2165
2153
  leaseMs: pullWake.leaseMs,
2166
2154
  offset: registeredRunner?.wake_stream_offset,
2167
2155
  onError: (error) => {
2168
2156
  serverLog.error(`[builtin-agents] pull-wake runner failed`, error);
2169
- return true;
2170
2157
  }
2171
2158
  });
2172
2159
  this.pullWakeRunner.start();
@@ -2216,18 +2203,16 @@ var BuiltinAgentsServer = class {
2216
2203
  async registerPullWakeRunner(pullWake) {
2217
2204
  const headers = new Headers(typeof pullWake.headers === `function` ? await pullWake.headers() : pullWake.headers);
2218
2205
  headers.set(`content-type`, `application/json`);
2219
- const ownerUserId = normalizeOwnerUserId(pullWake.ownerUserId);
2220
- const body = {
2221
- id: pullWake.runnerId,
2222
- label: pullWake.label ?? `Built-in agents`,
2223
- kind: `local`,
2224
- admin_status: `enabled`
2225
- };
2226
- if (ownerUserId) body.owner_user_id = ownerUserId;
2227
2206
  const response = await fetch((0, __electric_ax_agents_runtime.appendPathToUrl)(this.options.agentServerUrl, `/_electric/runners`), {
2228
2207
  method: `POST`,
2229
2208
  headers,
2230
- body: JSON.stringify(body)
2209
+ body: JSON.stringify({
2210
+ id: pullWake.runnerId,
2211
+ owner_principal: pullWake.ownerPrincipal,
2212
+ label: pullWake.label ?? `Built-in agents`,
2213
+ kind: `local`,
2214
+ admin_status: `enabled`
2215
+ })
2231
2216
  });
2232
2217
  if (!response.ok) throw new Error(`Failed to register pull-wake runner ${pullWake.runnerId}: ${response.status} ${await response.text()}`);
2233
2218
  return await response.json();
package/dist/index.d.cts CHANGED
@@ -94,13 +94,14 @@ interface BuiltinAgentsServerOptions {
94
94
  /** Pull-wake runner configuration for built-in agents. */
95
95
  pullWake: {
96
96
  runnerId: string;
97
- ownerUserId?: string;
97
+ ownerPrincipal?: string;
98
98
  label?: string;
99
99
  registerRunner?: boolean;
100
100
  headers?: PullWakeRunnerConfig[`headers`];
101
101
  claimHeaders?: PullWakeRunnerConfig[`claimHeaders`];
102
102
  claimTokenHeader?: PullWakeRunnerConfig[`claimTokenHeader`];
103
103
  heartbeatIntervalMs?: PullWakeRunnerConfig[`heartbeatIntervalMs`];
104
+ eventHeartbeatThrottleMs?: PullWakeRunnerConfig[`eventHeartbeatThrottleMs`];
104
105
  leaseMs?: PullWakeRunnerConfig[`leaseMs`];
105
106
  };
106
107
  /** Invoked when an `authorizationCode` server needs user consent. */
package/dist/index.d.ts CHANGED
@@ -94,13 +94,14 @@ interface BuiltinAgentsServerOptions {
94
94
  /** Pull-wake runner configuration for built-in agents. */
95
95
  pullWake: {
96
96
  runnerId: string;
97
- ownerUserId?: string;
97
+ ownerPrincipal?: string;
98
98
  label?: string;
99
99
  registerRunner?: boolean;
100
100
  headers?: PullWakeRunnerConfig[`headers`];
101
101
  claimHeaders?: PullWakeRunnerConfig[`claimHeaders`];
102
102
  claimTokenHeader?: PullWakeRunnerConfig[`claimTokenHeader`];
103
103
  heartbeatIntervalMs?: PullWakeRunnerConfig[`heartbeatIntervalMs`];
104
+ eventHeartbeatThrottleMs?: PullWakeRunnerConfig[`eventHeartbeatThrottleMs`];
104
105
  leaseMs?: PullWakeRunnerConfig[`leaseMs`];
105
106
  };
106
107
  /** Invoked when an `authorizationCode` server needs user consent. */
package/dist/index.js CHANGED
@@ -1945,7 +1945,7 @@ async function createBuiltinAgentHandler(options) {
1945
1945
  subscriptionPathForType: (name) => `/${name}/*/main`,
1946
1946
  defaultDispatchPolicyForType,
1947
1947
  serverHeaders,
1948
- idleTimeout: 5e3,
1948
+ idleTimeout: 5 * 6e4,
1949
1949
  createElectricTools,
1950
1950
  publicUrl,
1951
1951
  name: runtimeName ?? `builtin-agents`
@@ -1975,19 +1975,6 @@ const registerAgentTypes = registerBuiltinAgentTypes;
1975
1975
 
1976
1976
  //#endregion
1977
1977
  //#region src/server.ts
1978
- const PRINCIPAL_KEY_PREFIXES = new Set([
1979
- `user`,
1980
- `agent`,
1981
- `service`,
1982
- `system`
1983
- ]);
1984
- function normalizeOwnerUserId(ownerUserId) {
1985
- const trimmed = ownerUserId?.trim();
1986
- if (!trimmed) return void 0;
1987
- const colon = trimmed.indexOf(`:`);
1988
- if (colon > 0 && PRINCIPAL_KEY_PREFIXES.has(trimmed.slice(0, colon))) return trimmed;
1989
- return `user:${trimmed}`;
1990
- }
1991
1978
  var BuiltinAgentsServer = class {
1992
1979
  bootstrap = null;
1993
1980
  _mcpRegistry = null;
@@ -2138,11 +2125,11 @@ var BuiltinAgentsServer = class {
2138
2125
  claimHeaders: pullWake.claimHeaders,
2139
2126
  claimTokenHeader: pullWake.claimTokenHeader,
2140
2127
  heartbeatIntervalMs: pullWake.heartbeatIntervalMs,
2128
+ eventHeartbeatThrottleMs: pullWake.eventHeartbeatThrottleMs,
2141
2129
  leaseMs: pullWake.leaseMs,
2142
2130
  offset: registeredRunner?.wake_stream_offset,
2143
2131
  onError: (error) => {
2144
2132
  serverLog.error(`[builtin-agents] pull-wake runner failed`, error);
2145
- return true;
2146
2133
  }
2147
2134
  });
2148
2135
  this.pullWakeRunner.start();
@@ -2192,18 +2179,16 @@ var BuiltinAgentsServer = class {
2192
2179
  async registerPullWakeRunner(pullWake) {
2193
2180
  const headers = new Headers(typeof pullWake.headers === `function` ? await pullWake.headers() : pullWake.headers);
2194
2181
  headers.set(`content-type`, `application/json`);
2195
- const ownerUserId = normalizeOwnerUserId(pullWake.ownerUserId);
2196
- const body = {
2197
- id: pullWake.runnerId,
2198
- label: pullWake.label ?? `Built-in agents`,
2199
- kind: `local`,
2200
- admin_status: `enabled`
2201
- };
2202
- if (ownerUserId) body.owner_user_id = ownerUserId;
2203
2182
  const response = await fetch(appendPathToUrl(this.options.agentServerUrl, `/_electric/runners`), {
2204
2183
  method: `POST`,
2205
2184
  headers,
2206
- body: JSON.stringify(body)
2185
+ body: JSON.stringify({
2186
+ id: pullWake.runnerId,
2187
+ owner_principal: pullWake.ownerPrincipal,
2188
+ label: pullWake.label ?? `Built-in agents`,
2189
+ kind: `local`,
2190
+ admin_status: `enabled`
2191
+ })
2207
2192
  });
2208
2193
  if (!response.ok) throw new Error(`Failed to register pull-wake runner ${pullWake.runnerId}: ${response.status} ${await response.text()}`);
2209
2194
  return await response.json();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@electric-ax/agents",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Built-in Electric Agents runtimes such as Horton and worker",
5
5
  "repository": {
6
6
  "type": "git",
@@ -49,7 +49,7 @@
49
49
  "sqlite-vec": "^0.1.9",
50
50
  "zod": "^4.3.6",
51
51
  "@electric-ax/agents-mcp": "0.2.2",
52
- "@electric-ax/agents-runtime": "0.2.1"
52
+ "@electric-ax/agents-runtime": "0.2.2"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/better-sqlite3": "^7.6.13",