@masons/runtime-broker 0.2.5 → 0.2.7
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/broker/broker-daemon.d.ts +2 -1
- package/dist/broker/broker-daemon.d.ts.map +1 -1
- package/dist/broker/broker-daemon.js +171 -29
- package/dist/broker/control-event-types.d.ts +1 -0
- package/dist/broker/control-event-types.d.ts.map +1 -1
- package/dist/broker/entry.d.ts.map +1 -1
- package/dist/broker/entry.js +4 -1
- package/dist/broker/runtime-endpoint-port.d.ts +3 -2
- package/dist/broker/runtime-endpoint-port.d.ts.map +1 -1
- package/dist/broker/runtime-inbound-routed-emitter.d.ts +4 -2
- package/dist/broker/runtime-inbound-routed-emitter.d.ts.map +1 -1
- package/dist/broker/runtime-inbound-routed-emitter.js +18 -6
- package/dist/broker/runtime-inbound-routed-event-types.d.ts +8 -0
- package/dist/broker/runtime-inbound-routed-event-types.d.ts.map +1 -1
- package/dist/broker/runtime-processing-state-event-types.d.ts +1 -0
- package/dist/broker/runtime-processing-state-event-types.d.ts.map +1 -1
- package/dist/broker-client/broker-client.d.ts +2 -1
- package/dist/broker-client/broker-client.d.ts.map +1 -1
- package/dist/runtime-endpoint-client.d.ts +10 -0
- package/dist/runtime-endpoint-client.d.ts.map +1 -1
- package/dist/runtime-endpoint-client.js +43 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ import type { NetworkPresenceChangedEvent } from "./network-presence-changed-eve
|
|
|
11
11
|
import type { BrokerPaths } from "./paths.js";
|
|
12
12
|
import { type BufferedMessage } from "./reconnecting-buffer.js";
|
|
13
13
|
import type { RuntimeEndpointPort } from "./runtime-endpoint-port.js";
|
|
14
|
-
import type { RuntimeInboundRoutedEvent } from "./runtime-inbound-routed-event-types.js";
|
|
14
|
+
import type { RuntimeInboundRouteClaimEvent, RuntimeInboundRoutedEvent } from "./runtime-inbound-routed-event-types.js";
|
|
15
15
|
import type { ServicesEventClient } from "./services-event-client.js";
|
|
16
16
|
import type { SpawnDriverRegistry } from "./spawn-driver.js";
|
|
17
17
|
import { type UndispatchedChangedEvent } from "./undispatched-changed-event-types.js";
|
|
@@ -51,6 +51,7 @@ export interface BrokerDaemonOptions {
|
|
|
51
51
|
networkPresenceChangedBackoffMaxMs?: number;
|
|
52
52
|
networkPresenceChangedMaxRetries?: number;
|
|
53
53
|
runtimeInboundRoutedPost?: (event: RuntimeInboundRoutedEvent) => Promise<import("./runtime-endpoint-port.js").EmitOutcome>;
|
|
54
|
+
runtimeInboundRouteClaimPost?: (event: RuntimeInboundRouteClaimEvent) => Promise<import("../runtime-endpoint-client.js").RuntimeInboundRouteClaimOutcome>;
|
|
54
55
|
runtimeInboundRoutedCapacity?: number;
|
|
55
56
|
runtimeInboundRoutedBackoffInitialMs?: number;
|
|
56
57
|
runtimeInboundRoutedBackoffMaxMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker-daemon.d.ts","sourceRoot":"","sources":["../../src/broker/broker-daemon.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAqB,KAAK,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAQjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EAIX,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"broker-daemon.d.ts","sourceRoot":"","sources":["../../src/broker/broker-daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { ConnectorClientUnavailableError, ConnectorSendAckTimeoutError, } from "
|
|
|
5
5
|
import { createControlEventDispatcher, } from "./control-event-dispatcher.js";
|
|
6
6
|
import { readDeliveryCursorFile, writeDeliveryCursorFile, } from "./delivery-cursor-file.js";
|
|
7
7
|
import { deleteDiscoveryFile, mintBearerToken, writeDiscoveryFile, } from "./discovery-file.js";
|
|
8
|
-
import { EndpointRegistry } from "./endpoint-registry.js";
|
|
8
|
+
import { EndpointRegistry, } from "./endpoint-registry.js";
|
|
9
9
|
import { DEFAULT_GRACE_MS, transition, } from "./endpoint-state-machine.js";
|
|
10
10
|
import { createGraceTimerManager } from "./grace-timer.js";
|
|
11
11
|
import { BrokerHttpError, pushToPlugin, startIPCServer, } from "./ipc-server.js";
|
|
@@ -170,6 +170,9 @@ export async function startBrokerDaemon(opts) {
|
|
|
170
170
|
const endpointCorrelationKey = (endpointId, correlationId) => `${endpointId}\u0000${correlationId}`;
|
|
171
171
|
const isBackgroundExchangeTarget = (entry) => Boolean(entry.runtime_capabilities?.includes("background_exchange_v1") &&
|
|
172
172
|
isBackgroundExchangeMode(entry.background_exchange_mode));
|
|
173
|
+
const requiresForegroundChannel = (entry) => entry.execution_surface !== "headless";
|
|
174
|
+
const canAcceptRuntimeMailboxDispatch = (entry) => !requiresForegroundChannel(entry) ||
|
|
175
|
+
Boolean(entry.runtime_capabilities?.includes("foreground_channel_v1"));
|
|
173
176
|
const rememberRuntimeAssignmentCorrelation = (endpointId, correlationId, assignmentKey) => {
|
|
174
177
|
if (typeof correlationId !== "string" || correlationId.length === 0) {
|
|
175
178
|
return;
|
|
@@ -284,10 +287,45 @@ export async function startBrokerDaemon(opts) {
|
|
|
284
287
|
detail: outcome.detail,
|
|
285
288
|
});
|
|
286
289
|
if (!outcome.terminal && opts.queueOnTransientFailure !== false) {
|
|
287
|
-
runtimeInboundRoutedEmitter.enqueue(event
|
|
290
|
+
const queued = runtimeInboundRoutedEmitter.enqueue(event, {
|
|
291
|
+
onSuccess: opts.onQueuedSuccess,
|
|
292
|
+
});
|
|
293
|
+
return opts.allowQueuedAsSuccess === true ? queued : false;
|
|
288
294
|
}
|
|
289
295
|
return false;
|
|
290
296
|
};
|
|
297
|
+
const directClaimRuntimeInboundRoute = async (event) => {
|
|
298
|
+
const claim = opts.runtimeInboundRouteClaimPost ?? apiPort.claimRuntimeInboundRoute;
|
|
299
|
+
if (!claim) {
|
|
300
|
+
logger.warn("runtime_inbound_route_claim_unavailable", {
|
|
301
|
+
source_message_id: event.source_message_id,
|
|
302
|
+
routed_to_endpoint_id: event.routed_to_endpoint_id,
|
|
303
|
+
});
|
|
304
|
+
return "retry";
|
|
305
|
+
}
|
|
306
|
+
let outcome;
|
|
307
|
+
try {
|
|
308
|
+
outcome = await claim(event);
|
|
309
|
+
}
|
|
310
|
+
catch (err) {
|
|
311
|
+
outcome = {
|
|
312
|
+
ok: false,
|
|
313
|
+
terminal: false,
|
|
314
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
if (outcome.ok) {
|
|
318
|
+
return outcome.action;
|
|
319
|
+
}
|
|
320
|
+
logger.warn("runtime_inbound_route_claim_failed", {
|
|
321
|
+
source_message_id: event.source_message_id,
|
|
322
|
+
routed_to_endpoint_id: event.routed_to_endpoint_id,
|
|
323
|
+
terminal: outcome.terminal,
|
|
324
|
+
status: outcome.status,
|
|
325
|
+
detail: outcome.detail,
|
|
326
|
+
});
|
|
327
|
+
return "retry";
|
|
328
|
+
};
|
|
291
329
|
const markDeliverySeqAccepted = (seq) => {
|
|
292
330
|
if (typeof seq !== "number")
|
|
293
331
|
return true;
|
|
@@ -669,6 +707,12 @@ export async function startBrokerDaemon(opts) {
|
|
|
669
707
|
}
|
|
670
708
|
};
|
|
671
709
|
controlEventDispatcher.on("dispatch_undispatched", async (event) => {
|
|
710
|
+
if (event.broker_projection_token === undefined) {
|
|
711
|
+
return {
|
|
712
|
+
ok: false,
|
|
713
|
+
detail: "dispatch broker_projection_token missing",
|
|
714
|
+
};
|
|
715
|
+
}
|
|
672
716
|
const targetEndpointId = event.target_ref?.projection_endpoint_id ?? event.target_endpoint_id;
|
|
673
717
|
if (!targetEndpointId) {
|
|
674
718
|
return {
|
|
@@ -731,6 +775,13 @@ export async function startBrokerDaemon(opts) {
|
|
|
731
775
|
detail: `target endpoint not found: ${targetEndpointId}`,
|
|
732
776
|
};
|
|
733
777
|
}
|
|
778
|
+
if (!canAcceptRuntimeMailboxDispatch(target)) {
|
|
779
|
+
undispatchedInbox.tryAdd(taken);
|
|
780
|
+
return {
|
|
781
|
+
ok: false,
|
|
782
|
+
detail: `target endpoint is not foreground-channel capable: ${targetEndpointId}`,
|
|
783
|
+
};
|
|
784
|
+
}
|
|
734
785
|
let targetRef = event.target_ref;
|
|
735
786
|
if (!targetRef) {
|
|
736
787
|
if (target.background_exchange_mode === "resident_endpoint") {
|
|
@@ -774,6 +825,9 @@ export async function startBrokerDaemon(opts) {
|
|
|
774
825
|
state: "assigned_to_runtime_target",
|
|
775
826
|
occurred_at: assignedAt,
|
|
776
827
|
undispatched_id: event.undispatched_id,
|
|
828
|
+
...(event.broker_projection_token !== undefined && {
|
|
829
|
+
broker_projection_token: event.broker_projection_token,
|
|
830
|
+
}),
|
|
777
831
|
};
|
|
778
832
|
const processingResult = await emitRuntimeProcessingState(processingEvent);
|
|
779
833
|
if (!processingResult.ok) {
|
|
@@ -805,12 +859,18 @@ export async function startBrokerDaemon(opts) {
|
|
|
805
859
|
const storedAssignment = existingAssignment ?? {
|
|
806
860
|
context: runtimeAssignment,
|
|
807
861
|
message: taken,
|
|
862
|
+
...(event.broker_projection_token !== undefined && {
|
|
863
|
+
brokerProjectionToken: event.broker_projection_token,
|
|
864
|
+
}),
|
|
808
865
|
accepted: false,
|
|
809
866
|
assignedAt,
|
|
810
867
|
lastStateSequence: processingEvent.state_sequence,
|
|
811
868
|
};
|
|
812
869
|
storedAssignment.context = runtimeAssignment;
|
|
813
870
|
storedAssignment.message = taken;
|
|
871
|
+
if (event.broker_projection_token !== undefined) {
|
|
872
|
+
storedAssignment.brokerProjectionToken = event.broker_projection_token;
|
|
873
|
+
}
|
|
814
874
|
storedAssignment.assignedAt = assignedAt;
|
|
815
875
|
storedAssignment.lastStateSequence = Math.max(storedAssignment.lastStateSequence, processingEvent.state_sequence);
|
|
816
876
|
runtimeAssignments.set(assignmentKey, storedAssignment);
|
|
@@ -1170,6 +1230,9 @@ export async function startBrokerDaemon(opts) {
|
|
|
1170
1230
|
if (!assignment) {
|
|
1171
1231
|
throw new BrokerHttpError(409, "runtime_assignment_unknown", "source assignment is not known to this broker");
|
|
1172
1232
|
}
|
|
1233
|
+
if (assignment.brokerProjectionToken === undefined) {
|
|
1234
|
+
throw new BrokerHttpError(409, "runtime_assignment_projection_authority_missing", "runtime assignment reply requires broker projection authority");
|
|
1235
|
+
}
|
|
1173
1236
|
const task = (async () => {
|
|
1174
1237
|
let record = runtimeAssignmentReplyRecords.get(replyKey);
|
|
1175
1238
|
if (!record) {
|
|
@@ -1186,21 +1249,13 @@ export async function startBrokerDaemon(opts) {
|
|
|
1186
1249
|
occurred_at: Date.now(),
|
|
1187
1250
|
undispatched_id: assignment.context.undispatchedId,
|
|
1188
1251
|
reply_request_id: body.reply_request_id,
|
|
1252
|
+
...(assignment.brokerProjectionToken !== undefined && {
|
|
1253
|
+
broker_projection_token: assignment.brokerProjectionToken,
|
|
1254
|
+
}),
|
|
1189
1255
|
};
|
|
1190
1256
|
const replyRequested = await emitRuntimeProcessingState(replyRequestedEvent);
|
|
1191
1257
|
if (!replyRequested.ok) {
|
|
1192
|
-
|
|
1193
|
-
logger.warn("runtime_reply_requested_projection_skipped", {
|
|
1194
|
-
source_message_id: assignment.context.sourceMessageId,
|
|
1195
|
-
assignment_id: assignment.context.assignmentId,
|
|
1196
|
-
status: replyRequested.status,
|
|
1197
|
-
detail: replyRequested.detail,
|
|
1198
|
-
});
|
|
1199
|
-
}
|
|
1200
|
-
else {
|
|
1201
|
-
throw new BrokerHttpError(replyRequested.terminal ? 409 : 503, "runtime_reply_request_rejected", replyRequested.detail ??
|
|
1202
|
-
"runtime reply request was not accepted");
|
|
1203
|
-
}
|
|
1258
|
+
throw new BrokerHttpError(replyRequested.terminal ? 409 : 503, "runtime_reply_request_rejected", replyRequested.detail ?? "runtime reply request was not accepted");
|
|
1204
1259
|
}
|
|
1205
1260
|
record = {
|
|
1206
1261
|
replyRequestedEvent,
|
|
@@ -1266,6 +1321,9 @@ export async function startBrokerDaemon(opts) {
|
|
|
1266
1321
|
undispatched_id: assignment.context.undispatchedId,
|
|
1267
1322
|
reply_request_id: body.reply_request_id,
|
|
1268
1323
|
outbound_message_id: record.wireMessageId,
|
|
1324
|
+
...(assignment.brokerProjectionToken !== undefined && {
|
|
1325
|
+
broker_projection_token: assignment.brokerProjectionToken,
|
|
1326
|
+
}),
|
|
1269
1327
|
});
|
|
1270
1328
|
assignment.lastStateSequence = replyEmittedSequence;
|
|
1271
1329
|
return result;
|
|
@@ -1299,8 +1357,10 @@ export async function startBrokerDaemon(opts) {
|
|
|
1299
1357
|
if (assignment.context.targetRef.projection_endpoint_id !== body.endpoint_id) {
|
|
1300
1358
|
throw new BrokerHttpError(403, "runtime_assignment_target_mismatch", "endpoint_id does not match the assigned target");
|
|
1301
1359
|
}
|
|
1302
|
-
if (body.state === "
|
|
1303
|
-
|
|
1360
|
+
if (body.state === "assigned_to_runtime_target" ||
|
|
1361
|
+
body.state === "reply_requested" ||
|
|
1362
|
+
body.state === "reply_emitted") {
|
|
1363
|
+
throw new BrokerHttpError(403, `${body.state}_broker_owned`, `${body.state} is emitted by the broker assignment lifecycle path`);
|
|
1304
1364
|
}
|
|
1305
1365
|
const event = {
|
|
1306
1366
|
type: "runtime_processing_state",
|
|
@@ -1432,6 +1492,7 @@ export async function startBrokerDaemon(opts) {
|
|
|
1432
1492
|
source_message_id: pending?.source_message_id ?? undispatched_id,
|
|
1433
1493
|
target_ref: buildLocalDispatchTargetRef(target_endpoint_id, target),
|
|
1434
1494
|
delivery_intent: "external_handoff",
|
|
1495
|
+
broker_projection_token: randomUUID(),
|
|
1435
1496
|
});
|
|
1436
1497
|
if (!result.ok) {
|
|
1437
1498
|
throw new BrokerHttpError(400, "dispatch_failed", result.detail ?? "unknown");
|
|
@@ -1510,7 +1571,36 @@ export async function startBrokerDaemon(opts) {
|
|
|
1510
1571
|
});
|
|
1511
1572
|
const inboundProcessing = new Set();
|
|
1512
1573
|
const blockedInboundSeqs = new Set();
|
|
1574
|
+
const asyncAcceptedInboundSeqs = new Set();
|
|
1513
1575
|
let unsequencedInboundBlocked = false;
|
|
1576
|
+
let deferredDeliveryPendingUpTo;
|
|
1577
|
+
const deliveredInboundSourceRoutes = new Map();
|
|
1578
|
+
const deliveredInboundSourceRouteOrder = [];
|
|
1579
|
+
const DELIVERED_INBOUND_SOURCE_ROUTE_CAP = 4096;
|
|
1580
|
+
const maybeAckDeferredDeliveryPending = () => {
|
|
1581
|
+
if (deferredDeliveryPendingUpTo === undefined ||
|
|
1582
|
+
unsequencedInboundBlocked ||
|
|
1583
|
+
blockedInboundSeqs.size > 0) {
|
|
1584
|
+
return;
|
|
1585
|
+
}
|
|
1586
|
+
const upTo = deferredDeliveryPendingUpTo;
|
|
1587
|
+
deferredDeliveryPendingUpTo = undefined;
|
|
1588
|
+
connector.ackDelivery(upTo);
|
|
1589
|
+
};
|
|
1590
|
+
const rememberDeliveredInboundSourceRoute = (sourceMessageId, event) => {
|
|
1591
|
+
if (deliveredInboundSourceRoutes.has(sourceMessageId)) {
|
|
1592
|
+
deliveredInboundSourceRoutes.set(sourceMessageId, event);
|
|
1593
|
+
return;
|
|
1594
|
+
}
|
|
1595
|
+
deliveredInboundSourceRoutes.set(sourceMessageId, event);
|
|
1596
|
+
deliveredInboundSourceRouteOrder.push(sourceMessageId);
|
|
1597
|
+
while (deliveredInboundSourceRouteOrder.length >
|
|
1598
|
+
DELIVERED_INBOUND_SOURCE_ROUTE_CAP) {
|
|
1599
|
+
const evicted = deliveredInboundSourceRouteOrder.shift();
|
|
1600
|
+
if (evicted)
|
|
1601
|
+
deliveredInboundSourceRoutes.delete(evicted);
|
|
1602
|
+
}
|
|
1603
|
+
};
|
|
1514
1604
|
const handleInboundMessage = async (payload) => {
|
|
1515
1605
|
const meta = payload.metadata ?? {};
|
|
1516
1606
|
const target_endpoint_id = typeof meta.target_endpoint_id === "string"
|
|
@@ -1583,6 +1673,58 @@ export async function startBrokerDaemon(opts) {
|
|
|
1583
1673
|
originalCorrelationId: correlation_id,
|
|
1584
1674
|
});
|
|
1585
1675
|
}
|
|
1676
|
+
const routeKind = decision.entry.state === "active"
|
|
1677
|
+
? "active_endpoint"
|
|
1678
|
+
: "reconnecting_endpoint";
|
|
1679
|
+
const deliverySeq = payload.seq;
|
|
1680
|
+
const onQueuedFinalizationSuccess = typeof deliverySeq === "number"
|
|
1681
|
+
? () => {
|
|
1682
|
+
const wasAlreadyBlocked = blockedInboundSeqs.delete(deliverySeq);
|
|
1683
|
+
if (!wasAlreadyBlocked) {
|
|
1684
|
+
asyncAcceptedInboundSeqs.add(deliverySeq);
|
|
1685
|
+
}
|
|
1686
|
+
markDeliverySeqAccepted(deliverySeq);
|
|
1687
|
+
maybeAckDeferredDeliveryPending();
|
|
1688
|
+
}
|
|
1689
|
+
: undefined;
|
|
1690
|
+
if (payload.messageId !== undefined) {
|
|
1691
|
+
const delivered = deliveredInboundSourceRoutes.get(payload.messageId);
|
|
1692
|
+
if (delivered) {
|
|
1693
|
+
const posted = await directPostRuntimeInboundRouted(delivered, {
|
|
1694
|
+
allowQueuedAsSuccess: payload.seq === undefined,
|
|
1695
|
+
onQueuedSuccess: onQueuedFinalizationSuccess,
|
|
1696
|
+
});
|
|
1697
|
+
if (!posted)
|
|
1698
|
+
return false;
|
|
1699
|
+
const accepted = markDeliverySeqAccepted(payload.seq);
|
|
1700
|
+
if (accepted)
|
|
1701
|
+
maybeAckDeferredDeliveryPending();
|
|
1702
|
+
return accepted;
|
|
1703
|
+
}
|
|
1704
|
+
const claim = await directClaimRuntimeInboundRoute({
|
|
1705
|
+
type: "runtime_inbound_route_claim",
|
|
1706
|
+
version: 1,
|
|
1707
|
+
source_message_id: payload.messageId,
|
|
1708
|
+
routed_to_endpoint_id: decision.entry.endpoint_id,
|
|
1709
|
+
route_kind: routeKind,
|
|
1710
|
+
claimed_at: Date.now(),
|
|
1711
|
+
});
|
|
1712
|
+
if (claim === "retry")
|
|
1713
|
+
return false;
|
|
1714
|
+
if (claim === "skip")
|
|
1715
|
+
return markDeliverySeqAccepted(payload.seq);
|
|
1716
|
+
}
|
|
1717
|
+
let routedEvent;
|
|
1718
|
+
if (payload.messageId !== undefined) {
|
|
1719
|
+
routedEvent = {
|
|
1720
|
+
type: "runtime_inbound_routed",
|
|
1721
|
+
version: 1,
|
|
1722
|
+
source_message_id: payload.messageId,
|
|
1723
|
+
routed_to_endpoint_id: decision.entry.endpoint_id,
|
|
1724
|
+
route_kind: routeKind,
|
|
1725
|
+
routed_at: Date.now(),
|
|
1726
|
+
};
|
|
1727
|
+
}
|
|
1586
1728
|
recordInboundCorrelation(decision.entry.endpoint_id, meta);
|
|
1587
1729
|
if (decision.entry.state === "active") {
|
|
1588
1730
|
const pushed = pushToPlugin(decision.entry.ipc_ws, {
|
|
@@ -1627,17 +1769,12 @@ export async function startBrokerDaemon(opts) {
|
|
|
1627
1769
|
buffer_size: buf.size(),
|
|
1628
1770
|
});
|
|
1629
1771
|
}
|
|
1630
|
-
if (payload.messageId !== undefined) {
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
route_kind: decision.entry.state === "active"
|
|
1637
|
-
? "active_endpoint"
|
|
1638
|
-
: "reconnecting_endpoint",
|
|
1639
|
-
routed_at: Date.now(),
|
|
1640
|
-
}, { queueOnTransientFailure: false });
|
|
1772
|
+
if (routedEvent !== undefined && payload.messageId !== undefined) {
|
|
1773
|
+
rememberDeliveredInboundSourceRoute(payload.messageId, routedEvent);
|
|
1774
|
+
const posted = await directPostRuntimeInboundRouted(routedEvent, {
|
|
1775
|
+
allowQueuedAsSuccess: payload.seq === undefined,
|
|
1776
|
+
onQueuedSuccess: onQueuedFinalizationSuccess,
|
|
1777
|
+
});
|
|
1641
1778
|
if (!posted)
|
|
1642
1779
|
return false;
|
|
1643
1780
|
}
|
|
@@ -1671,10 +1808,13 @@ export async function startBrokerDaemon(opts) {
|
|
|
1671
1808
|
task = handleInboundMessage(payload)
|
|
1672
1809
|
.then((accepted) => {
|
|
1673
1810
|
if (typeof payload.seq === "number") {
|
|
1674
|
-
if (accepted)
|
|
1811
|
+
if (accepted || asyncAcceptedInboundSeqs.has(payload.seq)) {
|
|
1675
1812
|
blockedInboundSeqs.delete(payload.seq);
|
|
1676
|
-
|
|
1813
|
+
asyncAcceptedInboundSeqs.delete(payload.seq);
|
|
1814
|
+
}
|
|
1815
|
+
else {
|
|
1677
1816
|
blockedInboundSeqs.add(payload.seq);
|
|
1817
|
+
}
|
|
1678
1818
|
return;
|
|
1679
1819
|
}
|
|
1680
1820
|
if (accepted)
|
|
@@ -1705,6 +1845,7 @@ export async function startBrokerDaemon(opts) {
|
|
|
1705
1845
|
await Promise.allSettled([...inboundProcessing]);
|
|
1706
1846
|
}
|
|
1707
1847
|
if (unsequencedInboundBlocked || blockedInboundSeqs.size > 0) {
|
|
1848
|
+
deferredDeliveryPendingUpTo = payload.upTo;
|
|
1708
1849
|
logger.warn("delivery_ack_deferred_until_replay", {
|
|
1709
1850
|
upTo: payload.upTo,
|
|
1710
1851
|
count: payload.count,
|
|
@@ -1713,6 +1854,7 @@ export async function startBrokerDaemon(opts) {
|
|
|
1713
1854
|
});
|
|
1714
1855
|
return;
|
|
1715
1856
|
}
|
|
1857
|
+
deferredDeliveryPendingUpTo = undefined;
|
|
1716
1858
|
connector.ackDelivery(payload.upTo);
|
|
1717
1859
|
});
|
|
1718
1860
|
writeDiscoveryFile(paths.discoveryFile, {
|
|
@@ -10,6 +10,7 @@ export interface DispatchUndispatchedEvent extends ControlEventBase {
|
|
|
10
10
|
source_message_id: string;
|
|
11
11
|
target_ref: RuntimeWorkTargetRef;
|
|
12
12
|
delivery_intent: "external_handoff";
|
|
13
|
+
broker_projection_token: string;
|
|
13
14
|
target_endpoint_id?: string;
|
|
14
15
|
}
|
|
15
16
|
export type BackgroundExchangeMode = "resident_endpoint" | "adapter_managed_turn";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-event-types.d.ts","sourceRoot":"","sources":["../../src/broker/control-event-types.ts"],"names":[],"mappings":"AAwCA,MAAM,WAAW,gBAAgB;IAI/B,OAAO,EAAE,CAAC,CAAC;IAWX,eAAe,EAAE,MAAM,CAAC;IAKxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,YAAY,GACpB,yBAAyB,GACzB,iBAAiB,GACjB,oBAAoB,CAAC;AAGzB,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,IAAI,EAAE,uBAAuB,CAAC;IAE9B,eAAe,EAAE,MAAM,CAAC;IAExB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,UAAU,EAAE,oBAAoB,CAAC;IAEjC,eAAe,EAAE,kBAAkB,CAAC;IAKpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,oBAAoB,GAC5B;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,mBAAmB,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,sBAAsB,CAAC;CAClD,CAAC;AAGN,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,IAAI,EAAE,eAAe,CAAC;IAEtB,MAAM,EAAE,MAAM,CAAC;IAMf,YAAY,EAAE,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAG9D,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAGD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,kBAAkB,CAAC;IAEzB,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD,MAAM,WAAW,UAAU;IAEzB,eAAe,EAAE,MAAM,CAAC;IAExB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAE1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"control-event-types.d.ts","sourceRoot":"","sources":["../../src/broker/control-event-types.ts"],"names":[],"mappings":"AAwCA,MAAM,WAAW,gBAAgB;IAI/B,OAAO,EAAE,CAAC,CAAC;IAWX,eAAe,EAAE,MAAM,CAAC;IAKxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,YAAY,GACpB,yBAAyB,GACzB,iBAAiB,GACjB,oBAAoB,CAAC;AAGzB,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,IAAI,EAAE,uBAAuB,CAAC;IAE9B,eAAe,EAAE,MAAM,CAAC;IAExB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,UAAU,EAAE,oBAAoB,CAAC;IAEjC,eAAe,EAAE,kBAAkB,CAAC;IAKpC,uBAAuB,EAAE,MAAM,CAAC;IAKhC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,oBAAoB,GAC5B;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,mBAAmB,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,sBAAsB,CAAC;CAClD,CAAC;AAGN,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,IAAI,EAAE,eAAe,CAAC;IAEtB,MAAM,EAAE,MAAM,CAAC;IAMf,YAAY,EAAE,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAG9D,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAGD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,kBAAkB,CAAC;IAEzB,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD,MAAM,WAAW,UAAU;IAEzB,eAAe,EAAE,MAAM,CAAC;IAExB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAE1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/broker/entry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/broker/entry.ts"],"names":[],"mappings":"AAmFA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,aAAa,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAUD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CA8F9B;AA2DD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,OAAO,UAAU,CAAC,KAAwB,GACpD,OAAO,CAAC,gBAAgB,CAAC,CA4B3B;AAaD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,GACnB,mBAAmB,CAqIrB;AAYD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAgG1C"}
|
package/dist/broker/entry.js
CHANGED
|
@@ -2,7 +2,7 @@ import { readFile } from "node:fs/promises";
|
|
|
2
2
|
import { pathToFileURL } from "node:url";
|
|
3
3
|
import { readConfig } from "../config-fs.js";
|
|
4
4
|
import { DEFAULT_API_HOST } from "../platform-client.js";
|
|
5
|
-
import { emitRuntimeInboundRouted, emitRuntimeNetworkPresenceChanged, emitRuntimeProcessingState, emitRuntimeUndispatchedChanged, heartbeatRuntimeEndpoint, registerRuntimeEndpoint, transitionRuntimeEndpointState, unregisterRuntimeEndpoint, updateRuntimeEndpointDisplayMetadata, } from "../runtime-endpoint-client.js";
|
|
5
|
+
import { claimRuntimeInboundRoute, emitRuntimeInboundRouted, emitRuntimeNetworkPresenceChanged, emitRuntimeProcessingState, emitRuntimeUndispatchedChanged, heartbeatRuntimeEndpoint, registerRuntimeEndpoint, transitionRuntimeEndpointState, unregisterRuntimeEndpoint, updateRuntimeEndpointDisplayMetadata, } from "../runtime-endpoint-client.js";
|
|
6
6
|
import { startBrokerDaemon } from "./broker-daemon.js";
|
|
7
7
|
import { ClaudeCodeSpawnDriver } from "./claude-code-spawn-driver.js";
|
|
8
8
|
import { CodexSpawnDriverStub } from "./codex-spawn-driver-stub.js";
|
|
@@ -171,6 +171,9 @@ export function buildApiPort(apiHost, runtimeKey, logger) {
|
|
|
171
171
|
async emitNetworkPresenceChanged(event) {
|
|
172
172
|
return emitRuntimeNetworkPresenceChanged({ apiHost }, runtimeKey, event);
|
|
173
173
|
},
|
|
174
|
+
async claimRuntimeInboundRoute(event) {
|
|
175
|
+
return claimRuntimeInboundRoute({ apiHost }, runtimeKey, event);
|
|
176
|
+
},
|
|
174
177
|
async emitRuntimeInboundRouted(event) {
|
|
175
178
|
return emitRuntimeInboundRouted({ apiHost }, runtimeKey, event);
|
|
176
179
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { RegisterRuntimeEndpointParams, RegisterRuntimeEndpointResponse, TransitionRuntimeEndpointStateParams, UpdateRuntimeEndpointDisplayMetadataParams } from "../runtime-endpoint-client.js";
|
|
1
|
+
import type { RegisterRuntimeEndpointParams, RegisterRuntimeEndpointResponse, RuntimeInboundRouteClaimOutcome, TransitionRuntimeEndpointStateParams, UpdateRuntimeEndpointDisplayMetadataParams } from "../runtime-endpoint-client.js";
|
|
2
2
|
import type { NetworkPresenceChangedEvent } from "./network-presence-changed-event-types.js";
|
|
3
|
-
import type { RuntimeInboundRoutedEvent } from "./runtime-inbound-routed-event-types.js";
|
|
3
|
+
import type { RuntimeInboundRouteClaimEvent, RuntimeInboundRoutedEvent } from "./runtime-inbound-routed-event-types.js";
|
|
4
4
|
import type { RuntimeProcessingStateEvent } from "./runtime-processing-state-event-types.js";
|
|
5
5
|
import type { UndispatchedChangedEvent } from "./undispatched-changed-event-types.js";
|
|
6
6
|
export type EmitOutcome = {
|
|
@@ -19,6 +19,7 @@ export interface RuntimeEndpointPort {
|
|
|
19
19
|
updateDisplayMetadata?(endpointId: string, params: UpdateRuntimeEndpointDisplayMetadataParams): Promise<void>;
|
|
20
20
|
emitUndispatchedChanged?(event: UndispatchedChangedEvent): Promise<EmitOutcome>;
|
|
21
21
|
emitNetworkPresenceChanged?(event: NetworkPresenceChangedEvent): Promise<EmitOutcome>;
|
|
22
|
+
claimRuntimeInboundRoute?(event: RuntimeInboundRouteClaimEvent): Promise<RuntimeInboundRouteClaimOutcome>;
|
|
22
23
|
emitRuntimeInboundRouted?(event: RuntimeInboundRoutedEvent): Promise<EmitOutcome>;
|
|
23
24
|
emitRuntimeProcessingState?(event: RuntimeProcessingStateEvent): Promise<EmitOutcome>;
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-endpoint-port.d.ts","sourceRoot":"","sources":["../../src/broker/runtime-endpoint-port.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,6BAA6B,EAC7B,+BAA+B,EAC/B,oCAAoC,EACpC,0CAA0C,EAC3C,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"runtime-endpoint-port.d.ts","sourceRoot":"","sources":["../../src/broker/runtime-endpoint-port.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,oCAAoC,EACpC,0CAA0C,EAC3C,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,KAAK,EACV,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAWtF,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CACN,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC5C,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAO7C,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAQjE,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oCAAoC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;IAKjB,qBAAqB,CAAC,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,0CAA0C,GACjD,OAAO,CAAC,IAAI,CAAC,CAAC;IAqBjB,uBAAuB,CAAC,CACtB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAAC;IAYxB,0BAA0B,CAAC,CACzB,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,WAAW,CAAC,CAAC;IAMxB,wBAAwB,CAAC,CACvB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAM5C,wBAAwB,CAAC,CACvB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,WAAW,CAAC,CAAC;IAMxB,0BAA0B,CAAC,CACzB,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BrokerLogger } from "./logger.js";
|
|
2
|
-
import type { RuntimeInboundRoutedEvent } from "./runtime-inbound-routed-event-types.js";
|
|
3
2
|
import type { EmitOutcome, RuntimeEndpointPort } from "./runtime-endpoint-port.js";
|
|
3
|
+
import type { RuntimeInboundRoutedEvent } from "./runtime-inbound-routed-event-types.js";
|
|
4
4
|
export declare const DEFAULT_INBOUND_ROUTED_EMITTER_CAPACITY = 1024;
|
|
5
5
|
export declare const DEFAULT_INBOUND_ROUTED_EMITTER_BACKOFF_INITIAL_MS = 500;
|
|
6
6
|
export declare const DEFAULT_INBOUND_ROUTED_EMITTER_BACKOFF_MAX_MS = 30000;
|
|
@@ -12,7 +12,9 @@ export interface RuntimeInboundRoutedEmitterOptions {
|
|
|
12
12
|
maxRetries?: number;
|
|
13
13
|
}
|
|
14
14
|
export interface RuntimeInboundRoutedEmitter {
|
|
15
|
-
enqueue(event: RuntimeInboundRoutedEvent
|
|
15
|
+
enqueue(event: RuntimeInboundRoutedEvent, opts?: {
|
|
16
|
+
onSuccess?: () => void;
|
|
17
|
+
}): boolean;
|
|
16
18
|
size(): number;
|
|
17
19
|
capacity(): number;
|
|
18
20
|
shutdown(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-inbound-routed-emitter.d.ts","sourceRoot":"","sources":["../../src/broker/runtime-inbound-routed-emitter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"runtime-inbound-routed-emitter.d.ts","sourceRoot":"","sources":["../../src/broker/runtime-inbound-routed-emitter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEzF,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAC5D,eAAO,MAAM,iDAAiD,MAAM,CAAC;AACrE,eAAO,MAAM,6CAA6C,QAAS,CAAC;AACpE,eAAO,MAAM,0CAA0C,IAAI,CAAC;AAE5D,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CACL,KAAK,EAAE,yBAAyB,EAChC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAChC,OAAO,CAAC;IACX,IAAI,IAAI,MAAM,CAAC;IACf,QAAQ,IAAI,MAAM,CAAC;IACnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAOD,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,WAAW,CAAC,EAChE,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,kCAAuC,GAC5C,2BAA2B,CAkJ7B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,mBAAmB,GAC3B,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,WAAW,CAAC,CAW5D"}
|
|
@@ -34,9 +34,10 @@ export function createRuntimeInboundRoutedEmitter(post, logger, opts = {}) {
|
|
|
34
34
|
});
|
|
35
35
|
const drain = async () => {
|
|
36
36
|
while (!stopped && queue.length > 0) {
|
|
37
|
-
const
|
|
38
|
-
if (!
|
|
37
|
+
const item = queue[0];
|
|
38
|
+
if (!item)
|
|
39
39
|
break;
|
|
40
|
+
const { event } = item;
|
|
40
41
|
let attempts = 0;
|
|
41
42
|
while (true) {
|
|
42
43
|
if (stopped)
|
|
@@ -52,8 +53,19 @@ export function createRuntimeInboundRoutedEmitter(post, logger, opts = {}) {
|
|
|
52
53
|
detail: err instanceof Error ? err.message : String(err),
|
|
53
54
|
};
|
|
54
55
|
}
|
|
55
|
-
if (outcome.ok)
|
|
56
|
+
if (outcome.ok) {
|
|
57
|
+
try {
|
|
58
|
+
item.onSuccess?.();
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
logger.warn("runtime_inbound_routed_success_callback_failed", {
|
|
62
|
+
source_message_id: event.source_message_id,
|
|
63
|
+
routed_to_endpoint_id: event.routed_to_endpoint_id,
|
|
64
|
+
err: err instanceof Error ? err.message : String(err),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
56
67
|
break;
|
|
68
|
+
}
|
|
57
69
|
if (outcome.terminal) {
|
|
58
70
|
logger.warn("runtime_inbound_routed_drop_terminal", {
|
|
59
71
|
source_message_id: event.source_message_id,
|
|
@@ -100,7 +112,7 @@ export function createRuntimeInboundRoutedEmitter(post, logger, opts = {}) {
|
|
|
100
112
|
});
|
|
101
113
|
};
|
|
102
114
|
return {
|
|
103
|
-
enqueue(event) {
|
|
115
|
+
enqueue(event, itemOpts) {
|
|
104
116
|
if (stopped)
|
|
105
117
|
return true;
|
|
106
118
|
let evicted = false;
|
|
@@ -108,14 +120,14 @@ export function createRuntimeInboundRoutedEmitter(post, logger, opts = {}) {
|
|
|
108
120
|
const old = queue.shift();
|
|
109
121
|
if (old) {
|
|
110
122
|
logger.warn("runtime_inbound_routed_queue_overflow", {
|
|
111
|
-
dropped_source_message_id: old.source_message_id,
|
|
123
|
+
dropped_source_message_id: old.event.source_message_id,
|
|
112
124
|
size: queue.length,
|
|
113
125
|
capacity: cap,
|
|
114
126
|
});
|
|
115
127
|
evicted = true;
|
|
116
128
|
}
|
|
117
129
|
}
|
|
118
|
-
queue.push(event);
|
|
130
|
+
queue.push({ event, onSuccess: itemOpts?.onSuccess });
|
|
119
131
|
kick();
|
|
120
132
|
return !evicted;
|
|
121
133
|
},
|
|
@@ -7,4 +7,12 @@ export interface RuntimeInboundRoutedEvent {
|
|
|
7
7
|
route_kind: RuntimeInboundRouteKind;
|
|
8
8
|
routed_at: number;
|
|
9
9
|
}
|
|
10
|
+
export interface RuntimeInboundRouteClaimEvent {
|
|
11
|
+
type: "runtime_inbound_route_claim";
|
|
12
|
+
version: 1;
|
|
13
|
+
source_message_id: string;
|
|
14
|
+
routed_to_endpoint_id: string;
|
|
15
|
+
route_kind: RuntimeInboundRouteKind;
|
|
16
|
+
claimed_at: number;
|
|
17
|
+
}
|
|
10
18
|
//# sourceMappingURL=runtime-inbound-routed-event-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-inbound-routed-event-types.d.ts","sourceRoot":"","sources":["../../src/broker/runtime-inbound-routed-event-types.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC;IAIX,iBAAiB,EAAE,MAAM,CAAC;IAK1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,uBAAuB,CAAC;IAEpC,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"runtime-inbound-routed-event-types.d.ts","sourceRoot":"","sources":["../../src/broker/runtime-inbound-routed-event-types.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC;IAIX,iBAAiB,EAAE,MAAM,CAAC;IAK1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,uBAAuB,CAAC;IAEpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC;IAIX,iBAAiB,EAAE,MAAM,CAAC;IAK1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,uBAAuB,CAAC;IAEpC,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-processing-state-event-types.d.ts","sourceRoot":"","sources":["../../src/broker/runtime-processing-state-event-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,oBAAoB,GAC5B;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,mBAAmB,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,sBAAsB,CAAC;CAClD,CAAC;AAEN,MAAM,MAAM,sBAAsB,GAC9B,4BAA4B,GAC5B,kBAAkB,GAClB,oBAAoB,GACpB,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,gCAAgC,GAChC,+BAA+B,GAC/B,wBAAwB,GACxB,SAAS,CAAC;AAEd,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,oBAAoB,CAAC;IACjC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-processing-state-event-types.d.ts","sourceRoot":"","sources":["../../src/broker/runtime-processing-state-event-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,oBAAoB,GAC5B;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,mBAAmB,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,sBAAsB,CAAC;CAClD,CAAC;AAEN,MAAM,MAAM,sBAAsB,GAC9B,4BAA4B,GAC5B,kBAAkB,GAClB,oBAAoB,GACpB,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,gCAAgC,GAChC,+BAA+B,GAC/B,wBAAwB,GACxB,SAAS,CAAC;AAEd,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,oBAAoB,CAAC;IACjC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC"}
|
|
@@ -67,13 +67,14 @@ export interface SendRuntimeAssignmentReplyArgs {
|
|
|
67
67
|
content: string;
|
|
68
68
|
contentType?: string;
|
|
69
69
|
}
|
|
70
|
+
export type AdapterRuntimeProcessingState = Exclude<RuntimeProcessingState, "assigned_to_runtime_target" | "reply_requested" | "reply_emitted">;
|
|
70
71
|
export interface ReportRuntimeProcessingStateArgs {
|
|
71
72
|
endpointId: string;
|
|
72
73
|
sourceMessageId: string;
|
|
73
74
|
assignmentId: string;
|
|
74
75
|
stateEventId: string;
|
|
75
76
|
stateSequence: number;
|
|
76
|
-
state:
|
|
77
|
+
state: AdapterRuntimeProcessingState;
|
|
77
78
|
occurredAt?: number;
|
|
78
79
|
undispatchedId?: string;
|
|
79
80
|
retryable?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker-client.d.ts","sourceRoot":"","sources":["../../src/broker-client/broker-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"broker-client.d.ts","sourceRoot":"","sources":["../../src/broker-client/broker-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,17 @@ export type EmitUndispatchedChangedOutcome = {
|
|
|
100
100
|
status?: number;
|
|
101
101
|
detail?: string;
|
|
102
102
|
};
|
|
103
|
+
export type RuntimeInboundRouteClaimOutcome = {
|
|
104
|
+
ok: true;
|
|
105
|
+
action: "route" | "skip";
|
|
106
|
+
} | {
|
|
107
|
+
ok: false;
|
|
108
|
+
terminal: boolean;
|
|
109
|
+
status?: number;
|
|
110
|
+
detail?: string;
|
|
111
|
+
};
|
|
103
112
|
export declare function emitRuntimeNetworkPresenceChanged(cfg: PlatformClientConfig, runtimeKey: string, event: Readonly<Record<string, unknown>>): Promise<EmitUndispatchedChangedOutcome>;
|
|
113
|
+
export declare function claimRuntimeInboundRoute(cfg: PlatformClientConfig, runtimeKey: string, event: Readonly<Record<string, unknown>>): Promise<RuntimeInboundRouteClaimOutcome>;
|
|
104
114
|
export declare function emitRuntimeInboundRouted(cfg: PlatformClientConfig, runtimeKey: string, event: Readonly<Record<string, unknown>>): Promise<EmitUndispatchedChangedOutcome>;
|
|
105
115
|
export declare function emitRuntimeProcessingState(cfg: PlatformClientConfig, runtimeKey: string, event: Readonly<Record<string, unknown>>): Promise<EmitUndispatchedChangedOutcome>;
|
|
106
116
|
//# sourceMappingURL=runtime-endpoint-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-endpoint-client.d.ts","sourceRoot":"","sources":["../src/runtime-endpoint-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-endpoint-client.d.ts","sourceRoot":"","sources":["../src/runtime-endpoint-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -157,6 +157,49 @@ export async function emitRuntimeNetworkPresenceChanged(cfg, runtimeKey, event)
|
|
|
157
157
|
detail: await readErrorDetail(res),
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
|
+
export async function claimRuntimeInboundRoute(cfg, runtimeKey, event) {
|
|
161
|
+
let res;
|
|
162
|
+
try {
|
|
163
|
+
res = await fetch(`${baseUrl(cfg)}/runtime/inbound-route-claim`, {
|
|
164
|
+
method: "POST",
|
|
165
|
+
headers: jsonHeaders(runtimeKey),
|
|
166
|
+
body: JSON.stringify(event),
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
return {
|
|
171
|
+
ok: false,
|
|
172
|
+
terminal: false,
|
|
173
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
if (res.status === 200) {
|
|
177
|
+
const body = (await res.json().catch(() => null));
|
|
178
|
+
if (body?.action === "route" || body?.action === "skip") {
|
|
179
|
+
return { ok: true, action: body.action };
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
ok: false,
|
|
183
|
+
terminal: true,
|
|
184
|
+
status: res.status,
|
|
185
|
+
detail: "invalid claim response",
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
if (res.status === 401 || res.status === 403 || res.status === 422) {
|
|
189
|
+
return {
|
|
190
|
+
ok: false,
|
|
191
|
+
terminal: true,
|
|
192
|
+
status: res.status,
|
|
193
|
+
detail: await readErrorDetail(res),
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
ok: false,
|
|
198
|
+
terminal: false,
|
|
199
|
+
status: res.status,
|
|
200
|
+
detail: await readErrorDetail(res),
|
|
201
|
+
};
|
|
202
|
+
}
|
|
160
203
|
export async function emitRuntimeInboundRouted(cfg, runtimeKey, event) {
|
|
161
204
|
let res;
|
|
162
205
|
try {
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PLUGIN_VERSION = "0.2.
|
|
1
|
+
export declare const PLUGIN_VERSION = "0.2.7";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PLUGIN_VERSION = "0.2.
|
|
1
|
+
export const PLUGIN_VERSION = "0.2.7";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masons/runtime-broker",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "MASONS Runtime Broker — local daemon and BrokerClient SDK for multi-session agent runtime coordination.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "MASONS.ai <hello@masons.ai> (https://masons.ai)",
|