@masons/runtime-broker 0.1.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/LICENSE +21 -0
- package/README.md +35 -0
- package/dist/broker/broker-daemon.d.ts +71 -0
- package/dist/broker/broker-daemon.d.ts.map +1 -0
- package/dist/broker/broker-daemon.js +837 -0
- package/dist/broker/claude-code-spawn-driver.d.ts +14 -0
- package/dist/broker/claude-code-spawn-driver.d.ts.map +1 -0
- package/dist/broker/claude-code-spawn-driver.js +39 -0
- package/dist/broker/closed-endpoint-lookup.d.ts +25 -0
- package/dist/broker/closed-endpoint-lookup.d.ts.map +1 -0
- package/dist/broker/closed-endpoint-lookup.js +59 -0
- package/dist/broker/codex-spawn-driver-stub.d.ts +7 -0
- package/dist/broker/codex-spawn-driver-stub.d.ts.map +1 -0
- package/dist/broker/codex-spawn-driver-stub.js +13 -0
- package/dist/broker/connector-ws.d.ts +47 -0
- package/dist/broker/connector-ws.d.ts.map +1 -0
- package/dist/broker/connector-ws.js +60 -0
- package/dist/broker/control-event-dispatcher.d.ts +21 -0
- package/dist/broker/control-event-dispatcher.d.ts.map +1 -0
- package/dist/broker/control-event-dispatcher.js +45 -0
- package/dist/broker/control-event-types.d.ts +28 -0
- package/dist/broker/control-event-types.d.ts.map +1 -0
- package/dist/broker/control-event-types.js +1 -0
- package/dist/broker/correlation-ring.d.ts +10 -0
- package/dist/broker/correlation-ring.d.ts.map +1 -0
- package/dist/broker/correlation-ring.js +32 -0
- package/dist/broker/discovery-file.d.ts +12 -0
- package/dist/broker/discovery-file.d.ts.map +1 -0
- package/dist/broker/discovery-file.js +77 -0
- package/dist/broker/endpoint-registry.d.ts +53 -0
- package/dist/broker/endpoint-registry.d.ts.map +1 -0
- package/dist/broker/endpoint-registry.js +83 -0
- package/dist/broker/endpoint-state-machine.d.ts +40 -0
- package/dist/broker/endpoint-state-machine.d.ts.map +1 -0
- package/dist/broker/endpoint-state-machine.js +92 -0
- package/dist/broker/entry.d.ts +13 -0
- package/dist/broker/entry.d.ts.map +1 -0
- package/dist/broker/entry.js +235 -0
- package/dist/broker/grace-timer.d.ts +9 -0
- package/dist/broker/grace-timer.d.ts.map +1 -0
- package/dist/broker/grace-timer.js +34 -0
- package/dist/broker/ipc-server.d.ts +79 -0
- package/dist/broker/ipc-server.d.ts.map +1 -0
- package/dist/broker/ipc-server.js +263 -0
- package/dist/broker/logger.d.ts +10 -0
- package/dist/broker/logger.d.ts.map +1 -0
- package/dist/broker/logger.js +34 -0
- package/dist/broker/network-presence-changed-event-types.d.ts +8 -0
- package/dist/broker/network-presence-changed-event-types.d.ts.map +1 -0
- package/dist/broker/network-presence-changed-event-types.js +1 -0
- package/dist/broker/network-presence-emitter.d.ts +22 -0
- package/dist/broker/network-presence-emitter.d.ts.map +1 -0
- package/dist/broker/network-presence-emitter.js +150 -0
- package/dist/broker/network-presence.d.ts +31 -0
- package/dist/broker/network-presence.d.ts.map +1 -0
- package/dist/broker/network-presence.js +109 -0
- package/dist/broker/paths.d.ts +11 -0
- package/dist/broker/paths.d.ts.map +1 -0
- package/dist/broker/paths.js +30 -0
- package/dist/broker/plugin-liveness.d.ts +2 -0
- package/dist/broker/plugin-liveness.d.ts.map +1 -0
- package/dist/broker/plugin-liveness.js +15 -0
- package/dist/broker/received-message-correlation-cache.d.ts +23 -0
- package/dist/broker/received-message-correlation-cache.d.ts.map +1 -0
- package/dist/broker/received-message-correlation-cache.js +114 -0
- package/dist/broker/reconnecting-buffer.d.ts +23 -0
- package/dist/broker/reconnecting-buffer.d.ts.map +1 -0
- package/dist/broker/reconnecting-buffer.js +107 -0
- package/dist/broker/routing-table.d.ts +22 -0
- package/dist/broker/routing-table.d.ts.map +1 -0
- package/dist/broker/routing-table.js +35 -0
- package/dist/broker/runtime-endpoint-port.d.ts +20 -0
- package/dist/broker/runtime-endpoint-port.d.ts.map +1 -0
- package/dist/broker/runtime-endpoint-port.js +1 -0
- package/dist/broker/services-event-client.d.ts +21 -0
- package/dist/broker/services-event-client.d.ts.map +1 -0
- package/dist/broker/services-event-client.js +221 -0
- package/dist/broker/spawn-correlation.d.ts +28 -0
- package/dist/broker/spawn-correlation.d.ts.map +1 -0
- package/dist/broker/spawn-correlation.js +77 -0
- package/dist/broker/spawn-driver.d.ts +27 -0
- package/dist/broker/spawn-driver.d.ts.map +1 -0
- package/dist/broker/spawn-driver.js +15 -0
- package/dist/broker/task-hint-handler.d.ts +21 -0
- package/dist/broker/task-hint-handler.d.ts.map +1 -0
- package/dist/broker/task-hint-handler.js +33 -0
- package/dist/broker/transition-state-retry-queue.d.ts +20 -0
- package/dist/broker/transition-state-retry-queue.d.ts.map +1 -0
- package/dist/broker/transition-state-retry-queue.js +48 -0
- package/dist/broker/undispatched-changed-event-types.d.ts +29 -0
- package/dist/broker/undispatched-changed-event-types.d.ts.map +1 -0
- package/dist/broker/undispatched-changed-event-types.js +14 -0
- package/dist/broker/undispatched-emitter.d.ts +22 -0
- package/dist/broker/undispatched-emitter.d.ts.map +1 -0
- package/dist/broker/undispatched-emitter.js +149 -0
- package/dist/broker/undispatched-inbox.d.ts +26 -0
- package/dist/broker/undispatched-inbox.d.ts.map +1 -0
- package/dist/broker/undispatched-inbox.js +53 -0
- package/dist/broker/version-handshake.d.ts +30 -0
- package/dist/broker/version-handshake.d.ts.map +1 -0
- package/dist/broker/version-handshake.js +47 -0
- package/dist/broker-client/broker-client.d.ts +65 -0
- package/dist/broker-client/broker-client.d.ts.map +1 -0
- package/dist/broker-client/broker-client.js +165 -0
- package/dist/broker-client/lazy-spawn.d.ts +18 -0
- package/dist/broker-client/lazy-spawn.d.ts.map +1 -0
- package/dist/broker-client/lazy-spawn.js +61 -0
- package/dist/config-fs.d.ts +4 -0
- package/dist/config-fs.d.ts.map +1 -0
- package/dist/config-fs.js +23 -0
- package/dist/connector-client.d.ts +65 -0
- package/dist/connector-client.d.ts.map +1 -0
- package/dist/connector-client.js +364 -0
- package/dist/environment-context.d.ts +21 -0
- package/dist/environment-context.d.ts.map +1 -0
- package/dist/environment-context.js +39 -0
- package/dist/platform-client.d.ts +84 -0
- package/dist/platform-client.d.ts.map +1 -0
- package/dist/platform-client.js +94 -0
- package/dist/runtime-endpoint-client.d.ts +74 -0
- package/dist/runtime-endpoint-client.d.ts.map +1 -0
- package/dist/runtime-endpoint-client.js +163 -0
- package/dist/types.d.ts +90 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +38 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-endpoint-client.d.ts","sourceRoot":"","sources":["../src/runtime-endpoint-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { PlatformApiError, } from "./platform-client.js";
|
|
2
|
+
export { PlatformApiError };
|
|
3
|
+
function baseUrl(cfg) {
|
|
4
|
+
const trimmed = cfg.apiHost.replace(/\/+$/, "");
|
|
5
|
+
const origin = /^https?:\/\//.test(trimmed) ? trimmed : `https://${trimmed}`;
|
|
6
|
+
return `${origin}/v1`;
|
|
7
|
+
}
|
|
8
|
+
async function handleError(res) {
|
|
9
|
+
const body = (await res.json().catch(() => ({})));
|
|
10
|
+
const code = typeof body.error === "string" ? body.error : "unknown";
|
|
11
|
+
const message = typeof body.message === "string" ? body.message : res.statusText;
|
|
12
|
+
throw new PlatformApiError(res.status, code, message);
|
|
13
|
+
}
|
|
14
|
+
function authHeaders(runtimeKey) {
|
|
15
|
+
return { Authorization: `Bearer ${runtimeKey}` };
|
|
16
|
+
}
|
|
17
|
+
function jsonHeaders(runtimeKey) {
|
|
18
|
+
return {
|
|
19
|
+
...authHeaders(runtimeKey),
|
|
20
|
+
"Content-Type": "application/json",
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export async function registerRuntimeEndpoint(cfg, runtimeKey, params) {
|
|
24
|
+
const res = await fetch(`${baseUrl(cfg)}/runtime-endpoints`, {
|
|
25
|
+
method: "POST",
|
|
26
|
+
headers: jsonHeaders(runtimeKey),
|
|
27
|
+
body: JSON.stringify(params),
|
|
28
|
+
});
|
|
29
|
+
if (!res.ok)
|
|
30
|
+
return handleError(res);
|
|
31
|
+
return (await res.json());
|
|
32
|
+
}
|
|
33
|
+
export async function heartbeatRuntimeEndpoint(cfg, runtimeKey, endpointId) {
|
|
34
|
+
const res = await fetch(`${baseUrl(cfg)}/runtime-endpoints/${encodeURIComponent(endpointId)}/heartbeat`, {
|
|
35
|
+
method: "POST",
|
|
36
|
+
headers: authHeaders(runtimeKey),
|
|
37
|
+
});
|
|
38
|
+
if (!res.ok)
|
|
39
|
+
return handleError(res);
|
|
40
|
+
return ((await res.json().catch(() => ({}))) ??
|
|
41
|
+
{});
|
|
42
|
+
}
|
|
43
|
+
export async function transitionRuntimeEndpointState(cfg, runtimeKey, endpointId, params) {
|
|
44
|
+
const res = await fetch(`${baseUrl(cfg)}/runtime-endpoints/${encodeURIComponent(endpointId)}/state`, {
|
|
45
|
+
method: "POST",
|
|
46
|
+
headers: jsonHeaders(runtimeKey),
|
|
47
|
+
body: JSON.stringify(params),
|
|
48
|
+
});
|
|
49
|
+
if (!res.ok)
|
|
50
|
+
return handleError(res);
|
|
51
|
+
return ((await res.json().catch(() => ({}))) ??
|
|
52
|
+
{});
|
|
53
|
+
}
|
|
54
|
+
export async function unregisterRuntimeEndpoint(cfg, runtimeKey, endpointId, asNodeId) {
|
|
55
|
+
const query = asNodeId
|
|
56
|
+
? `?${new URLSearchParams({ as: asNodeId }).toString()}`
|
|
57
|
+
: "";
|
|
58
|
+
const res = await fetch(`${baseUrl(cfg)}/runtime-endpoints/${encodeURIComponent(endpointId)}${query}`, {
|
|
59
|
+
method: "DELETE",
|
|
60
|
+
headers: authHeaders(runtimeKey),
|
|
61
|
+
});
|
|
62
|
+
if (!res.ok)
|
|
63
|
+
return handleError(res);
|
|
64
|
+
return ((await res.json().catch(() => ({}))) ??
|
|
65
|
+
{});
|
|
66
|
+
}
|
|
67
|
+
export async function listOwnedRuntimeEndpoints(cfg, runtimeKey, asNodeId) {
|
|
68
|
+
const query = new URLSearchParams({ as: asNodeId }).toString();
|
|
69
|
+
const res = await fetch(`${baseUrl(cfg)}/runtime-endpoints?${query}`, {
|
|
70
|
+
headers: authHeaders(runtimeKey),
|
|
71
|
+
});
|
|
72
|
+
if (!res.ok)
|
|
73
|
+
return handleError(res);
|
|
74
|
+
return (await res.json());
|
|
75
|
+
}
|
|
76
|
+
export async function getOwnedRuntimeEndpoint(cfg, runtimeKey, endpointId, asNodeId) {
|
|
77
|
+
const query = new URLSearchParams({ as: asNodeId }).toString();
|
|
78
|
+
const res = await fetch(`${baseUrl(cfg)}/runtime-endpoints/${encodeURIComponent(endpointId)}?${query}`, {
|
|
79
|
+
headers: authHeaders(runtimeKey),
|
|
80
|
+
});
|
|
81
|
+
if (!res.ok)
|
|
82
|
+
return handleError(res);
|
|
83
|
+
return (await res.json());
|
|
84
|
+
}
|
|
85
|
+
export async function emitRuntimeUndispatchedChanged(cfg, runtimeKey, event) {
|
|
86
|
+
let res;
|
|
87
|
+
try {
|
|
88
|
+
res = await fetch(`${baseUrl(cfg)}/runtime/undispatched-changed`, {
|
|
89
|
+
method: "POST",
|
|
90
|
+
headers: jsonHeaders(runtimeKey),
|
|
91
|
+
body: JSON.stringify(event),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
return {
|
|
96
|
+
ok: false,
|
|
97
|
+
terminal: false,
|
|
98
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
if (res.status === 204)
|
|
102
|
+
return { ok: true };
|
|
103
|
+
if (res.status === 401 || res.status === 422) {
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
terminal: true,
|
|
107
|
+
status: res.status,
|
|
108
|
+
detail: await readErrorDetail(res),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
ok: false,
|
|
113
|
+
terminal: false,
|
|
114
|
+
status: res.status,
|
|
115
|
+
detail: await readErrorDetail(res),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export async function emitRuntimeNetworkPresenceChanged(cfg, runtimeKey, event) {
|
|
119
|
+
let res;
|
|
120
|
+
try {
|
|
121
|
+
res = await fetch(`${baseUrl(cfg)}/runtime/network-presence-changed`, {
|
|
122
|
+
method: "POST",
|
|
123
|
+
headers: jsonHeaders(runtimeKey),
|
|
124
|
+
body: JSON.stringify(event),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
return {
|
|
129
|
+
ok: false,
|
|
130
|
+
terminal: false,
|
|
131
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
if (res.status === 204)
|
|
135
|
+
return { ok: true };
|
|
136
|
+
if (res.status === 401 || res.status === 422) {
|
|
137
|
+
return {
|
|
138
|
+
ok: false,
|
|
139
|
+
terminal: true,
|
|
140
|
+
status: res.status,
|
|
141
|
+
detail: await readErrorDetail(res),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
ok: false,
|
|
146
|
+
terminal: false,
|
|
147
|
+
status: res.status,
|
|
148
|
+
detail: await readErrorDetail(res),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
async function readErrorDetail(res) {
|
|
152
|
+
try {
|
|
153
|
+
const body = (await res.json().catch(() => null));
|
|
154
|
+
if (!body)
|
|
155
|
+
return undefined;
|
|
156
|
+
const code = typeof body.error === "string" ? body.error : undefined;
|
|
157
|
+
const message = typeof body.message === "string" ? body.message : undefined;
|
|
158
|
+
return [code, message].filter(Boolean).join(": ") || undefined;
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
163
|
+
}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export declare const CURRENT_PROTOCOL_VERSION = 2;
|
|
2
|
+
export declare const REGISTER_ACK_TIMEOUT_MS = 15000;
|
|
3
|
+
export declare const SEND_ACK_TIMEOUT_MS = 15000;
|
|
4
|
+
export interface RegisterEvent {
|
|
5
|
+
event: "REGISTER";
|
|
6
|
+
token: string;
|
|
7
|
+
protocolVersion: number;
|
|
8
|
+
clientVersion?: string;
|
|
9
|
+
lastKnownSeq?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface AddressedSendEvent {
|
|
12
|
+
event: "SEND_MESSAGE";
|
|
13
|
+
messageId: string;
|
|
14
|
+
to: string;
|
|
15
|
+
content: string;
|
|
16
|
+
contentType: string;
|
|
17
|
+
metadata?: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
export interface AddressedTypingEvent {
|
|
20
|
+
event: "TYPING";
|
|
21
|
+
to: string;
|
|
22
|
+
isTyping: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface AddressedDeliveryAckEvent {
|
|
25
|
+
event: "DELIVERY_ACK";
|
|
26
|
+
upTo: string;
|
|
27
|
+
}
|
|
28
|
+
export interface RegisterAckEvent {
|
|
29
|
+
event: "REGISTER_ACK";
|
|
30
|
+
status: "ok" | "error";
|
|
31
|
+
reason?: string;
|
|
32
|
+
protocolVersion: number;
|
|
33
|
+
agent?: {
|
|
34
|
+
handle: string;
|
|
35
|
+
name?: string;
|
|
36
|
+
};
|
|
37
|
+
owner?: {
|
|
38
|
+
handle: string;
|
|
39
|
+
displayName?: string;
|
|
40
|
+
};
|
|
41
|
+
deliverySeq?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface SendAckEvent {
|
|
44
|
+
event: "SEND_ACK";
|
|
45
|
+
messageId: string;
|
|
46
|
+
status: "delivered" | "stored";
|
|
47
|
+
}
|
|
48
|
+
export interface AddressedMessageEvent {
|
|
49
|
+
event: "MESSAGE_RECEIVED";
|
|
50
|
+
from: string;
|
|
51
|
+
content: string;
|
|
52
|
+
contentType: string;
|
|
53
|
+
metadata: Record<string, unknown>;
|
|
54
|
+
sentAt?: string;
|
|
55
|
+
seq?: number;
|
|
56
|
+
}
|
|
57
|
+
export interface NodeRefView {
|
|
58
|
+
kind: string;
|
|
59
|
+
mstpAddress: string;
|
|
60
|
+
handle?: string;
|
|
61
|
+
displayName?: string;
|
|
62
|
+
avatarUrl?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface DeliveryPendingEvent {
|
|
65
|
+
event: "DELIVERY_PENDING";
|
|
66
|
+
count: number;
|
|
67
|
+
upTo: string;
|
|
68
|
+
}
|
|
69
|
+
export interface StructuredErrorEvent {
|
|
70
|
+
event: "ERROR";
|
|
71
|
+
messageId?: string;
|
|
72
|
+
to?: string;
|
|
73
|
+
code: string;
|
|
74
|
+
message: string;
|
|
75
|
+
}
|
|
76
|
+
export interface DeliveryStatusEvent {
|
|
77
|
+
event: "DELIVERY_STATUS";
|
|
78
|
+
messageId: string;
|
|
79
|
+
status: "delivered";
|
|
80
|
+
deliveredAt?: string;
|
|
81
|
+
}
|
|
82
|
+
export type PluginToConnectorEvent = RegisterEvent | AddressedSendEvent | AddressedTypingEvent | AddressedDeliveryAckEvent;
|
|
83
|
+
export type ConnectorToPluginEvent = RegisterAckEvent | SendAckEvent | AddressedMessageEvent | DeliveryPendingEvent | DeliveryStatusEvent | StructuredErrorEvent;
|
|
84
|
+
export declare function isRegisterAck(data: unknown): data is RegisterAckEvent;
|
|
85
|
+
export declare function isSendAck(data: unknown): data is SendAckEvent;
|
|
86
|
+
export declare function isAddressedMessage(data: unknown): data is AddressedMessageEvent;
|
|
87
|
+
export declare function isDeliveryPending(data: unknown): data is DeliveryPendingEvent;
|
|
88
|
+
export declare function isDeliveryStatus(data: unknown): data is DeliveryStatusEvent;
|
|
89
|
+
export declare function isStructuredError(data: unknown): data is StructuredErrorEvent;
|
|
90
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const CURRENT_PROTOCOL_VERSION = 2;
|
|
2
|
+
export const REGISTER_ACK_TIMEOUT_MS = 15_000;
|
|
3
|
+
export const SEND_ACK_TIMEOUT_MS = 15_000;
|
|
4
|
+
function isObject(data) {
|
|
5
|
+
return typeof data === "object" && data !== null;
|
|
6
|
+
}
|
|
7
|
+
export function isRegisterAck(data) {
|
|
8
|
+
return isObject(data) && data.event === "REGISTER_ACK";
|
|
9
|
+
}
|
|
10
|
+
export function isSendAck(data) {
|
|
11
|
+
return (isObject(data) &&
|
|
12
|
+
data.event === "SEND_ACK" &&
|
|
13
|
+
typeof data.messageId === "string");
|
|
14
|
+
}
|
|
15
|
+
export function isAddressedMessage(data) {
|
|
16
|
+
return (isObject(data) &&
|
|
17
|
+
data.event === "MESSAGE_RECEIVED" &&
|
|
18
|
+
typeof data.from === "string" &&
|
|
19
|
+
typeof data.content === "string");
|
|
20
|
+
}
|
|
21
|
+
export function isDeliveryPending(data) {
|
|
22
|
+
return (isObject(data) &&
|
|
23
|
+
data.event === "DELIVERY_PENDING" &&
|
|
24
|
+
typeof data.count === "number" &&
|
|
25
|
+
typeof data.upTo === "string");
|
|
26
|
+
}
|
|
27
|
+
export function isDeliveryStatus(data) {
|
|
28
|
+
return (isObject(data) &&
|
|
29
|
+
data.event === "DELIVERY_STATUS" &&
|
|
30
|
+
typeof data.messageId === "string" &&
|
|
31
|
+
typeof data.status === "string");
|
|
32
|
+
}
|
|
33
|
+
export function isStructuredError(data) {
|
|
34
|
+
return (isObject(data) &&
|
|
35
|
+
data.event === "ERROR" &&
|
|
36
|
+
typeof data.code === "string" &&
|
|
37
|
+
typeof data.message === "string");
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const PLUGIN_VERSION = "0.1.0";
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@masons/runtime-broker",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "MASONS Runtime Broker — local daemon and BrokerClient SDK for multi-session agent runtime coordination.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "MASONS.ai <hello@masons.ai> (https://masons.ai)",
|
|
7
|
+
"homepage": "https://masons.ai",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"runtime-broker",
|
|
10
|
+
"agent",
|
|
11
|
+
"multi-session",
|
|
12
|
+
"masons",
|
|
13
|
+
"claude-code",
|
|
14
|
+
"codex"
|
|
15
|
+
],
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=20.10"
|
|
18
|
+
},
|
|
19
|
+
"type": "module",
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsc",
|
|
25
|
+
"dev": "tsc --watch",
|
|
26
|
+
"test": "tsc -p test/tsconfig.json && node --test --loader ts-node/esm 'test/**/*.test.ts'",
|
|
27
|
+
"lint": "biome check",
|
|
28
|
+
"format": "biome format --write",
|
|
29
|
+
"prepublishOnly": "bash scripts/check-version.sh && npm run build && npm run test",
|
|
30
|
+
"release": "pnpm publish --access public"
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"dist/"
|
|
34
|
+
],
|
|
35
|
+
"main": "./dist/broker-client/broker-client.js",
|
|
36
|
+
"types": "./dist/broker-client/broker-client.d.ts",
|
|
37
|
+
"exports": {
|
|
38
|
+
".": {
|
|
39
|
+
"types": "./dist/broker-client/broker-client.d.ts",
|
|
40
|
+
"default": "./dist/broker-client/broker-client.js"
|
|
41
|
+
},
|
|
42
|
+
"./client": {
|
|
43
|
+
"types": "./dist/broker-client/broker-client.d.ts",
|
|
44
|
+
"default": "./dist/broker-client/broker-client.js"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"debug": "^4.4.3",
|
|
49
|
+
"env-paths": "^3.0.0",
|
|
50
|
+
"ws": "8.18.3"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@types/debug": "^4.1.12",
|
|
54
|
+
"@types/node": "^25",
|
|
55
|
+
"@types/ws": "^8",
|
|
56
|
+
"@workspace/types": "workspace:*",
|
|
57
|
+
"ts-node": "^10",
|
|
58
|
+
"typescript": "^5"
|
|
59
|
+
}
|
|
60
|
+
}
|