@relaycast/engine 8.9.1 → 8.10.0
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.
- package/dist/adapters/node/index.d.ts.map +1 -1
- package/dist/adapters/node/index.js +6 -0
- package/dist/adapters/node/index.js.map +1 -1
- package/dist/db/migrations/0057_a2a_egress.sql +20 -0
- package/dist/db/migrations/0058_a2a_egress_context.sql +8 -0
- package/dist/db/migrations/0059_a2a_inbound_admission.sql +26 -0
- package/dist/db/schema.d.ts +603 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +34 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/engine/a2a.d.ts +4 -1
- package/dist/engine/a2a.d.ts.map +1 -1
- package/dist/engine/a2a.js +43 -6
- package/dist/engine/a2a.js.map +1 -1
- package/dist/engine/a2aEgress.d.ts +19 -0
- package/dist/engine/a2aEgress.d.ts.map +1 -0
- package/dist/engine/a2aEgress.js +118 -0
- package/dist/engine/a2aEgress.js.map +1 -0
- package/dist/engine/delivery.d.ts +2 -0
- package/dist/engine/delivery.d.ts.map +1 -1
- package/dist/engine/delivery.js +16 -1
- package/dist/engine/delivery.js.map +1 -1
- package/dist/engine/deliveryWire.d.ts.map +1 -1
- package/dist/engine/deliveryWire.js +1 -1
- package/dist/engine/deliveryWire.js.map +1 -1
- package/dist/engine/deliveryWrites.d.ts +9 -0
- package/dist/engine/deliveryWrites.d.ts.map +1 -1
- package/dist/engine/deliveryWrites.js +70 -19
- package/dist/engine/deliveryWrites.js.map +1 -1
- package/dist/engine/dm.d.ts +47 -8
- package/dist/engine/dm.d.ts.map +1 -1
- package/dist/engine/dm.js +239 -42
- package/dist/engine/dm.js.map +1 -1
- package/dist/engine/groupDm.d.ts +2 -0
- package/dist/engine/groupDm.d.ts.map +1 -1
- package/dist/engine/groupDm.js +2 -1
- package/dist/engine/groupDm.js.map +1 -1
- package/dist/engine/inboundWebhook.d.ts +3 -0
- package/dist/engine/inboundWebhook.d.ts.map +1 -1
- package/dist/engine/inboundWebhook.js +7 -1
- package/dist/engine/inboundWebhook.js.map +1 -1
- package/dist/engine/message.d.ts +2 -0
- package/dist/engine/message.d.ts.map +1 -1
- package/dist/engine/message.js +2 -1
- package/dist/engine/message.js.map +1 -1
- package/dist/engine/node.d.ts +2 -2
- package/dist/engine/thread.d.ts +2 -0
- package/dist/engine/thread.d.ts.map +1 -1
- package/dist/engine/thread.js +3 -1
- package/dist/engine/thread.js.map +1 -1
- package/dist/engine/workspaceDeliveryPolicy.d.ts +91 -0
- package/dist/engine/workspaceDeliveryPolicy.d.ts.map +1 -0
- package/dist/engine/workspaceDeliveryPolicy.js +130 -0
- package/dist/engine/workspaceDeliveryPolicy.js.map +1 -0
- package/dist/engine/workspaceEvents.d.ts +120 -0
- package/dist/engine/workspaceEvents.d.ts.map +1 -1
- package/dist/engine/workspaceEvents.js +8 -10
- package/dist/engine/workspaceEvents.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/httpError.d.ts +1 -1
- package/dist/lib/httpError.d.ts.map +1 -1
- package/dist/lib/httpError.js +2 -0
- package/dist/lib/httpError.js.map +1 -1
- package/dist/lib/httpResponse.d.ts +6 -6
- package/dist/middleware/idempotency.d.ts +15 -10
- package/dist/middleware/idempotency.d.ts.map +1 -1
- package/dist/middleware/idempotency.js +9 -9
- package/dist/middleware/idempotency.js.map +1 -1
- package/dist/ports/database.d.ts +4 -20
- package/dist/ports/database.d.ts.map +1 -1
- package/dist/ports/database.js +28 -7
- package/dist/ports/database.js.map +1 -1
- package/dist/ports/index.d.ts +9 -0
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/workspaceDelivery.d.ts +31 -0
- package/dist/ports/workspaceDelivery.d.ts.map +1 -0
- package/dist/ports/workspaceDelivery.js +2 -0
- package/dist/ports/workspaceDelivery.js.map +1 -0
- package/dist/routes/a2a.d.ts.map +1 -1
- package/dist/routes/a2a.js +162 -26
- package/dist/routes/a2a.js.map +1 -1
- package/dist/routes/delivery.d.ts.map +1 -1
- package/dist/routes/delivery.js +15 -4
- package/dist/routes/delivery.js.map +1 -1
- package/dist/routes/deliveryRouting.d.ts +1 -1
- package/dist/routes/deliveryRouting.d.ts.map +1 -1
- package/dist/routes/deliveryRouting.js +8 -7
- package/dist/routes/deliveryRouting.js.map +1 -1
- package/dist/routes/dm.d.ts.map +1 -1
- package/dist/routes/dm.js +27 -8
- package/dist/routes/dm.js.map +1 -1
- package/dist/routes/fanout.d.ts +1 -1
- package/dist/routes/fanout.d.ts.map +1 -1
- package/dist/routes/fanout.js +2 -2
- package/dist/routes/fanout.js.map +1 -1
- package/dist/routes/groupDm.d.ts.map +1 -1
- package/dist/routes/groupDm.js +3 -2
- package/dist/routes/groupDm.js.map +1 -1
- package/dist/routes/inboundWebhook.d.ts.map +1 -1
- package/dist/routes/inboundWebhook.js +5 -1
- package/dist/routes/inboundWebhook.js.map +1 -1
- package/dist/routes/message.d.ts.map +1 -1
- package/dist/routes/message.js +3 -1
- package/dist/routes/message.js.map +1 -1
- package/dist/routes/relayfileInbound.d.ts.map +1 -1
- package/dist/routes/relayfileInbound.js +9 -3
- package/dist/routes/relayfileInbound.js.map +1 -1
- package/dist/routes/thread.d.ts.map +1 -1
- package/dist/routes/thread.js +3 -1
- package/dist/routes/thread.js.map +1 -1
- package/package.json +5 -4
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { and, eq, isNull, ne, or, sql, inArray } from 'drizzle-orm';
|
|
1
|
+
import { and, eq, isNull, ne, or, sql, inArray, getTableColumns } from 'drizzle-orm';
|
|
2
2
|
import { agentNodeBindings, agents, channelMembers, deliveries, dmParticipants, nodes, } from '../db/schema.js';
|
|
3
|
+
import { workspaceActiveDepthSql, workspaceGrowthLimit, } from './workspaceDeliveryPolicy.js';
|
|
3
4
|
function deliveryId(messageId, agentId) {
|
|
4
5
|
return sql `'del_' || ${messageId} || '_' || ${agentId}`;
|
|
5
6
|
}
|
|
@@ -16,8 +17,26 @@ function channelMuteDeliveryFilter(mentionHandles) {
|
|
|
16
17
|
}
|
|
17
18
|
return or(eq(channelMembers.isMuted, false), inArray(agents.name, mentionHandles));
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
/** Materialize the exact rows that will be inserted, including routing, mute,
|
|
21
|
+
* mailbox, and duplicate filters. Admission and insertion share this snapshot;
|
|
22
|
+
* neither re-evaluates recipient membership after sequence triggers run.
|
|
23
|
+
*/
|
|
24
|
+
function deliveryAdmissionSelect(workspaceId, policy, audience) {
|
|
25
|
+
return (query) => {
|
|
26
|
+
if (!policy)
|
|
27
|
+
return query.getSQL();
|
|
28
|
+
const columns = Object.values(getTableColumns(deliveries));
|
|
29
|
+
const names = sql.join(columns.map(column => sql.identifier(column.name)), sql `, `);
|
|
30
|
+
const values = sql.join(columns.map(column => column.name === 'status'
|
|
31
|
+
? sql `CASE WHEN capacity_admission.allowed THEN capacity_candidates.status ELSE NULL END`
|
|
32
|
+
: sql `capacity_candidates.${sql.identifier(column.name)}`), sql `, `);
|
|
33
|
+
const limit = workspaceGrowthLimit(policy, audience);
|
|
34
|
+
return sql `WITH capacity_candidates (${names}) AS MATERIALIZED (${query.getSQL()}),
|
|
35
|
+
capacity_admission AS MATERIALIZED (
|
|
36
|
+
SELECT (${workspaceActiveDepthSql(workspaceId)} + (SELECT COUNT(*) FROM capacity_candidates)) <= ${limit} AS allowed
|
|
37
|
+
)
|
|
38
|
+
SELECT ${values} FROM capacity_candidates CROSS JOIN capacity_admission WHERE 1`;
|
|
39
|
+
};
|
|
21
40
|
}
|
|
22
41
|
function ttlSeconds(ttlMs) {
|
|
23
42
|
return Math.max(1, Math.ceil(ttlMs / 1000));
|
|
@@ -50,27 +69,53 @@ function belowDepthCapSql(workspaceId, agentId, depthCap) {
|
|
|
50
69
|
)
|
|
51
70
|
) < ${depthCap}`;
|
|
52
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Compose the `workspace_id` value for a delivery insert.
|
|
74
|
+
*
|
|
75
|
+
* `deliveries.workspace_id` is NOT NULL, so emitting NULL for a failing
|
|
76
|
+
* condition turns it into a real statement error that rolls back the enclosing
|
|
77
|
+
* atomic write — the mechanism the existing `rejectOnOverflow` per-recipient
|
|
78
|
+
* guard already relies on. The workspace growth condition is scalar (constant
|
|
79
|
+
* across the fanout), so when it fails the *whole* broadcast is refused, never
|
|
80
|
+
* silently truncated or partially admitted.
|
|
81
|
+
*/
|
|
82
|
+
/** The `workspace_id` sentinel for the per-recipient / required-mailbox guard. */
|
|
83
|
+
function guardedWorkspaceIdSql(args) {
|
|
84
|
+
if (!args.perRecipientOk)
|
|
85
|
+
return sql `${args.workspaceId}`;
|
|
86
|
+
return sql `CASE WHEN ${args.perRecipientOk} THEN ${args.workspaceId} ELSE NULL END`;
|
|
87
|
+
}
|
|
88
|
+
function newDeliveryIdentitySql(messageId, agentId) {
|
|
89
|
+
return sql `NOT EXISTS (SELECT 1 FROM deliveries existing
|
|
90
|
+
WHERE existing.message_id = ${messageId} AND existing.agent_id = ${agentId})`;
|
|
91
|
+
}
|
|
53
92
|
export function buildChannelDeliveryWrite(db, input) {
|
|
54
93
|
const mentionHandles = input.mentionHandles ?? [];
|
|
55
94
|
const reason = channelReasonSql(mentionHandles, input.reason ?? 'message');
|
|
95
|
+
const workspaceId = guardedWorkspaceIdSql({
|
|
96
|
+
workspaceId: input.workspaceId,
|
|
97
|
+
perRecipientOk: input.rejectOnOverflow
|
|
98
|
+
? belowDepthCapSql(input.workspaceId, channelMembers.agentId, input.depthCap)
|
|
99
|
+
: undefined,
|
|
100
|
+
});
|
|
101
|
+
const guardedSelect = deliveryAdmissionSelect(input.workspaceId, input.workspacePolicy, input.audience ?? 'broadcast');
|
|
102
|
+
const status = sql `${'queued'}`;
|
|
56
103
|
return db
|
|
57
104
|
.insert(deliveries)
|
|
58
|
-
.select((qb) =>
|
|
105
|
+
.select((qb) => guardedSelect(qb
|
|
59
106
|
.select({
|
|
60
107
|
id: deliveryId(input.messageId, channelMembers.agentId),
|
|
61
108
|
// A NOT NULL guard runs inside the same INSERT SELECT as capacity
|
|
62
109
|
// evaluation. Unlike a preflight count, it cannot race another send.
|
|
63
110
|
// The enclosing atomic write rolls back the message and every recipient.
|
|
64
|
-
workspaceId
|
|
65
|
-
? sql `CASE WHEN ${belowDepthCapSql(input.workspaceId, channelMembers.agentId, input.depthCap)} THEN ${input.workspaceId} ELSE NULL END`
|
|
66
|
-
: sql `${input.workspaceId}`,
|
|
111
|
+
workspaceId,
|
|
67
112
|
messageId: sql `${input.messageId}`,
|
|
68
113
|
agentId: channelMembers.agentId,
|
|
69
114
|
mode: sql `${input.mode}`,
|
|
70
115
|
reason,
|
|
71
116
|
priority: sql `${'normal'}`,
|
|
72
117
|
deadline: sql `null`,
|
|
73
|
-
status
|
|
118
|
+
status,
|
|
74
119
|
// Migration 0029 installs an AFTER INSERT trigger that advances the
|
|
75
120
|
// same agent row to this value. Allocation and high-water advancement
|
|
76
121
|
// therefore happen in one SQLite statement on every adapter.
|
|
@@ -99,23 +144,26 @@ export function buildChannelDeliveryWrite(db, input) {
|
|
|
99
144
|
.innerJoin(agents, eq(channelMembers.agentId, agents.id))
|
|
100
145
|
.leftJoin(agentNodeBindings, and(eq(agentNodeBindings.workspaceId, input.workspaceId), eq(agentNodeBindings.agentId, channelMembers.agentId), eq(agentNodeBindings.status, 'active'), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
|
|
101
146
|
.leftJoin(nodes, and(eq(nodes.workspaceId, input.workspaceId), eq(nodes.id, sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`)))
|
|
102
|
-
.where(and(eq(channelMembers.channelId, input.channelId), channelMuteDeliveryFilter(mentionHandles), ne(channelMembers.agentId, input.senderAgentId), input.rejectOnOverflow ? undefined : belowDepthCapSql(input.workspaceId, channelMembers.agentId, input.depthCap)))))
|
|
147
|
+
.where(and(eq(channelMembers.channelId, input.channelId), channelMuteDeliveryFilter(mentionHandles), ne(channelMembers.agentId, input.senderAgentId), newDeliveryIdentitySql(input.messageId, channelMembers.agentId), input.rejectOnOverflow ? undefined : belowDepthCapSql(input.workspaceId, channelMembers.agentId, input.depthCap)))))
|
|
103
148
|
.onConflictDoNothing();
|
|
104
149
|
}
|
|
105
150
|
export function buildGroupDmDeliveryWrite(db, input) {
|
|
151
|
+
const workspaceId = guardedWorkspaceIdSql({ workspaceId: input.workspaceId });
|
|
152
|
+
const guardedSelect = deliveryAdmissionSelect(input.workspaceId, input.workspacePolicy, 'targeted');
|
|
153
|
+
const status = sql `${'queued'}`;
|
|
106
154
|
return db
|
|
107
155
|
.insert(deliveries)
|
|
108
|
-
.select((qb) =>
|
|
156
|
+
.select((qb) => guardedSelect(qb
|
|
109
157
|
.select({
|
|
110
158
|
id: deliveryId(input.messageId, dmParticipants.agentId),
|
|
111
|
-
workspaceId
|
|
159
|
+
workspaceId,
|
|
112
160
|
messageId: sql `${input.messageId}`,
|
|
113
161
|
agentId: dmParticipants.agentId,
|
|
114
162
|
mode: sql `${input.mode}`,
|
|
115
163
|
reason: sql `${'dm'}`,
|
|
116
164
|
priority: sql `${'normal'}`,
|
|
117
165
|
deadline: sql `null`,
|
|
118
|
-
status
|
|
166
|
+
status,
|
|
119
167
|
seq: nextDeliverySeqSql(),
|
|
120
168
|
locationType: sql `CASE WHEN ${agentNodeBindings.nodeId} IS NOT NULL THEN 'via_node' ELSE ${agents.locationType} END`,
|
|
121
169
|
locationNodeId: sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`,
|
|
@@ -141,23 +189,26 @@ export function buildGroupDmDeliveryWrite(db, input) {
|
|
|
141
189
|
.innerJoin(agents, eq(dmParticipants.agentId, agents.id))
|
|
142
190
|
.leftJoin(agentNodeBindings, and(eq(agentNodeBindings.workspaceId, input.workspaceId), eq(agentNodeBindings.agentId, dmParticipants.agentId), eq(agentNodeBindings.status, 'active'), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
|
|
143
191
|
.leftJoin(nodes, and(eq(nodes.workspaceId, input.workspaceId), eq(nodes.id, sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`)))
|
|
144
|
-
.where(and(eq(dmParticipants.conversationId, input.conversationId), isNull(dmParticipants.leftAt), ne(dmParticipants.agentId, input.senderAgentId), belowDepthCapSql(input.workspaceId, dmParticipants.agentId, input.depthCap)))))
|
|
192
|
+
.where(and(eq(dmParticipants.conversationId, input.conversationId), isNull(dmParticipants.leftAt), ne(dmParticipants.agentId, input.senderAgentId), newDeliveryIdentitySql(input.messageId, dmParticipants.agentId), belowDepthCapSql(input.workspaceId, dmParticipants.agentId, input.depthCap)))))
|
|
145
193
|
.onConflictDoNothing();
|
|
146
194
|
}
|
|
147
195
|
export function buildDirectDeliveryWrite(db, input) {
|
|
196
|
+
const workspaceId = guardedWorkspaceIdSql({ workspaceId: input.workspaceId });
|
|
197
|
+
const guardedSelect = deliveryAdmissionSelect(input.workspaceId, input.workspacePolicy, 'targeted');
|
|
198
|
+
const status = sql `${'queued'}`;
|
|
148
199
|
return db
|
|
149
200
|
.insert(deliveries)
|
|
150
|
-
.select((qb) =>
|
|
201
|
+
.select((qb) => guardedSelect(qb
|
|
151
202
|
.select({
|
|
152
203
|
id: sql `${input.deliveryId ?? `del_${input.messageId}_${input.agentId}`}`,
|
|
153
|
-
workspaceId
|
|
204
|
+
workspaceId,
|
|
154
205
|
messageId: sql `${input.messageId}`,
|
|
155
206
|
agentId: agents.id,
|
|
156
207
|
mode: sql `${input.mode}`,
|
|
157
208
|
reason: sql `${input.reason}`,
|
|
158
209
|
priority: sql `${'normal'}`,
|
|
159
210
|
deadline: sql `null`,
|
|
160
|
-
status
|
|
211
|
+
status,
|
|
161
212
|
seq: nextDeliverySeqSql(),
|
|
162
213
|
locationType: sql `CASE WHEN ${agentNodeBindings.nodeId} IS NOT NULL THEN 'via_node' ELSE ${agents.locationType} END`,
|
|
163
214
|
locationNodeId: sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`,
|
|
@@ -182,7 +233,7 @@ export function buildDirectDeliveryWrite(db, input) {
|
|
|
182
233
|
.from(agents)
|
|
183
234
|
.leftJoin(agentNodeBindings, and(eq(agentNodeBindings.workspaceId, input.workspaceId), eq(agentNodeBindings.agentId, agents.id), eq(agentNodeBindings.status, 'active'), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
|
|
184
235
|
.leftJoin(nodes, and(eq(nodes.workspaceId, input.workspaceId), eq(nodes.id, sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`)))
|
|
185
|
-
.where(and(eq(agents.id, input.agentId), belowDepthCapSql(input.workspaceId, agents.id, input.depthCap)))))
|
|
236
|
+
.where(and(eq(agents.id, input.agentId), eq(agents.workspaceId, input.workspaceId), newDeliveryIdentitySql(input.messageId, agents.id), belowDepthCapSql(input.workspaceId, agents.id, input.depthCap)))))
|
|
186
237
|
.onConflictDoNothing();
|
|
187
238
|
}
|
|
188
239
|
export async function fetchDeliveryFanoutRecords(db, messageId) {
|
|
@@ -249,7 +300,7 @@ export async function fetchChannelDeliveryOutcomes(db, input) {
|
|
|
249
300
|
})
|
|
250
301
|
.from(channelMembers)
|
|
251
302
|
.innerJoin(agents, eq(channelMembers.agentId, agents.id))
|
|
252
|
-
.where(and(eq(channelMembers.channelId, input.channelId), channelMuteDeliveryFilter(mentionHandles), ne(channelMembers.agentId, input.senderAgentId))),
|
|
303
|
+
.where(and(eq(channelMembers.channelId, input.channelId), channelMuteDeliveryFilter(mentionHandles), ne(channelMembers.agentId, input.senderAgentId), newDeliveryIdentitySql(input.messageId, channelMembers.agentId))),
|
|
253
304
|
]);
|
|
254
305
|
return {
|
|
255
306
|
deliveries,
|
|
@@ -266,7 +317,7 @@ export async function fetchGroupDeliveryOutcomes(db, input) {
|
|
|
266
317
|
})
|
|
267
318
|
.from(dmParticipants)
|
|
268
319
|
.innerJoin(agents, eq(dmParticipants.agentId, agents.id))
|
|
269
|
-
.where(and(eq(dmParticipants.conversationId, input.conversationId), isNull(dmParticipants.leftAt), ne(dmParticipants.agentId, input.senderAgentId))),
|
|
320
|
+
.where(and(eq(dmParticipants.conversationId, input.conversationId), isNull(dmParticipants.leftAt), ne(dmParticipants.agentId, input.senderAgentId), newDeliveryIdentitySql(input.messageId, dmParticipants.agentId))),
|
|
270
321
|
]);
|
|
271
322
|
return {
|
|
272
323
|
deliveries,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveryWrites.js","sourceRoot":"","sources":["../../src/engine/deliveryWrites.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deliveryWrites.js","sourceRoot":"","sources":["../../src/engine/deliveryWrites.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/dm.d.ts
CHANGED
|
@@ -1,11 +1,38 @@
|
|
|
1
1
|
import type { DmMessage } from '@relaycast/types';
|
|
2
2
|
import type { getDb } from '../db/index.js';
|
|
3
|
+
import { messages } from '../db/schema.js';
|
|
4
|
+
import { type DeliveryOutcomeRecords } from './deliveryWrites.js';
|
|
3
5
|
import { type MailboxConfig } from './mailboxConfig.js';
|
|
6
|
+
import { type WorkspaceDeliveryPolicy } from './workspaceDeliveryPolicy.js';
|
|
4
7
|
import { type AttachmentRow } from './attachments.js';
|
|
5
8
|
type Db = ReturnType<typeof getDb>;
|
|
6
9
|
interface SendDmOptions {
|
|
7
10
|
skipA2aIntercept?: boolean;
|
|
11
|
+
/** Stable request identity for resuming already admitted outbound A2A. */
|
|
12
|
+
idempotencyKey?: string;
|
|
13
|
+
/** Count an authenticated inbound peer in the same transaction as its DM. */
|
|
14
|
+
receivedA2aAgentId?: string;
|
|
15
|
+
/** Token hash authenticated by the route; checked with registration at SQL admission. */
|
|
16
|
+
receivedA2aTokenHash?: string;
|
|
17
|
+
/** Verified legacy KV response to promote without admitting another message. */
|
|
18
|
+
legacyInbound?: unknown;
|
|
19
|
+
/** Authenticated actor/scope/key identity, never a caller-selected recipient identity. */
|
|
20
|
+
inboundIdentity?: {
|
|
21
|
+
scope: string;
|
|
22
|
+
key: string;
|
|
23
|
+
};
|
|
24
|
+
/** Resolve only after durable accepted lookup (cached HTTP replay never calls sendDm). */
|
|
25
|
+
resolveWorkspaceDeliveryPolicy?: () => Promise<WorkspaceDeliveryPolicy | undefined>;
|
|
26
|
+
/** Fast paths only; durable events and delivery already committed before this hook. */
|
|
27
|
+
afterAdmission?: (data: SendDmResult, event: {
|
|
28
|
+
seq: number;
|
|
29
|
+
payload: Record<string, unknown>;
|
|
30
|
+
data: Record<string, unknown>;
|
|
31
|
+
outboxId: string;
|
|
32
|
+
}) => void;
|
|
8
33
|
mailbox?: MailboxConfig;
|
|
34
|
+
/** Server-resolved workspace growth policy; absent => no workspace guard. */
|
|
35
|
+
workspaceDeliveryPolicy?: WorkspaceDeliveryPolicy;
|
|
9
36
|
}
|
|
10
37
|
/**
|
|
11
38
|
* Recognize a unique-constraint violation on `dm_conversation_reservations`
|
|
@@ -39,13 +66,14 @@ interface SendDmOptions {
|
|
|
39
66
|
* to prevent a 500 into one itself. Same reasoning as `isObserverTokenNameConflict`.
|
|
40
67
|
*/
|
|
41
68
|
export declare function isPairReservationConflict(err: unknown): boolean;
|
|
42
|
-
|
|
69
|
+
declare function buildDmResult(message: Pick<typeof messages.$inferSelect, 'id' | 'agentId' | 'body' | 'metadata' | 'createdAt'>, conv: {
|
|
70
|
+
id: string;
|
|
71
|
+
}, fromAgent: {
|
|
72
|
+
name: string;
|
|
73
|
+
}, data: {
|
|
43
74
|
to: string;
|
|
44
|
-
text: string;
|
|
45
|
-
attachments?: string[];
|
|
46
75
|
mode?: 'wait' | 'steer';
|
|
47
|
-
|
|
48
|
-
}, options?: SendDmOptions): Promise<{
|
|
76
|
+
}, attachments: AttachmentRow[]): {
|
|
49
77
|
conversation_id: string;
|
|
50
78
|
message: {
|
|
51
79
|
id: string;
|
|
@@ -64,9 +92,20 @@ export declare function sendDm(db: Db, workspaceId: string, fromAgentId: string,
|
|
|
64
92
|
injection_mode: "wait" | "steer";
|
|
65
93
|
attachments: AttachmentRow[];
|
|
66
94
|
metadata: Record<string, unknown>;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
95
|
+
};
|
|
96
|
+
export type AcceptedDmResult = ReturnType<typeof buildDmResult>;
|
|
97
|
+
export type SendDmResult = AcceptedDmResult & {
|
|
98
|
+
_delivery: DeliveryOutcomeRecords['deliveries'][number] | null;
|
|
99
|
+
_delivery_rejections: DeliveryOutcomeRecords['rejections'];
|
|
100
|
+
_notifications_durable?: boolean;
|
|
101
|
+
};
|
|
102
|
+
export declare function sendDm(db: Db, workspaceId: string, fromAgentId: string, data: {
|
|
103
|
+
to: string;
|
|
104
|
+
text: string;
|
|
105
|
+
attachments?: string[];
|
|
106
|
+
mode?: 'wait' | 'steer';
|
|
107
|
+
data?: Record<string, unknown> | null;
|
|
108
|
+
}, options?: SendDmOptions): Promise<SendDmResult>;
|
|
70
109
|
export declare function listConversations(db: Db, workspaceId: string, agentId: string, opts?: {
|
|
71
110
|
limit?: number;
|
|
72
111
|
}): Promise<{
|
package/dist/engine/dm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../../src/engine/dm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../../src/engine/dm.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,QAAQ,EAaT,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAqD,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EACL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAAiD,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIrG,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAEnC,UAAU,aAAa;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0FAA0F;IAC1F,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,0FAA0F;IAC1F,8BAA8B,CAAC,EAAE,MAAM,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;IACpF,uFAAuF;IACvF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACzJ,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;CACnD;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA6B/D;AAkND,iBAAS,aAAa,CACpB,OAAO,EAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC,EACjG,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAChG,WAAW,EAAE,aAAa,EAAE;;;;;;;;;;;;;;;;;;;EA0B7B;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,SAAS,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC/D,oBAAoB,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC3D,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AA2DF,wBAAsB,MAAM,CAC1B,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvC,EACD,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAiPvB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;kBAwEwC,MAAM;oBAAc,MAAM;;;;;;;;;;KAkChG;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7D,OAAO,CAAC,SAAS,EAAE,CAAC,CAyEtB"}
|