@relaycast/engine 8.1.0 → 8.1.1

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.
@@ -1,10 +1,16 @@
1
- import { and, eq, inArray } from 'drizzle-orm';
1
+ import { and, eq, inArray, or } from 'drizzle-orm';
2
2
  import { agents, agentNodeBindings, channelMembers, nodes } from '../db/schema.js';
3
3
  import { toFleetWireJson } from './deliveryWire.js';
4
4
  import { postEphemeralEventToHttpPushNode, strictHttpPushDispatch } from './httpPushDispatch.js';
5
5
  // Node kinds eligible for context updates: WebSocket nodes receive a pushed
6
6
  // `context.update` frame; http_push nodes receive a best-effort POST.
7
7
  const CONTEXT_NODE_KINDS = ['ws', 'fleet_ws', 'direct_ws', 'http_push'];
8
+ // workspace/status/kind predicates add six bindings, so 80 agent ids leave
9
+ // comfortable room below D1's 100-bound-parameter limit.
10
+ const AGENT_CONTEXT_QUERY_CHUNK_SIZE = 80;
11
+ // A cross-workspace target can bind both workspace and agent id. Forty worst-
12
+ // case one-agent workspaces plus the status/kind predicates use 85 bindings.
13
+ const AGENT_CONTEXT_EVENT_QUERY_CHUNK_SIZE = 40;
8
14
  function normalizeDeliveryAdapter(adapter, nodeKind) {
9
15
  if (adapter === 'fleet.ws.v1' || adapter === 'direct.ws.v1')
10
16
  return 'ws.node.v1';
@@ -129,28 +135,91 @@ export async function sendNodePresenceContext(deps, args) {
129
135
  data: args.data,
130
136
  });
131
137
  }
