@masons/agent-network 0.5.324 → 0.6.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/channel-setup.d.ts.map +1 -1
- package/dist/channel-setup.js +1 -0
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +1 -2
- package/dist/cli-setup.d.ts.map +1 -1
- package/dist/cli-setup.js +1 -0
- package/dist/connector-client.d.ts +8 -1
- package/dist/connector-client.d.ts.map +1 -1
- package/dist/connector-client.js +95 -12
- package/dist/handoff.d.ts +2 -0
- package/dist/handoff.d.ts.map +1 -1
- package/dist/handoff.js +6 -1
- package/dist/runtime-endpoint-client.d.ts +24 -1
- package/dist/runtime-endpoint-client.d.ts.map +1 -1
- package/dist/types.d.ts +15 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +13 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-setup.d.ts","sourceRoot":"","sources":["../src/channel-setup.ts"],"names":[],"mappings":"AAeA,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAMnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,6BAA6B,IAAI,wBAAwB,CAMxE;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"channel-setup.d.ts","sourceRoot":"","sources":["../src/channel-setup.ts"],"names":[],"mappings":"AAeA,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAMnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,6BAA6B,IAAI,wBAAwB,CAMxE;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAgC7B;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,IAAI,CAejE;AAED,wBAAgB,yBAAyB,IAAI,kBAAkB,GAAG,IAAI,CAMrE;AAmED,wBAAgB,4BAA4B,IAAI,IAAI,CAGnD;AAED,eAAO,MAAM,oBAAoB,QAAqB,CAAC"}
|
package/dist/channel-setup.js
CHANGED
package/dist/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAoC9D,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAOD,wBAAgB,2BAA2B,IAAI,OAAO,CAIrD;AAGD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE/D;AAUD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,oBAAoB,CAAC,CAAC;IAC9B,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;IACvD,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IACpE,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACjE,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/D;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9C,QAAQ,CAAC,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACzE;AAED,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;CAC1B;AA2DD,iBAAS,iCAAiC,CACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB;AAED,eAAO,MAAM,4CAA4C,0CACtB,CAAC;AAEpC,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,YAAY,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,WAAW,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,UAAU,yBAAyB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAClD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;CACrD;AAmaD,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAoC9D,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAOD,wBAAgB,2BAA2B,IAAI,OAAO,CAIrD;AAGD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE/D;AAUD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,oBAAoB,CAAC,CAAC;IAC9B,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;IACvD,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IACpE,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACjE,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/D;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9C,QAAQ,CAAC,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACzE;AAED,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;CAC1B;AA2DD,iBAAS,iCAAiC,CACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB;AAED,eAAO,MAAM,4CAA4C,0CACtB,CAAC;AAEpC,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,YAAY,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,WAAW,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,UAAU,yBAAyB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAClD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;CACrD;AAmaD,eAAO,MAAM,mBAAmB,EAAE,yBA0NjC,CAAC"}
|
package/dist/channel.js
CHANGED
|
@@ -349,8 +349,7 @@ export const agentNetworkChannel = {
|
|
|
349
349
|
await handleAddressedMessage(event, conversationManager, client, ctx);
|
|
350
350
|
});
|
|
351
351
|
client.on("delivery_pending", (event) => {
|
|
352
|
-
|
|
353
|
-
dbg("delivery_pending → ACK sent count=%d upTo=%s", event.count, event.upTo);
|
|
352
|
+
dbg("legacy delivery_pending ignored count=%d upTo=%s", event.count, event.upTo);
|
|
354
353
|
});
|
|
355
354
|
client.on("disconnected", () => {
|
|
356
355
|
clearOwnerState();
|
package/dist/cli-setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-setup.d.ts","sourceRoot":"","sources":["../src/cli-setup.ts"],"names":[],"mappings":"AAqFA,UAAU,eAAe;IACvB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAOD,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"cli-setup.d.ts","sourceRoot":"","sources":["../src/cli-setup.ts"],"names":[],"mappings":"AAqFA,UAAU,eAAe;IACvB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAOD,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgFD,wBAAsB,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDhE"}
|
package/dist/cli-setup.js
CHANGED
|
@@ -27,13 +27,17 @@ export declare class ConnectorClient extends EventEmitter {
|
|
|
27
27
|
private registerReject;
|
|
28
28
|
private registerTimer;
|
|
29
29
|
private lastKnownSeq;
|
|
30
|
+
private readonly pendingSeqMessages;
|
|
31
|
+
private readonly seenPayloadIds;
|
|
32
|
+
private readonly seenPayloadIdOrder;
|
|
30
33
|
private pendingSends;
|
|
31
34
|
constructor(url: string, token: string);
|
|
32
35
|
connect(): Promise<void>;
|
|
33
36
|
disconnect(): void;
|
|
34
37
|
send(to: string, content: string, contentType?: string, metadata?: Record<string, unknown>): Promise<SendAckEvent>;
|
|
35
38
|
sendTyping(to: string, isTyping: boolean): boolean;
|
|
36
|
-
ackDelivery(
|
|
39
|
+
ackDelivery(upToSeq: number): boolean;
|
|
40
|
+
requestGapFill(sinceSeq: number): boolean;
|
|
37
41
|
on<K extends keyof ConnectorClientEvents>(event: K, listener: ConnectorClientEvents[K]): this;
|
|
38
42
|
on(event: string | symbol, listener: (...args: unknown[]) => void): this;
|
|
39
43
|
once<K extends keyof ConnectorClientEvents>(event: K, listener: ConnectorClientEvents[K]): this;
|
|
@@ -49,6 +53,9 @@ export declare class ConnectorClient extends EventEmitter {
|
|
|
49
53
|
private rejectRegister;
|
|
50
54
|
private handleMessage;
|
|
51
55
|
private dispatchAddressed;
|
|
56
|
+
private handleAddressedMessage;
|
|
57
|
+
private acceptContiguous;
|
|
58
|
+
private rememberPayloadId;
|
|
52
59
|
private handleRegisterAck;
|
|
53
60
|
private handleSendAck;
|
|
54
61
|
private handleStructuredError;
|
|
@@ -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,EACzB,KAAK,mBAAmB,
|
|
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
|
@@ -3,7 +3,7 @@ import { EventEmitter } from "node:events";
|
|
|
3
3
|
import createDebug from "debug";
|
|
4
4
|
import WebSocket from "ws";
|
|
5
5
|
import { setEnvironmentContext } from "./environment-context.js";
|
|
6
|
-
import { CURRENT_PROTOCOL_VERSION, isAddressedMessage, isDeliveryPending, isDeliveryStatus, isRegisterAck, isSendAck, isStructuredError, REGISTER_ACK_TIMEOUT_MS, SEND_ACK_TIMEOUT_MS, } from "./types.js";
|
|
6
|
+
import { CURRENT_PROTOCOL_VERSION, isAddressedMessage, isDeliveryCursor, isDeliveryPending, isDeliveryStatus, isRegisterAck, isSendAck, isStructuredError, REGISTER_ACK_TIMEOUT_MS, SEND_ACK_TIMEOUT_MS, } from "./types.js";
|
|
7
7
|
import { PLUGIN_VERSION } from "./version.js";
|
|
8
8
|
const dbg = createDebug("agent-network:connector");
|
|
9
9
|
const dbgMsg = createDebug("agent-network:connector:msg");
|
|
@@ -13,6 +13,7 @@ const ALREADY_CONNECTED_RETRY_MS = 2_000;
|
|
|
13
13
|
const ALREADY_CONNECTED_MAX_RETRIES = 30;
|
|
14
14
|
const REPLACED_BY_NEW_RUNTIME_REASON = "Replaced by new Runtime";
|
|
15
15
|
const REPLACED_BY_NEW_RUNTIME_CODE = 4001;
|
|
16
|
+
const SEEN_PAYLOAD_ID_CAP = 4096;
|
|
16
17
|
export class ConnectorError extends Error {
|
|
17
18
|
code;
|
|
18
19
|
to;
|
|
@@ -35,6 +36,9 @@ export class ConnectorClient extends EventEmitter {
|
|
|
35
36
|
registerReject = null;
|
|
36
37
|
registerTimer = null;
|
|
37
38
|
lastKnownSeq;
|
|
39
|
+
pendingSeqMessages = new Map();
|
|
40
|
+
seenPayloadIds = new Set();
|
|
41
|
+
seenPayloadIdOrder = [];
|
|
38
42
|
pendingSends = new Map();
|
|
39
43
|
constructor(url, token) {
|
|
40
44
|
super();
|
|
@@ -91,10 +95,16 @@ export class ConnectorClient extends EventEmitter {
|
|
|
91
95
|
dbg("sendTyping to=%s isTyping=%s sent=%s", to, isTyping, sent);
|
|
92
96
|
return sent;
|
|
93
97
|
}
|
|
94
|
-
ackDelivery(
|
|
95
|
-
const event = { event: "DELIVERY_ACK",
|
|
98
|
+
ackDelivery(upToSeq) {
|
|
99
|
+
const event = { event: "DELIVERY_ACK", upToSeq };
|
|
96
100
|
const sent = this.sendEvent(event);
|
|
97
|
-
dbg("ackDelivery
|
|
101
|
+
dbg("ackDelivery upToSeq=%d sent=%s", upToSeq, sent);
|
|
102
|
+
return sent;
|
|
103
|
+
}
|
|
104
|
+
requestGapFill(sinceSeq) {
|
|
105
|
+
const event = { event: "REQUEST_GAP_FILL", sinceSeq };
|
|
106
|
+
const sent = this.sendEvent(event);
|
|
107
|
+
dbg("REQUEST_GAP_FILL sinceSeq=%d sent=%s", sinceSeq, sent);
|
|
98
108
|
return sent;
|
|
99
109
|
}
|
|
100
110
|
on(event, listener) {
|
|
@@ -188,11 +198,7 @@ export class ConnectorClient extends EventEmitter {
|
|
|
188
198
|
}
|
|
189
199
|
if (isAddressedMessage(parsed)) {
|
|
190
200
|
dbgMsg("MESSAGE_RECEIVED from=%s contentLength=%d seq=%s", parsed.from, parsed.content.length, parsed.seq ?? "none");
|
|
191
|
-
|
|
192
|
-
(this.lastKnownSeq === undefined || parsed.seq > this.lastKnownSeq)) {
|
|
193
|
-
this.lastKnownSeq = parsed.seq;
|
|
194
|
-
}
|
|
195
|
-
this.emit("message_received", parsed);
|
|
201
|
+
this.handleAddressedMessage(parsed);
|
|
196
202
|
return;
|
|
197
203
|
}
|
|
198
204
|
if (isDeliveryPending(parsed)) {
|
|
@@ -205,23 +211,100 @@ export class ConnectorClient extends EventEmitter {
|
|
|
205
211
|
this.emit("delivery_status", parsed);
|
|
206
212
|
return;
|
|
207
213
|
}
|
|
214
|
+
if (isDeliveryCursor(parsed)) {
|
|
215
|
+
const floor = this.lastKnownSeq ?? 0;
|
|
216
|
+
dbg("DELIVERY_CURSOR deliverySeq=%d deliveredSeq=%s local=%d", parsed.deliverySeq, parsed.deliveredSeq ?? "none", floor);
|
|
217
|
+
if (parsed.deliverySeq > floor) {
|
|
218
|
+
this.requestGapFill(floor);
|
|
219
|
+
}
|
|
220
|
+
else if (parsed.deliveredSeq !== undefined &&
|
|
221
|
+
this.lastKnownSeq !== undefined &&
|
|
222
|
+
parsed.deliveredSeq < this.lastKnownSeq) {
|
|
223
|
+
this.ackDelivery(this.lastKnownSeq);
|
|
224
|
+
}
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
208
227
|
if (isStructuredError(parsed)) {
|
|
209
228
|
dbg("ERROR code=%s message=%s", parsed.code, parsed.message);
|
|
210
229
|
this.handleStructuredError(parsed);
|
|
211
230
|
return;
|
|
212
231
|
}
|
|
213
232
|
}
|
|
233
|
+
handleAddressedMessage(message) {
|
|
234
|
+
if (message.messageId && this.rememberPayloadId(message.messageId)) {
|
|
235
|
+
dbgMsg("duplicate MESSAGE_RECEIVED ignored messageId=%s", message.messageId);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
if (typeof message.seq !== "number") {
|
|
239
|
+
this.emit("message_received", message);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
const floor = this.lastKnownSeq ?? 0;
|
|
243
|
+
if (message.seq <= floor)
|
|
244
|
+
return;
|
|
245
|
+
if (message.seq > floor + 1) {
|
|
246
|
+
this.pendingSeqMessages.set(message.seq, message);
|
|
247
|
+
this.requestGapFill(floor);
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
this.acceptContiguous(message);
|
|
251
|
+
}
|
|
252
|
+
acceptContiguous(message) {
|
|
253
|
+
const seq = message.seq;
|
|
254
|
+
if (typeof seq !== "number")
|
|
255
|
+
return;
|
|
256
|
+
this.emit("message_received", message);
|
|
257
|
+
this.lastKnownSeq = seq;
|
|
258
|
+
let next = seq + 1;
|
|
259
|
+
while (this.pendingSeqMessages.has(next)) {
|
|
260
|
+
const pending = this.pendingSeqMessages.get(next);
|
|
261
|
+
this.pendingSeqMessages.delete(next);
|
|
262
|
+
if (!pending)
|
|
263
|
+
break;
|
|
264
|
+
this.emit("message_received", pending);
|
|
265
|
+
this.lastKnownSeq = next;
|
|
266
|
+
next++;
|
|
267
|
+
}
|
|
268
|
+
this.ackDelivery(next - 1);
|
|
269
|
+
}
|
|
270
|
+
rememberPayloadId(payloadId) {
|
|
271
|
+
if (this.seenPayloadIds.has(payloadId))
|
|
272
|
+
return true;
|
|
273
|
+
this.seenPayloadIds.add(payloadId);
|
|
274
|
+
this.seenPayloadIdOrder.push(payloadId);
|
|
275
|
+
while (this.seenPayloadIdOrder.length > SEEN_PAYLOAD_ID_CAP) {
|
|
276
|
+
const evicted = this.seenPayloadIdOrder.shift();
|
|
277
|
+
if (evicted)
|
|
278
|
+
this.seenPayloadIds.delete(evicted);
|
|
279
|
+
}
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
214
282
|
handleRegisterAck(ack) {
|
|
215
283
|
dbg("REGISTER_ACK status=%s protocolVersion=%d", ack.status, ack.protocolVersion);
|
|
216
284
|
if (ack.status === "ok") {
|
|
217
285
|
if (ack.protocolVersion !== CURRENT_PROTOCOL_VERSION) {
|
|
218
|
-
|
|
286
|
+
const reason = `Unsupported protocol version: ${ack.protocolVersion}`;
|
|
287
|
+
this.intentionalClose = true;
|
|
288
|
+
this.rejectRegister(new Error(reason));
|
|
289
|
+
this.emit("error", new Error(reason));
|
|
290
|
+
this.ws?.close(4001, reason);
|
|
291
|
+
return;
|
|
219
292
|
}
|
|
220
293
|
setEnvironmentContext(ack.agent, ack.owner);
|
|
221
294
|
if (typeof ack.deliverySeq === "number" &&
|
|
222
|
-
this.lastKnownSeq === undefined) {
|
|
295
|
+
(this.lastKnownSeq === undefined || ack.deliverySeq > this.lastKnownSeq)) {
|
|
223
296
|
this.lastKnownSeq = ack.deliverySeq;
|
|
224
|
-
|
|
297
|
+
for (const seq of [...this.pendingSeqMessages.keys()]) {
|
|
298
|
+
if (seq <= ack.deliverySeq)
|
|
299
|
+
this.pendingSeqMessages.delete(seq);
|
|
300
|
+
}
|
|
301
|
+
dbg("delivery cursor reconciled: %d", ack.deliverySeq);
|
|
302
|
+
}
|
|
303
|
+
else if (typeof ack.deliverySeq === "number" &&
|
|
304
|
+
this.lastKnownSeq !== undefined &&
|
|
305
|
+
ack.deliverySeq < this.lastKnownSeq) {
|
|
306
|
+
this.ackDelivery(this.lastKnownSeq);
|
|
307
|
+
dbg("delivery cursor re-ack requested: server=%d local=%d", ack.deliverySeq, this.lastKnownSeq);
|
|
225
308
|
}
|
|
226
309
|
this.backoffMs = BACKOFF_INITIAL_MS;
|
|
227
310
|
this.alreadyConnectedRetries = 0;
|
package/dist/handoff.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare const DEFAULT_IDP_BASE_URL = "https://preview.masons.ai";
|
|
|
3
3
|
export declare const HANDOFF_TIMEOUT_MS: number;
|
|
4
4
|
export declare class SetupFlowError extends Error {
|
|
5
5
|
}
|
|
6
|
+
export type AgentSessionTopology = "single_session" | "multi_session";
|
|
6
7
|
export interface BridgeHandoffResult {
|
|
7
8
|
token: string;
|
|
8
9
|
agent: {
|
|
@@ -22,6 +23,7 @@ export interface BeginBridgeHandoffOptions {
|
|
|
22
23
|
apiHost: string;
|
|
23
24
|
idpBaseUrl: string;
|
|
24
25
|
channelInput?: string;
|
|
26
|
+
sessionTopology?: AgentSessionTopology;
|
|
25
27
|
}
|
|
26
28
|
export declare function beginBridgeHandoff(options: BeginBridgeHandoffOptions): Promise<BridgeHandoffSession>;
|
|
27
29
|
export declare function completeBridgeHandoff(session: BridgeHandoffSession): Promise<BridgeHandoffResult>;
|
package/dist/handoff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../src/handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,aAAa,CAAC;AAarB,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAiBhE,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAKhD,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAY5C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAQD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAOhB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../src/handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,aAAa,CAAC;AAarB,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAiBhE,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAKhD,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAY5C,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAQD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAOhB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAMD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAyD/B;AAKD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAmC9B"}
|
package/dist/handoff.js
CHANGED
|
@@ -18,7 +18,12 @@ export async function beginBridgeHandoff(options) {
|
|
|
18
18
|
const initRes = await fetch(`${apiBase}/v1/cli-handoff/init`, {
|
|
19
19
|
method: "POST",
|
|
20
20
|
headers: { "content-type": "application/json" },
|
|
21
|
-
body: JSON.stringify({
|
|
21
|
+
body: JSON.stringify({
|
|
22
|
+
cli_pubkey: cliPubkeySpki,
|
|
23
|
+
...(options.sessionTopology !== undefined
|
|
24
|
+
? { session_topology: options.sessionTopology }
|
|
25
|
+
: {}),
|
|
26
|
+
}),
|
|
22
27
|
});
|
|
23
28
|
if (!initRes.ok) {
|
|
24
29
|
throw new SetupFlowError(`Setup service rejected init (HTTP ${initRes.status}). Retry in a moment; if it persists, check that ${apiBase} is reachable and not behind a proxy that strips the request body.`);
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
import { PlatformApiError, type PlatformClientConfig } from "./platform-client.js";
|
|
2
2
|
export { PlatformApiError, type PlatformClientConfig };
|
|
3
3
|
export type RuntimeKind = "claude-code" | "openclaw" | "codex" | "passport" | "custom" | (string & {});
|
|
4
|
+
export type RuntimeEndpointCapability = "remote_spawn_v1" | "background_exchange_v1" | "foreground_channel_v1" | (string & {});
|
|
5
|
+
export type EndpointExecutionSurface = "owner_attached" | "headless" | (string & {});
|
|
6
|
+
export type EndpointBackgroundExchangeMode = "resident_endpoint" | "adapter_managed_turn" | (string & {});
|
|
7
|
+
export type RuntimeWorkTargetRef = {
|
|
8
|
+
kind: "projection_endpoint";
|
|
9
|
+
projection_endpoint_id: string;
|
|
10
|
+
background_exchange_mode: "resident_endpoint";
|
|
11
|
+
} | {
|
|
12
|
+
kind: "projection_endpoint";
|
|
13
|
+
projection_endpoint_id: string;
|
|
14
|
+
runtime_session_id: string;
|
|
15
|
+
background_exchange_mode: "adapter_managed_turn";
|
|
16
|
+
};
|
|
4
17
|
export interface WorkspaceMetadata {
|
|
5
18
|
root: string;
|
|
6
19
|
cwd: string;
|
|
7
20
|
remote?: string;
|
|
8
21
|
branch?: string;
|
|
9
22
|
}
|
|
10
|
-
export type ShareWithPeerField = "workspace" | "tracking_ref" | "
|
|
23
|
+
export type ShareWithPeerField = "workspace" | "tracking_ref" | "fingerprint" | (string & {});
|
|
11
24
|
export interface RegisterRuntimeEndpointParams {
|
|
12
25
|
as?: string;
|
|
13
26
|
runtime_kind: RuntimeKind;
|
|
@@ -16,12 +29,18 @@ export interface RegisterRuntimeEndpointParams {
|
|
|
16
29
|
display_label: string;
|
|
17
30
|
workspace?: WorkspaceMetadata;
|
|
18
31
|
tracking_ref?: string;
|
|
32
|
+
runtime_capabilities?: RuntimeEndpointCapability[];
|
|
33
|
+
execution_surface?: EndpointExecutionSurface;
|
|
34
|
+
background_exchange_mode?: EndpointBackgroundExchangeMode;
|
|
19
35
|
share_with_peer?: ShareWithPeerField[];
|
|
20
36
|
}
|
|
21
37
|
export interface RegisterRuntimeEndpointResponse {
|
|
22
38
|
endpoint_id: string;
|
|
23
39
|
node_id: string;
|
|
24
40
|
display_label: string;
|
|
41
|
+
runtime_capabilities?: RuntimeEndpointCapability[];
|
|
42
|
+
execution_surface?: EndpointExecutionSurface;
|
|
43
|
+
background_exchange_mode?: EndpointBackgroundExchangeMode;
|
|
25
44
|
heartbeat_after_seconds: number;
|
|
26
45
|
lease_ttl_seconds: number;
|
|
27
46
|
soft_retention_seconds: number;
|
|
@@ -39,6 +58,10 @@ export interface OwnedRuntimeEndpointView {
|
|
|
39
58
|
fingerprint?: {
|
|
40
59
|
workspace_hash_per_peer?: Record<string, string>;
|
|
41
60
|
};
|
|
61
|
+
runtime_capabilities?: RuntimeEndpointCapability[];
|
|
62
|
+
execution_surface?: EndpointExecutionSurface;
|
|
63
|
+
background_exchange_mode?: EndpointBackgroundExchangeMode;
|
|
64
|
+
runtime_work_target_ref?: RuntimeWorkTargetRef;
|
|
42
65
|
registered_at: string;
|
|
43
66
|
retired_at?: string;
|
|
44
67
|
is_self: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-endpoint-client.d.ts","sourceRoot":"","sources":["../src/runtime-endpoint-client.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,gBAAgB,EAChB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,CAAC;AAmBvD,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,UAAU,GACV,OAAO,GACP,UAAU,GACV,QAAQ,GACR,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-endpoint-client.d.ts","sourceRoot":"","sources":["../src/runtime-endpoint-client.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const CURRENT_PROTOCOL_VERSION =
|
|
1
|
+
export declare const CURRENT_PROTOCOL_VERSION = 3;
|
|
2
2
|
export declare const REGISTER_ACK_TIMEOUT_MS = 15000;
|
|
3
3
|
export declare const SEND_ACK_TIMEOUT_MS = 15000;
|
|
4
4
|
export interface RegisterEvent {
|
|
@@ -23,7 +23,11 @@ export interface AddressedTypingEvent {
|
|
|
23
23
|
}
|
|
24
24
|
export interface AddressedDeliveryAckEvent {
|
|
25
25
|
event: "DELIVERY_ACK";
|
|
26
|
-
|
|
26
|
+
upToSeq: number;
|
|
27
|
+
}
|
|
28
|
+
export interface RequestGapFillEvent {
|
|
29
|
+
event: "REQUEST_GAP_FILL";
|
|
30
|
+
sinceSeq: number;
|
|
27
31
|
}
|
|
28
32
|
export interface RegisterAckEvent {
|
|
29
33
|
event: "REGISTER_ACK";
|
|
@@ -47,6 +51,7 @@ export interface SendAckEvent {
|
|
|
47
51
|
}
|
|
48
52
|
export interface AddressedMessageEvent {
|
|
49
53
|
event: "MESSAGE_RECEIVED";
|
|
54
|
+
messageId?: string;
|
|
50
55
|
from: string;
|
|
51
56
|
content: string;
|
|
52
57
|
contentType: string;
|
|
@@ -79,12 +84,18 @@ export interface DeliveryStatusEvent {
|
|
|
79
84
|
status: "delivered";
|
|
80
85
|
deliveredAt?: string;
|
|
81
86
|
}
|
|
82
|
-
export
|
|
83
|
-
|
|
87
|
+
export interface DeliveryCursorEvent {
|
|
88
|
+
event: "DELIVERY_CURSOR";
|
|
89
|
+
deliverySeq: number;
|
|
90
|
+
deliveredSeq?: number;
|
|
91
|
+
}
|
|
92
|
+
export type PluginToConnectorEvent = RegisterEvent | AddressedSendEvent | AddressedTypingEvent | AddressedDeliveryAckEvent | RequestGapFillEvent;
|
|
93
|
+
export type ConnectorToPluginEvent = RegisterAckEvent | SendAckEvent | AddressedMessageEvent | DeliveryPendingEvent | DeliveryStatusEvent | DeliveryCursorEvent | StructuredErrorEvent;
|
|
84
94
|
export declare function isRegisterAck(data: unknown): data is RegisterAckEvent;
|
|
85
95
|
export declare function isSendAck(data: unknown): data is SendAckEvent;
|
|
86
96
|
export declare function isAddressedMessage(data: unknown): data is AddressedMessageEvent;
|
|
87
97
|
export declare function isDeliveryPending(data: unknown): data is DeliveryPendingEvent;
|
|
88
98
|
export declare function isDeliveryStatus(data: unknown): data is DeliveryStatusEvent;
|
|
99
|
+
export declare function isDeliveryCursor(data: unknown): data is DeliveryCursorEvent;
|
|
89
100
|
export declare function isStructuredError(data: unknown): data is StructuredErrorEvent;
|
|
90
101
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAQ1C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const CURRENT_PROTOCOL_VERSION =
|
|
1
|
+
export const CURRENT_PROTOCOL_VERSION = 3;
|
|
2
2
|
export const REGISTER_ACK_TIMEOUT_MS = 15_000;
|
|
3
3
|
export const SEND_ACK_TIMEOUT_MS = 15_000;
|
|
4
4
|
function isObject(data) {
|
|
@@ -15,6 +15,7 @@ export function isSendAck(data) {
|
|
|
15
15
|
export function isAddressedMessage(data) {
|
|
16
16
|
return (isObject(data) &&
|
|
17
17
|
data.event === "MESSAGE_RECEIVED" &&
|
|
18
|
+
(data.messageId === undefined || typeof data.messageId === "string") &&
|
|
18
19
|
typeof data.from === "string" &&
|
|
19
20
|
typeof data.content === "string");
|
|
20
21
|
}
|
|
@@ -30,6 +31,17 @@ export function isDeliveryStatus(data) {
|
|
|
30
31
|
typeof data.messageId === "string" &&
|
|
31
32
|
typeof data.status === "string");
|
|
32
33
|
}
|
|
34
|
+
export function isDeliveryCursor(data) {
|
|
35
|
+
return (isObject(data) &&
|
|
36
|
+
data.event === "DELIVERY_CURSOR" &&
|
|
37
|
+
typeof data.deliverySeq === "number" &&
|
|
38
|
+
Number.isInteger(data.deliverySeq) &&
|
|
39
|
+
data.deliverySeq >= 0 &&
|
|
40
|
+
(data.deliveredSeq === undefined ||
|
|
41
|
+
(typeof data.deliveredSeq === "number" &&
|
|
42
|
+
Number.isInteger(data.deliveredSeq) &&
|
|
43
|
+
data.deliveredSeq >= 0)));
|
|
44
|
+
}
|
|
33
45
|
export function isStructuredError(data) {
|
|
34
46
|
return (isObject(data) &&
|
|
35
47
|
data.event === "ERROR" &&
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PLUGIN_VERSION = "0.
|
|
1
|
+
export declare const PLUGIN_VERSION = "0.6.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,UAAU,CAAC"}
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PLUGIN_VERSION = "0.
|
|
1
|
+
export const PLUGIN_VERSION = "0.6.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masons/agent-network",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
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)",
|
|
@@ -78,8 +78,7 @@
|
|
|
78
78
|
"@types/node": "^25",
|
|
79
79
|
"@types/ws": "^8",
|
|
80
80
|
"ts-node": "^10",
|
|
81
|
-
"typescript": "^5"
|
|
82
|
-
"@workspace/types": "0.0.0"
|
|
81
|
+
"typescript": "^5"
|
|
83
82
|
},
|
|
84
83
|
"scripts": {
|
|
85
84
|
"build": "tsc",
|