@masons/agent-network 0.6.12 → 0.6.13
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.
|
@@ -27,6 +27,7 @@ export declare class ConnectorClient extends EventEmitter {
|
|
|
27
27
|
private registerReject;
|
|
28
28
|
private registerTimer;
|
|
29
29
|
private lastKnownSeq;
|
|
30
|
+
private highestWireSeq;
|
|
30
31
|
private readonly pendingSeqMessages;
|
|
31
32
|
private readonly seenPayloadIds;
|
|
32
33
|
private readonly seenPayloadIdOrder;
|
|
@@ -55,6 +56,7 @@ export declare class ConnectorClient extends EventEmitter {
|
|
|
55
56
|
private dispatchAddressed;
|
|
56
57
|
private handleAddressedMessage;
|
|
57
58
|
private handleDeliverySkip;
|
|
59
|
+
private adoptLedgerDeliveryCursor;
|
|
58
60
|
private adoptDeliveredFloor;
|
|
59
61
|
private acceptContiguous;
|
|
60
62
|
private drainPendingSeqMessagesFrom;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector-client.d.ts","sourceRoot":"","sources":["../src/connector-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAEL,KAAK,qBAAqB,EAI1B,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EAcxB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AA2BpB,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;gBACT,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;CAMvD;AAID,KAAK,qBAAqB,GAAG;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACxD,eAAe,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAIF,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,cAAc,CAA8C;IAEpE,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,aAAa,CAA8C;IAGnE,OAAO,CAAC,YAAY,CAAqB;
|
|
1
|
+
{"version":3,"file":"connector-client.d.ts","sourceRoot":"","sources":["../src/connector-client.ts"],"names":[],"mappings":"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"}
|
package/dist/connector-client.js
CHANGED
|
@@ -36,6 +36,7 @@ export class ConnectorClient extends EventEmitter {
|
|
|
36
36
|
registerReject = null;
|
|
37
37
|
registerTimer = null;
|
|
38
38
|
lastKnownSeq;
|
|
39
|
+
highestWireSeq = 0;
|
|
39
40
|
pendingSeqMessages = new Map();
|
|
40
41
|
seenPayloadIds = new Set();
|
|
41
42
|
seenPayloadIdOrder = [];
|
|
@@ -126,6 +127,7 @@ export class ConnectorClient extends EventEmitter {
|
|
|
126
127
|
const ws = new WebSocket(this.url, { handshakeTimeout: 10_000 });
|
|
127
128
|
this.ws = ws;
|
|
128
129
|
ws.on("open", () => {
|
|
130
|
+
this.highestWireSeq = 0;
|
|
129
131
|
this.sendRegister();
|
|
130
132
|
this.startRegisterTimeout();
|
|
131
133
|
});
|
|
@@ -212,6 +214,10 @@ export class ConnectorClient extends EventEmitter {
|
|
|
212
214
|
return;
|
|
213
215
|
}
|
|
214
216
|
if (isDeliveryCursor(parsed)) {
|
|
217
|
+
if (parsed.deliveredSeq !== undefined &&
|
|
218
|
+
parsed.deliveredSeq > this.highestWireSeq) {
|
|
219
|
+
this.highestWireSeq = parsed.deliveredSeq;
|
|
220
|
+
}
|
|
215
221
|
const floor = this.lastKnownSeq ?? 0;
|
|
216
222
|
dbg("DELIVERY_CURSOR deliverySeq=%d deliveredSeq=%s local=%d", parsed.deliverySeq, parsed.deliveredSeq ?? "none", floor);
|
|
217
223
|
if (parsed.deliveredSeq !== undefined && parsed.deliveredSeq > floor) {
|
|
@@ -224,7 +230,18 @@ export class ConnectorClient extends EventEmitter {
|
|
|
224
230
|
else if (parsed.deliveredSeq !== undefined &&
|
|
225
231
|
this.lastKnownSeq !== undefined &&
|
|
226
232
|
parsed.deliveredSeq < this.lastKnownSeq) {
|
|
227
|
-
|
|
233
|
+
if (parsed.deliverySeq < this.lastKnownSeq &&
|
|
234
|
+
this.highestWireSeq <= parsed.deliverySeq) {
|
|
235
|
+
const adopted = parsed.deliveredSeq;
|
|
236
|
+
console.warn(`[agent-network] delivery cursor unattainable: local claim ${this.lastKnownSeq} exceeds the ledger's highest reserved seq ${parsed.deliverySeq}; adopting the ledger floor ${adopted}. Messages are being recovered from that point.`);
|
|
237
|
+
this.adoptLedgerDeliveryCursor(adopted);
|
|
238
|
+
if (parsed.deliverySeq > adopted) {
|
|
239
|
+
this.requestGapFill(adopted);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
this.ackDelivery(this.lastKnownSeq);
|
|
244
|
+
}
|
|
228
245
|
}
|
|
229
246
|
return;
|
|
230
247
|
}
|
|
@@ -248,6 +265,8 @@ export class ConnectorClient extends EventEmitter {
|
|
|
248
265
|
this.emit("message_received", message);
|
|
249
266
|
return;
|
|
250
267
|
}
|
|
268
|
+
if (message.seq > this.highestWireSeq)
|
|
269
|
+
this.highestWireSeq = message.seq;
|
|
251
270
|
const floor = this.lastKnownSeq ?? 0;
|
|
252
271
|
if (message.seq <= floor)
|
|
253
272
|
return;
|
|
@@ -259,6 +278,8 @@ export class ConnectorClient extends EventEmitter {
|
|
|
259
278
|
this.acceptContiguous(message);
|
|
260
279
|
}
|
|
261
280
|
handleDeliverySkip(event) {
|
|
281
|
+
if (event.seq > this.highestWireSeq)
|
|
282
|
+
this.highestWireSeq = event.seq;
|
|
262
283
|
const floor = this.lastKnownSeq ?? 0;
|
|
263
284
|
if (event.seq <= floor)
|
|
264
285
|
return;
|
|
@@ -270,6 +291,12 @@ export class ConnectorClient extends EventEmitter {
|
|
|
270
291
|
this.drainPendingSeqMessagesFrom(event.seq + 1);
|
|
271
292
|
this.ackDelivery(this.lastKnownSeq);
|
|
272
293
|
}
|
|
294
|
+
adoptLedgerDeliveryCursor(seq) {
|
|
295
|
+
this.pendingSeqMessages.clear();
|
|
296
|
+
this.seenPayloadIds.clear();
|
|
297
|
+
this.seenPayloadIdOrder.length = 0;
|
|
298
|
+
this.lastKnownSeq = seq;
|
|
299
|
+
}
|
|
273
300
|
adoptDeliveredFloor(seq) {
|
|
274
301
|
if (!Number.isInteger(seq) || seq < 0)
|
|
275
302
|
return;
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PLUGIN_VERSION = "0.6.
|
|
1
|
+
export declare const PLUGIN_VERSION = "0.6.13";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PLUGIN_VERSION = "0.6.
|
|
1
|
+
export const PLUGIN_VERSION = "0.6.13";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masons/agent-network",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.13",
|
|
4
4
|
"description": "MASONS Agent Network — OpenClaw channel plugin for connecting agent runtimes to the Agent Network over MSTP.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "MASONS.ai <hello@masons.ai> (https://masons.ai)",
|