138
+ async function listNodeContextRowsForAgents(deps, agentIds) {
139
+ const rows = [];
140
+ for (let offset = 0; offset < agentIds.length; offset += AGENT_CONTEXT_QUERY_CHUNK_SIZE) {
141
+ const chunk = agentIds.slice(offset, offset + AGENT_CONTEXT_QUERY_CHUNK_SIZE);
142
+ rows.push(...await deps.db
143
+ .select({
144
+ nodeId: agentNodeBindings.nodeId,
145
+ agentId: agentNodeBindings.agentId,
146
+ nodeKind: nodes.kind,
147
+ nodeRole: nodes.role,
148
+ providerName: agents.providerName,
149
+ deliveryAdapter: nodes.deliveryAdapter,
150
+ deliveryConfig: nodes.deliveryConfig,
151
+ })
152
+ .from(agentNodeBindings)
153
+ .innerJoin(agents, and(eq(agents.workspaceId, deps.workspaceId), eq(agents.id, agentNodeBindings.agentId), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
154
+ .innerJoin(nodes, and(eq(nodes.workspaceId, deps.workspaceId), eq(nodes.id, agentNodeBindings.nodeId)))
155
+ .where(and(eq(agentNodeBindings.workspaceId, deps.workspaceId), eq(agentNodeBindings.status, 'active'), inArray(agentNodeBindings.agentId, chunk), inArray(nodes.kind, CONTEXT_NODE_KINDS))));
156
+ }
157
+ return rows;
158
+ }
132
159
  export async function sendNodeContextToAgents(deps, args) {
133
160
  const uniqueAgentIds = [...new Set(args.agentIds)].filter((id) => id.length > 0);
134
161
  if (uniqueAgentIds.length === 0)
135
162
  return;
136
- const rows = await deps.db
137
- .select({
138
- nodeId: agentNodeBindings.nodeId,
139
- agentId: agentNodeBindings.agentId,
140
- nodeKind: nodes.kind,
141
- nodeRole: nodes.role,
142
- providerName: agents.providerName,
143
- deliveryAdapter: nodes.deliveryAdapter,
144
- deliveryConfig: nodes.deliveryConfig,
145
- })
146
- .from(agentNodeBindings)
147
- .innerJoin(agents, and(eq(agents.workspaceId, deps.workspaceId), eq(agents.id, agentNodeBindings.agentId), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
148
- .innerJoin(nodes, and(eq(nodes.workspaceId, deps.workspaceId), eq(nodes.id, agentNodeBindings.nodeId)))
149
- .where(and(eq(agentNodeBindings.workspaceId, deps.workspaceId), eq(agentNodeBindings.status, 'active'), inArray(agentNodeBindings.agentId, uniqueAgentIds), inArray(nodes.kind, CONTEXT_NODE_KINDS)));
163
+ const rows = await listNodeContextRowsForAgents(deps, uniqueAgentIds);
150
164
  await sendContextToRows(deps, rows, {
151
165
  topic: 'agent',
152
166
  event: args.event,
153
167
  data: args.data,
154
168
  });
155
169
  }
170
+ /**
171
+ * Send many agent-scoped context events after resolving all target bindings in
172
+ * bounded queries. External sends remain serialized per event, preserving the
173
+ * existing best-effort behavior without multiplying D1 reads by event count.
174
+ */
175
+ export async function sendNodeContextEventsToAgents(deps, events) {
176
+ const targets = [...new Map(events
177
+ .filter((event) => event.workspaceId.length > 0 && event.agentId.length > 0)
178
+ .map((event) => [
179
+ JSON.stringify([event.workspaceId, event.agentId]),
180
+ { workspaceId: event.workspaceId, agentId: event.agentId },
181
+ ])).values()];
182
+ if (targets.length === 0)
183
+ return;
184
+ const rowsByTarget = new Map();
185
+ for (let offset = 0; offset < targets.length; offset += AGENT_CONTEXT_EVENT_QUERY_CHUNK_SIZE) {
186
+ const chunk = targets.slice(offset, offset + AGENT_CONTEXT_EVENT_QUERY_CHUNK_SIZE);
187
+ const agentsByWorkspace = new Map();
188
+ for (const target of chunk) {
189
+ const agentIds = agentsByWorkspace.get(target.workspaceId) ?? [];
190
+ agentIds.push(target.agentId);
191
+ agentsByWorkspace.set(target.workspaceId, agentIds);
192
+ }
193
+ const scopes = [...agentsByWorkspace].map(([workspaceId, agentIds]) => and(eq(agentNodeBindings.workspaceId, workspaceId), inArray(agentNodeBindings.agentId, agentIds)));
194
+ const rows = await deps.db
195
+ .select({
196
+ workspaceId: agentNodeBindings.workspaceId,
197
+ nodeId: agentNodeBindings.nodeId,
198
+ agentId: agentNodeBindings.agentId,
199
+ nodeKind: nodes.kind,
200
+ nodeRole: nodes.role,
201
+ providerName: agents.providerName,
202
+ deliveryAdapter: nodes.deliveryAdapter,
203
+ deliveryConfig: nodes.deliveryConfig,
204
+ })
205
+ .from(agentNodeBindings)
206
+ .innerJoin(agents, and(eq(agents.workspaceId, agentNodeBindings.workspaceId), eq(agents.id, agentNodeBindings.agentId), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
207
+ .innerJoin(nodes, and(eq(nodes.workspaceId, agentNodeBindings.workspaceId), eq(nodes.id, agentNodeBindings.nodeId)))
208
+ .where(and(eq(agentNodeBindings.status, 'active'), inArray(nodes.kind, CONTEXT_NODE_KINDS), or(...scopes)));
209
+ for (const row of rows) {
210
+ const key = JSON.stringify([row.workspaceId, row.agentId]);
211
+ const targetRows = rowsByTarget.get(key) ?? [];
212
+ targetRows.push(row);
213
+ rowsByTarget.set(key, targetRows);
214
+ }
215
+ }
216
+ for (const event of events) {
217
+ const key = JSON.stringify([event.workspaceId, event.agentId]);
218
+ await sendContextToRows({ ...deps, workspaceId: event.workspaceId }, rowsByTarget.get(key) ?? [], {
219
+ topic: 'agent',
220
+ event: event.event,
221
+ data: event.data,
222
+ });
223
+ }
224
+ }
156
225
  //# sourceMappingURL=nodeContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeContext.js","sourceRoot":"","sources":["../../src/engine/nodeContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeContext.js","sourceRoot":"","sources":["../../src/engine/nodeContext.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,10 @@ export interface WorkspaceEventRecord {
16
16
  payload: Record<string, unknown>;
17
17
  created_at: string;
18
18
  }
19
+ export interface ScopedWorkspaceEventInput {
20
+ workspaceId: string;
21
+ input: WorkspaceEventInput;
22
+ }
19
23
  /**
20
24
  * Append one event to the durable workspace event log. `seq` is per-workspace
21
25
  * monotonic from 1, assigned inside the INSERT itself (same pattern as the
@@ -28,6 +32,14 @@ export interface WorkspaceEventRecord {
28
32
  * @returns The assigned seq, or `null` when the append failed.
29
33
  */
30
34
  export declare function appendWorkspaceEvent(db: EngineDb, workspaceId: string, input: WorkspaceEventInput): Promise<number | null>;
35
+ /**
36
+ * Append several events with one monotonic sequence allocation per SQL batch.
37
+ * The MAX(seq) read and all inserts live in the same statement, so concurrent
38
+ * appenders cannot reserve the same sequence range. Results align with inputs;
39
+ * a failed batch is represented by nulls and does not stop later batches.
40
+ */
41
+ export declare function appendWorkspaceEventBatch(db: EngineDb, inputs: readonly ScopedWorkspaceEventInput[]): Promise<Array<number | null>>;
42
+ export declare function appendWorkspaceEvents(db: EngineDb, workspaceId: string, inputs: readonly WorkspaceEventInput[]): Promise<Array<number | null>>;
31
43
  /**
32
44
  * List workspace events with `seq > since`, ordered by seq ascending.
33
45
  * `latestSeq` is `MAX(seq)` for the workspace (0 when the log is empty), so
@@ -57,5 +69,15 @@ export declare function appendAndPublishWorkspaceEvent(deps: {
57
69
  db: EngineDb;
58
70
  realtime: WorkspaceStreamPublisher;
59
71
  }, workspaceId: string, input: WorkspaceEventInput, onPublishError?: (err: unknown) => void): Promise<void>;
72
+ /** Batch form used by bounded maintenance jobs to stay under D1 query limits. */
73
+ export declare function appendAndPublishWorkspaceEvents(deps: {
74
+ db: EngineDb;
75
+ realtime: WorkspaceStreamPublisher;
76
+ }, workspaceId: string, inputs: readonly WorkspaceEventInput[], onPublishError?: (err: unknown) => void): Promise<void>;
77
+ /** Batch form that can append and publish events across several workspaces. */
78
+ export declare function appendAndPublishWorkspaceEventBatch(deps: {
79
+ db: EngineDb;
80
+ realtime: WorkspaceStreamPublisher;
81
+ }, events: readonly ScopedWorkspaceEventInput[], onPublishError?: (err: unknown) => void): Promise<void>;
60
82
  export {};
61
83
  //# sourceMappingURL=workspaceEvents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceEvents.d.ts","sourceRoot":"","sources":["../../src/engine/workspaceEvents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,yDAAyD;AACzD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,qDAAqD;AACrD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qGAAqG;IACrG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBxB;AAcD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5C,OAAO,CAAC;IAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BhE;AAED,UAAU,wBAAwB;IAChC,wBAAwB,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxG;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,EAC1D,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mBAAmB,EAC1B,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GACtC,OAAO,CAAC,IAAI,CAAC,CAQf"}
1
+ {"version":3,"file":"workspaceEvents.d.ts","sourceRoot":"","sources":["../../src/engine/workspaceEvents.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import { workspaceEvents } from '../db/schema.js';
4
4
  export const WORKSPACE_EVENT_LIST_DEFAULT_LIMIT = 200;
5
5
  /** Max page size for {@link listWorkspaceEvents}. */
6
6
  export const WORKSPACE_EVENT_LIST_MAX_LIMIT = 500;
7
+ // Each VALUES row binds workspace_id, type, channel_id, and payload. Twenty-four
8
+ // rows use 96 bindings, below D1's 100-bound-parameter ceiling, while allowing
9
+ // one maintenance statement to append events for many workspaces.
10
+ const WORKSPACE_EVENT_APPEND_BATCH_SIZE = 24;
7
11
  function nextSeqSql(workspaceId) {
8
12
  return sql `(
9
13
  SELECT COALESCE(MAX(we.seq), 0) + 1
@@ -45,6 +49,83 @@ export async function appendWorkspaceEvent(db, workspaceId, input) {
45
49
  return null;
46
50
  }
47
51
  }
52
+ /**
53
+ * Append several events with one monotonic sequence allocation per SQL batch.
54
+ * The MAX(seq) read and all inserts live in the same statement, so concurrent
55
+ * appenders cannot reserve the same sequence range. Results align with inputs;
56
+ * a failed batch is represented by nulls and does not stop later batches.
57
+ */
58
+ export async function appendWorkspaceEventBatch(db, inputs) {
59
+ const assigned = [];
60
+ for (let offset = 0; offset < inputs.length; offset += WORKSPACE_EVENT_APPEND_BATCH_SIZE) {
61
+ const batch = inputs.slice(offset, offset + WORKSPACE_EVENT_APPEND_BATCH_SIZE);
62
+ const values = sql.join(batch.map((event, index) => sql `(
63
+ ${sql.raw(String(index))},
64
+ ${event.workspaceId},
65
+ ${event.input.type},
66
+ ${event.input.channelId ?? null},
67
+ ${JSON.stringify(event.input.payload)}
68
+ )`), sql `, `);
69
+ try {
70
+ const rows = await db.all(sql `
71
+ WITH
72
+ input_events(global_ord, workspace_id, type, channel_id, payload) AS (VALUES ${values}),
73
+ ranked AS (
74
+ SELECT
75
+ input_events.*,
76
+ ROW_NUMBER() OVER (
77
+ PARTITION BY input_events.workspace_id
78
+ ORDER BY input_events.global_ord
79
+ ) AS workspace_ord
80
+ FROM input_events
81
+ ),
82
+ bases AS (
83
+ SELECT
84
+ workspaces.workspace_id,
85
+ COALESCE(MAX(we.seq), 0) AS base_seq
86
+ FROM (SELECT DISTINCT workspace_id FROM input_events) workspaces
87
+ LEFT JOIN workspace_events we ON we.workspace_id = workspaces.workspace_id
88
+ GROUP BY workspaces.workspace_id
89
+ )
90
+ INSERT INTO workspace_events (workspace_id, seq, type, channel_id, payload)
91
+ SELECT
92
+ ranked.workspace_id,
93
+ bases.base_seq + ranked.workspace_ord,
94
+ ranked.type,
95
+ ranked.channel_id,
96
+ ranked.payload
97
+ FROM ranked
98
+ INNER JOIN bases ON bases.workspace_id = ranked.workspace_id
99
+ ORDER BY ranked.global_ord
100
+ RETURNING workspace_id, seq
101
+ `);
102
+ if ((rows ?? []).length !== batch.length) {
103
+ throw new Error(`expected ${batch.length} appended events, received ${(rows ?? []).length}`);
104
+ }
105
+ const seqsByWorkspace = new Map();
106
+ for (const row of rows ?? []) {
107
+ const seqs = seqsByWorkspace.get(row.workspace_id) ?? [];
108
+ seqs.push(row.seq);
109
+ seqsByWorkspace.set(row.workspace_id, seqs);
110
+ }
111
+ for (const seqs of seqsByWorkspace.values())
112
+ seqs.sort((a, b) => a - b);
113
+ assigned.push(...batch.map((event) => seqsByWorkspace.get(event.workspaceId)?.shift() ?? null));
114
+ }
115
+ catch (err) {
116
+ console.warn('[workspace.events] batch append failed', {
117
+ workspace_count: new Set(batch.map((event) => event.workspaceId)).size,
118
+ event_count: batch.length,
119
+ error: err instanceof Error ? err.message : String(err),
120
+ });
121
+ assigned.push(...batch.map(() => null));
122
+ }
123
+ }
124
+ return assigned;
125
+ }
126
+ export async function appendWorkspaceEvents(db, workspaceId, inputs) {
127
+ return appendWorkspaceEventBatch(db, inputs.map((input) => ({ workspaceId, input })));
128
+ }
48
129
  function parsePayload(raw) {
49
130
  try {
50
131
  const parsed = JSON.parse(raw);
@@ -105,4 +186,23 @@ export async function appendAndPublishWorkspaceEvent(deps, workspaceId, input, o
105
186
  onPublishError?.(err);
106
187
  }
107
188
  }
189
+ /** Batch form used by bounded maintenance jobs to stay under D1 query limits. */
190
+ export async function appendAndPublishWorkspaceEvents(deps, workspaceId, inputs, onPublishError) {
191
+ await appendAndPublishWorkspaceEventBatch(deps, inputs.map((input) => ({ workspaceId, input })), onPublishError);
192
+ }
193
+ /** Batch form that can append and publish events across several workspaces. */
194
+ export async function appendAndPublishWorkspaceEventBatch(deps, events, onPublishError) {
195
+ const seqs = await appendWorkspaceEventBatch(deps.db, events);
196
+ for (let index = 0; index < events.length; index++) {
197
+ const { workspaceId, input } = events[index];
198
+ const seq = seqs[index];
199
+ const event = seq == null ? input.payload : { ...input.payload, seq };
200
+ try {
201
+ await deps.realtime.publishToWorkspaceStream({ workspaceId, event });
202
+ }
203
+ catch (err) {
204
+ onPublishError?.(err);
205
+ }
206
+ }
207
+ }
108
208
  //# sourceMappingURL=workspaceEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceEvents.js","sourceRoot":"","sources":["../../src/engine/workspaceEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceEvents.js","sourceRoot":"","sources":["../../src/engine/workspaceEvents.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { AppEnv } from '../env.js';
3
3
  import type { DeliveryFanoutRecord, DeliveryRejectionRecord } from '../engine/deliveryWrites.js';
4
4
  import { type EngineDeps } from '../ports/index.js';
5
5
  type HonoContext = Context<AppEnv>;
6
+ export declare const DELIVERY_EXPIRY_MAX_BATCHES = 50;
6
7
  export declare function routeDeliveryOutcomes(c: HonoContext, deliveries: DeliveryFanoutRecord[], eventType: string, eventData: Record<string, unknown>, opts?: {
7
8
  workspaceId?: string;
8
9
  }): Promise<void>;
@@ -31,13 +32,14 @@ export declare function sweepDueNodeDeliveries(engine: EngineDeps, opts?: {
31
32
  */
32
33
  export declare const sweepDueHttpPushDeliveries: typeof sweepDueNodeDeliveries;
33
34
  /**
34
- * Scheduled TTL expiry maintenance. Each workspace advances by at most one
35
- * D1-safe delivery batch per invocation; adapters call this on a cadence rather
36
- * than coupling mailbox reads to cleanup work.
35
+ * Scheduled TTL expiry maintenance. One invocation advances through a bounded
36
+ * number of small D1-safe statements, then batches the best-effort failure
37
+ * fanout so increasing the drain rate does not multiply D1 reads per notice.
37
38
  */
38
39
  export declare function sweepExpiredDeliveries(engine: EngineDeps, opts?: {
39
40
  workspaceId?: string;
40
41
  now?: Date;
42
+ maxBatches?: number;
41
43
  }): Promise<number>;
42
44
  export declare function notifyDeliveryRejections(c: HonoContext, senderAgentId: string, rejections: DeliveryRejectionRecord[]): Promise<void>;
43
45
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"deliveryRouting.d.ts","sourceRoot":"","sources":["../../src/routes/deliveryRouting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAGvD,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAA+C,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIjG,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AA6enC,wBAAsB,qBAAqB,CACzC,CAAC,EAAE,WAAW,EACd,UAAU,EAAE,oBAAoB,EAAE,EAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,IAAI,CAAC,CAEf;AA4CD;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9D,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,+BAAyB,CAAC;AAoBjE;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GAC9C,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,wBAAwB,CAC5C,CAAC,EAAE,WAAW,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,uBAAuB,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAaf"}
1
+ {"version":3,"file":"deliveryRouting.d.ts","sourceRoot":"","sources":["../../src/routes/deliveryRouting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAGvD,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAA+C,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIjG,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAsBnC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AA2d9C,wBAAsB,qBAAqB,CACzC,CAAC,EAAE,WAAW,EACd,UAAU,EAAE,oBAAoB,EAAE,EAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,IAAI,CAAC,CAEf;AA4CD;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9D,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,+BAAyB,CAAC;AAoDjE;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACnE,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,wBAAwB,CAC5C,CAAC,EAAE,WAAW,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,uBAAuB,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -7,9 +7,13 @@ import { isSafeExternalUrl } from '../lib/ssrf.js';
7
7
  import { transformForClient } from '../engine/wsTransform.js';
8
8
  import { isProviderAgentDeliveryReady } from '../ports/index.js';
9
9
  import { fanoutToAgents } from './fanout.js';
10
- import { sendNodeContextToAgents } from '../engine/nodeContext.js';
11
- import { appendAndPublishWorkspaceEvent } from '../engine/workspaceEvents.js';
10
+ import { sendNodeContextEventsToAgents, sendNodeContextToAgents } from '../engine/nodeContext.js';
11
+ import { appendAndPublishWorkspaceEvent, appendAndPublishWorkspaceEventBatch } from '../engine/workspaceEvents.js';
12
12
  const DISPATCH_RETRY_DELAY_MS = 30_000;
13
+ // Fifty 50-row statements expire at most 2,500 deliveries per invocation.
14
+ // On a */5 schedule that is 720,000/day: above the measured 519,000/day peak
15
+ // while each UPDATE remains well below D1's 100-bound-parameter ceiling.
16
+ export const DELIVERY_EXPIRY_MAX_BATCHES = 50;
13
17
  function routingContextFromHono(c, workspaceIdOverride) {
14
18
  const workspaceId = workspaceIdOverride ?? c.get('workspace')?.id;
15
19
  if (!workspaceId) {
@@ -450,9 +454,13 @@ export async function sweepDueNodeDeliveries(engine, opts = {}) {
450
454
  * name; delete once that host migrates.
451
455
  */
452
456
  export const sweepDueHttpPushDeliveries = sweepDueNodeDeliveries;
453
- async function notifyDeliveryFailuresForContext(ctx, notices) {
454
- for (const notice of notices) {
455
- await fanoutToAgentsForContext(ctx, [notice.sender_agent_id], 'delivery.failed', {
457
+ async function notifyDeliveryFailures(engine, notices) {
458
+ if (notices.length === 0)
459
+ return;
460
+ const notifications = notices.map((notice) => ({
461
+ workspaceId: notice.workspace_id,
462
+ agentId: notice.sender_agent_id,
463
+ data: {
456
464
  delivery_id: notice.delivery_id,
457
465
  message_id: notice.message_id,
458
466
  target_agent_id: notice.target_agent_id,
@@ -461,27 +469,54 @@ async function notifyDeliveryFailuresForContext(ctx, notices) {
461
469
  reason: notice.reason,
462
470
  error: notice.error,
463
471
  retryable: notice.retryable,
464
- });
465
- }
472
+ },
473
+ }));
474
+ const inputs = notifications.map((notification) => {
475
+ const payload = transformForClient(buildEvent('delivery.failed', notification.workspaceId, notification.data));
476
+ return {
477
+ workspaceId: notification.workspaceId,
478
+ input: { type: 'delivery.failed', payload },
479
+ };
480
+ });
481
+ await Promise.allSettled([
482
+ appendAndPublishWorkspaceEventBatch({ db: engine.db, realtime: engine.realtime }, inputs),
483
+ sendNodeContextEventsToAgents({
484
+ db: engine.db,
485
+ nodeConnections: engine.nodeConnections,
486
+ realtime: engine.realtime,
487
+ environment: engine.config?.environment,
488
+ httpPushProxy: engine.config?.httpPushProxy,
489
+ }, notifications.map((notification) => ({
490
+ workspaceId: notification.workspaceId,
491
+ agentId: notification.agentId,
492
+ event: 'delivery.failed',
493
+ data: notification.data,
494
+ }))),
495
+ ]);
466
496
  }
467
497
  /**
468
- * Scheduled TTL expiry maintenance. Each workspace advances by at most one
469
- * D1-safe delivery batch per invocation; adapters call this on a cadence rather
470
- * than coupling mailbox reads to cleanup work.
498
+ * Scheduled TTL expiry maintenance. One invocation advances through a bounded
499
+ * number of small D1-safe statements, then batches the best-effort failure
500
+ * fanout so increasing the drain rate does not multiply D1 reads per notice.
471
501
  */
472
502
  export async function sweepExpiredDeliveries(engine, opts = {}) {
473
503
  const now = opts.now ?? new Date();
474
- const notices = await deliveryEngine.expireDueDeliveries(engine.db, opts.workspaceId, now);
475
- const byWorkspace = new Map();
476
- for (const notice of notices) {
477
- const workspaceNotices = byWorkspace.get(notice.workspace_id) ?? [];
478
- workspaceNotices.push(notice);
479
- byWorkspace.set(notice.workspace_id, workspaceNotices);
480
- }
481
- for (const [workspaceId, workspaceNotices] of byWorkspace) {
482
- await notifyDeliveryFailuresForContext({ db: engine.db, workspaceId, engine }, workspaceNotices);
504
+ const requestedMaxBatches = opts.maxBatches ?? DELIVERY_EXPIRY_MAX_BATCHES;
505
+ const maxBatches = Number.isFinite(requestedMaxBatches)
506
+ ? Math.min(Math.max(Math.floor(requestedMaxBatches), 1), DELIVERY_EXPIRY_MAX_BATCHES)
507
+ : DELIVERY_EXPIRY_MAX_BATCHES;
508
+ let expiredCount = 0;
509
+ for (let batchNumber = 0; batchNumber < maxBatches; batchNumber++) {
510
+ const batch = await deliveryEngine.expireDueDeliveryBatch(engine.db, opts.workspaceId, now);
511
+ expiredCount += batch.expiredCount;
512
+ // Flush every committed batch before another state transition can fail.
513
+ // Otherwise a later D1 error would strand already-dead-lettered rows with
514
+ // notices held only in this invocation's memory.
515
+ await notifyDeliveryFailures(engine, batch.notices);
516
+ if (batch.expiredCount < deliveryEngine.DELIVERY_EXPIRY_BATCH_SIZE)
517
+ break;
483
518
  }
484
- return notices.length;
519
+ return expiredCount;
485
520
  }
486
521
  export async function notifyDeliveryRejections(c, senderAgentId, rejections) {
487
522
  if (rejections.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"deliveryRouting.js","sourceRoot":"","sources":["../../src/routes/deliveryRouting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deliveryRouting.js","sourceRoot":"","sources":["../../src/routes/deliveryRouting.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relaycast/engine",
3
- "version": "8.1.0",
3
+ "version": "8.1.1",
4
4
  "type": "module",
5
5
  "description": "Portable, platform-agnostic engine for Relaycast — channels, threads, DMs, presence, real-time events. Runs on Node + SQLite (self-host) or behind a Cloudflare Durable Object adapter (hosted).",
6
6
  "bin": {
@@ -59,8 +59,8 @@
59
59
  },
60
60
  "dependencies": {
61
61
  "@hono/node-server": "^1.13.7",
62
- "@relaycast/a2a": "8.1.0",
63
- "@relaycast/types": "8.1.0",
62
+ "@relaycast/a2a": "8.1.1",
63
+ "@relaycast/types": "8.1.1",
64
64
  "better-sqlite3": "^11.10.0",
65
65
  "drizzle-orm": "^0.45.1",
66
66
  "hono": "^4.11.9",