@rkat/mobkit-sdk 0.4.9
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/agent-builder.d.ts +44 -0
- package/dist/agent-builder.d.ts.map +1 -0
- package/dist/agent-builder.js +111 -0
- package/dist/agent-builder.js.map +1 -0
- package/dist/builder.d.ts +74 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +145 -0
- package/dist/builder.js.map +1 -0
- package/dist/cjs/agent-builder.cjs +114 -0
- package/dist/cjs/builder.cjs +182 -0
- package/dist/cjs/client.cjs +182 -0
- package/dist/cjs/config/auth.cjs +44 -0
- package/dist/cjs/config/index.cjs +51 -0
- package/dist/cjs/config/memory.cjs +28 -0
- package/dist/cjs/config/session-store.cjs +41 -0
- package/dist/cjs/errors.cjs +82 -0
- package/dist/cjs/events.cjs +176 -0
- package/dist/cjs/helpers.cjs +72 -0
- package/dist/cjs/index.cjs +130 -0
- package/dist/cjs/models.cjs +124 -0
- package/dist/cjs/runtime.cjs +476 -0
- package/dist/cjs/sse.cjs +79 -0
- package/dist/cjs/transport.cjs +282 -0
- package/dist/cjs/types.cjs +376 -0
- package/dist/client.d.ts +79 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +178 -0
- package/dist/client.js.map +1 -0
- package/dist/config/auth.d.ts +28 -0
- package/dist/config/auth.d.ts.map +1 -0
- package/dist/config/auth.js +39 -0
- package/dist/config/auth.js.map +1 -0
- package/dist/config/index.d.ts +16 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +16 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/memory.d.ts +16 -0
- package/dist/config/memory.d.ts.map +1 -0
- package/dist/config/memory.js +25 -0
- package/dist/config/memory.js.map +1 -0
- package/dist/config/session-store.d.ts +23 -0
- package/dist/config/session-store.d.ts.map +1 -0
- package/dist/config/session-store.js +36 -0
- package/dist/config/session-store.js.map +1 -0
- package/dist/errors.d.ts +48 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +74 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +126 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +164 -0
- package/dist/events.js.map +1 -0
- package/dist/helpers.d.ts +58 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +62 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/models.d.ts +61 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +118 -0
- package/dist/models.js.map +1 -0
- package/dist/runtime.d.ts +131 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +470 -0
- package/dist/runtime.js.map +1 -0
- package/dist/sse.d.ts +21 -0
- package/dist/sse.d.ts.map +1 -0
- package/dist/sse.js +76 -0
- package/dist/sse.js.map +1 -0
- package/dist/transport.d.ts +84 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +275 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +209 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +348 -0
- package/dist/types.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent subprocess transport for MobKit JSON-RPC.
|
|
3
|
+
*
|
|
4
|
+
* Keeps a long-lived gateway binary alive, communicating over stdin/stdout
|
|
5
|
+
* newline-delimited JSON. Supports bidirectional callbacks from Rust.
|
|
6
|
+
*/
|
|
7
|
+
export interface JsonRpcRequest {
|
|
8
|
+
readonly jsonrpc: "2.0";
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly method: string;
|
|
11
|
+
readonly params: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface JsonRpcSuccess {
|
|
14
|
+
readonly jsonrpc: "2.0";
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly result: unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface JsonRpcErrorBody {
|
|
19
|
+
readonly code: number;
|
|
20
|
+
readonly message: string;
|
|
21
|
+
}
|
|
22
|
+
export interface JsonRpcErrorResponse {
|
|
23
|
+
readonly jsonrpc: "2.0";
|
|
24
|
+
readonly id: string;
|
|
25
|
+
readonly error: JsonRpcErrorBody;
|
|
26
|
+
}
|
|
27
|
+
export type JsonRpcResponse = JsonRpcSuccess | JsonRpcErrorResponse;
|
|
28
|
+
export type JsonRpcTransport = (request: JsonRpcRequest) => Promise<unknown>;
|
|
29
|
+
export type JsonRpcSyncTransport = (request: JsonRpcRequest) => unknown;
|
|
30
|
+
export type CallbackHandler = (method: string, params: Record<string, unknown>) => Promise<unknown>;
|
|
31
|
+
export type FetchLikeResponse = {
|
|
32
|
+
ok: boolean;
|
|
33
|
+
status: number;
|
|
34
|
+
text(): Promise<string>;
|
|
35
|
+
};
|
|
36
|
+
export type FetchLike = (url: string, init: {
|
|
37
|
+
method: "POST";
|
|
38
|
+
headers: Record<string, string>;
|
|
39
|
+
body: string;
|
|
40
|
+
}) => Promise<FetchLikeResponse>;
|
|
41
|
+
export declare function buildJsonRpcRequest(id: string, method: string, params: Record<string, unknown>): JsonRpcRequest;
|
|
42
|
+
/**
|
|
43
|
+
* Long-lived gateway subprocess communicating over stdin/stdout JSON-RPC.
|
|
44
|
+
*
|
|
45
|
+
* Uses a readline reader to multiplex responses and callbacks. Unlike
|
|
46
|
+
* per-call subprocess transports, this keeps the process alive so mob
|
|
47
|
+
* state persists across calls.
|
|
48
|
+
*/
|
|
49
|
+
export declare class PersistentTransport {
|
|
50
|
+
readonly gatewayBin: string;
|
|
51
|
+
private _process;
|
|
52
|
+
private readonly _env;
|
|
53
|
+
private readonly _timeout;
|
|
54
|
+
private _callbackHandler;
|
|
55
|
+
private readonly _pending;
|
|
56
|
+
constructor(gatewayBin: string, options?: {
|
|
57
|
+
env?: Record<string, string>;
|
|
58
|
+
timeout?: number;
|
|
59
|
+
});
|
|
60
|
+
setCallbackHandler(handler: CallbackHandler): void;
|
|
61
|
+
start(): void;
|
|
62
|
+
private _handleCallback;
|
|
63
|
+
private _writeLine;
|
|
64
|
+
sendAsync(request: Record<string, unknown>): Promise<unknown>;
|
|
65
|
+
stop(): void;
|
|
66
|
+
isRunning(): boolean;
|
|
67
|
+
private _ensureRunning;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Create a synchronous transport that spawns the gateway binary per call.
|
|
71
|
+
*/
|
|
72
|
+
export declare function createGatewaySyncTransport(gatewayBin: string): JsonRpcSyncTransport;
|
|
73
|
+
/**
|
|
74
|
+
* Create an async transport that spawns the gateway binary per call.
|
|
75
|
+
*/
|
|
76
|
+
export declare function createGatewayAsyncTransport(gatewayBin: string): JsonRpcTransport;
|
|
77
|
+
/**
|
|
78
|
+
* Create an async HTTP POST transport.
|
|
79
|
+
*/
|
|
80
|
+
export declare function createJsonRpcHttpTransport(endpoint: string, options?: {
|
|
81
|
+
headers?: Record<string, string>;
|
|
82
|
+
fetchImpl?: FetchLike;
|
|
83
|
+
}): JsonRpcTransport;
|
|
84
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent subprocess transport for MobKit JSON-RPC.
|
|
3
|
+
*
|
|
4
|
+
* Keeps a long-lived gateway binary alive, communicating over stdin/stdout
|
|
5
|
+
* newline-delimited JSON. Supports bidirectional callbacks from Rust.
|
|
6
|
+
*/
|
|
7
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
8
|
+
import { createInterface } from "node:readline";
|
|
9
|
+
// -- Helpers --------------------------------------------------------------
|
|
10
|
+
export function buildJsonRpcRequest(id, method, params) {
|
|
11
|
+
return { jsonrpc: "2.0", id, method, params };
|
|
12
|
+
}
|
|
13
|
+
function sanitizeForJson(obj) {
|
|
14
|
+
if (obj === null || obj === undefined)
|
|
15
|
+
return obj;
|
|
16
|
+
if (typeof obj === "boolean" || typeof obj === "number" || typeof obj === "string")
|
|
17
|
+
return obj;
|
|
18
|
+
if (Array.isArray(obj))
|
|
19
|
+
return obj.map(sanitizeForJson);
|
|
20
|
+
if (typeof obj === "object") {
|
|
21
|
+
const result = {};
|
|
22
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
23
|
+
result[k] = sanitizeForJson(v);
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
return String(obj);
|
|
28
|
+
}
|
|
29
|
+
// -- PersistentTransport --------------------------------------------------
|
|
30
|
+
/**
|
|
31
|
+
* Long-lived gateway subprocess communicating over stdin/stdout JSON-RPC.
|
|
32
|
+
*
|
|
33
|
+
* Uses a readline reader to multiplex responses and callbacks. Unlike
|
|
34
|
+
* per-call subprocess transports, this keeps the process alive so mob
|
|
35
|
+
* state persists across calls.
|
|
36
|
+
*/
|
|
37
|
+
export class PersistentTransport {
|
|
38
|
+
gatewayBin;
|
|
39
|
+
_process = null;
|
|
40
|
+
_env;
|
|
41
|
+
_timeout;
|
|
42
|
+
_callbackHandler = null;
|
|
43
|
+
_pending = new Map();
|
|
44
|
+
constructor(gatewayBin, options) {
|
|
45
|
+
this.gatewayBin = gatewayBin;
|
|
46
|
+
this._env = { ...process.env, ...(options?.env ?? {}) };
|
|
47
|
+
this._timeout = options?.timeout ?? 60_000;
|
|
48
|
+
}
|
|
49
|
+
setCallbackHandler(handler) {
|
|
50
|
+
this._callbackHandler = handler;
|
|
51
|
+
}
|
|
52
|
+
start() {
|
|
53
|
+
if (this._process !== null && this._process.exitCode === null) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this._process = spawn(this.gatewayBin, ["--persistent"], {
|
|
57
|
+
env: this._env,
|
|
58
|
+
stdio: ["pipe", "pipe", "ignore"],
|
|
59
|
+
});
|
|
60
|
+
const child = this._process;
|
|
61
|
+
// Background reader on stdout
|
|
62
|
+
if (child.stdout) {
|
|
63
|
+
const rl = createInterface({ input: child.stdout });
|
|
64
|
+
rl.on("line", (line) => {
|
|
65
|
+
let msg;
|
|
66
|
+
try {
|
|
67
|
+
msg = JSON.parse(line);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if ("method" in msg) {
|
|
73
|
+
this._handleCallback(msg);
|
|
74
|
+
}
|
|
75
|
+
else if ("id" in msg) {
|
|
76
|
+
const msgId = String(msg.id);
|
|
77
|
+
const pending = this._pending.get(msgId);
|
|
78
|
+
if (pending) {
|
|
79
|
+
this._pending.delete(msgId);
|
|
80
|
+
pending.resolve(msg);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
rl.on("close", () => {
|
|
85
|
+
// Process closed stdout — fail all pending requests
|
|
86
|
+
for (const [id, pending] of this._pending) {
|
|
87
|
+
this._pending.delete(id);
|
|
88
|
+
pending.resolve({
|
|
89
|
+
jsonrpc: "2.0",
|
|
90
|
+
id,
|
|
91
|
+
error: { code: -32099, message: "subprocess died" },
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
child.on("error", () => {
|
|
97
|
+
// Process spawn error — fail all pending
|
|
98
|
+
for (const [id, pending] of this._pending) {
|
|
99
|
+
this._pending.delete(id);
|
|
100
|
+
pending.reject(new Error("gateway process failed to start"));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
_handleCallback(msg) {
|
|
105
|
+
if (!this._callbackHandler)
|
|
106
|
+
return;
|
|
107
|
+
const method = String(msg.method ?? "");
|
|
108
|
+
const params = (typeof msg.params === "object" && msg.params !== null
|
|
109
|
+
? msg.params
|
|
110
|
+
: {});
|
|
111
|
+
const callbackId = msg.id !== undefined ? String(msg.id) : null;
|
|
112
|
+
this._callbackHandler(method, params)
|
|
113
|
+
.then((result) => {
|
|
114
|
+
if (callbackId === null)
|
|
115
|
+
return; // Notification — no response
|
|
116
|
+
this._writeLine({
|
|
117
|
+
jsonrpc: "2.0",
|
|
118
|
+
id: callbackId,
|
|
119
|
+
result: sanitizeForJson(result),
|
|
120
|
+
});
|
|
121
|
+
})
|
|
122
|
+
.catch((err) => {
|
|
123
|
+
if (callbackId === null)
|
|
124
|
+
return;
|
|
125
|
+
this._writeLine({
|
|
126
|
+
jsonrpc: "2.0",
|
|
127
|
+
id: callbackId,
|
|
128
|
+
error: { code: -32000, message: String(err instanceof Error ? err.message : err) },
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
_writeLine(obj) {
|
|
133
|
+
if (this._process?.stdin?.writable) {
|
|
134
|
+
this._process.stdin.write(JSON.stringify(obj) + "\n");
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async sendAsync(request) {
|
|
138
|
+
this._ensureRunning();
|
|
139
|
+
const msgId = String(request.id ?? "");
|
|
140
|
+
return new Promise((resolve, reject) => {
|
|
141
|
+
const timer = setTimeout(() => {
|
|
142
|
+
this._pending.delete(msgId);
|
|
143
|
+
reject(new Error(`persistent transport: timeout after ${this._timeout}ms`));
|
|
144
|
+
}, this._timeout);
|
|
145
|
+
this._pending.set(msgId, {
|
|
146
|
+
resolve: (value) => {
|
|
147
|
+
clearTimeout(timer);
|
|
148
|
+
resolve(value);
|
|
149
|
+
},
|
|
150
|
+
reject: (error) => {
|
|
151
|
+
clearTimeout(timer);
|
|
152
|
+
reject(error);
|
|
153
|
+
},
|
|
154
|
+
});
|
|
155
|
+
this._writeLine(request);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
stop() {
|
|
159
|
+
if (this._process === null)
|
|
160
|
+
return;
|
|
161
|
+
try {
|
|
162
|
+
if (this._process.stdin) {
|
|
163
|
+
this._process.stdin.end();
|
|
164
|
+
}
|
|
165
|
+
this._process.kill();
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
// Ignore cleanup errors
|
|
169
|
+
}
|
|
170
|
+
finally {
|
|
171
|
+
this._process = null;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
isRunning() {
|
|
175
|
+
return this._process !== null && this._process.exitCode === null;
|
|
176
|
+
}
|
|
177
|
+
_ensureRunning() {
|
|
178
|
+
if (!this.isRunning()) {
|
|
179
|
+
this.start();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// -- Per-call transport factories -----------------------------------------
|
|
184
|
+
/**
|
|
185
|
+
* Create a synchronous transport that spawns the gateway binary per call.
|
|
186
|
+
*/
|
|
187
|
+
export function createGatewaySyncTransport(gatewayBin) {
|
|
188
|
+
return (request) => {
|
|
189
|
+
const requestJson = JSON.stringify(request);
|
|
190
|
+
const out = spawnSync(gatewayBin, [], {
|
|
191
|
+
env: { ...process.env, MOBKIT_RPC_REQUEST: requestJson },
|
|
192
|
+
encoding: "utf8",
|
|
193
|
+
});
|
|
194
|
+
if (out.status !== 0) {
|
|
195
|
+
throw new Error(`gateway failed (status=${out.status}): ${String(out.stderr ?? "")}`);
|
|
196
|
+
}
|
|
197
|
+
try {
|
|
198
|
+
return JSON.parse(String(out.stdout ?? ""));
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
throw new Error("gateway returned non-JSON response");
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Create an async transport that spawns the gateway binary per call.
|
|
207
|
+
*/
|
|
208
|
+
export function createGatewayAsyncTransport(gatewayBin) {
|
|
209
|
+
return async (request) => new Promise((resolve, reject) => {
|
|
210
|
+
const requestJson = JSON.stringify(request);
|
|
211
|
+
const child = spawn(gatewayBin, [], {
|
|
212
|
+
env: { ...process.env, MOBKIT_RPC_REQUEST: requestJson },
|
|
213
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
214
|
+
});
|
|
215
|
+
let stdout = "";
|
|
216
|
+
let stderr = "";
|
|
217
|
+
if (child.stdout) {
|
|
218
|
+
child.stdout.setEncoding("utf8");
|
|
219
|
+
child.stdout.on("data", (chunk) => {
|
|
220
|
+
stdout += chunk;
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
if (child.stderr) {
|
|
224
|
+
child.stderr.setEncoding("utf8");
|
|
225
|
+
child.stderr.on("data", (chunk) => {
|
|
226
|
+
stderr += chunk;
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
child.on("error", (error) => reject(error));
|
|
230
|
+
child.on("close", (code) => {
|
|
231
|
+
if (code !== 0) {
|
|
232
|
+
reject(new Error(`gateway failed (status=${code}): ${stderr}`));
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
try {
|
|
236
|
+
resolve(JSON.parse(stdout));
|
|
237
|
+
}
|
|
238
|
+
catch {
|
|
239
|
+
reject(new Error("gateway returned non-JSON response"));
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Create an async HTTP POST transport.
|
|
246
|
+
*/
|
|
247
|
+
export function createJsonRpcHttpTransport(endpoint, options = {}) {
|
|
248
|
+
const globalFetch = globalThis.fetch;
|
|
249
|
+
const fetchImpl = options.fetchImpl ?? globalFetch;
|
|
250
|
+
if (!fetchImpl) {
|
|
251
|
+
throw new Error("fetch implementation not available");
|
|
252
|
+
}
|
|
253
|
+
return async (request) => {
|
|
254
|
+
const response = await fetchImpl(endpoint, {
|
|
255
|
+
method: "POST",
|
|
256
|
+
headers: {
|
|
257
|
+
"content-type": "application/json",
|
|
258
|
+
accept: "application/json",
|
|
259
|
+
...(options.headers ?? {}),
|
|
260
|
+
},
|
|
261
|
+
body: JSON.stringify(request),
|
|
262
|
+
});
|
|
263
|
+
const body = await response.text();
|
|
264
|
+
if (!response.ok) {
|
|
265
|
+
throw new Error(`http transport failed (status=${response.status}): ${body}`);
|
|
266
|
+
}
|
|
267
|
+
try {
|
|
268
|
+
return JSON.parse(body);
|
|
269
|
+
}
|
|
270
|
+
catch {
|
|
271
|
+
throw new Error("http transport returned non-JSON response");
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed return models for MobKit SDK RPC methods.
|
|
3
|
+
*
|
|
4
|
+
* All interfaces use `readonly` fields with camelCase naming. Parse functions
|
|
5
|
+
* convert from the wire protocol's snake_case representation.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MEMBER_STATE_ACTIVE: "active";
|
|
8
|
+
export declare const MEMBER_STATE_RETIRING: "retiring";
|
|
9
|
+
export interface StatusResult {
|
|
10
|
+
readonly contractVersion: string;
|
|
11
|
+
readonly running: boolean;
|
|
12
|
+
readonly loadedModules: readonly string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function parseStatusResult(raw: unknown): StatusResult;
|
|
15
|
+
export interface CapabilitiesResult {
|
|
16
|
+
readonly contractVersion: string;
|
|
17
|
+
readonly methods: readonly string[];
|
|
18
|
+
readonly loadedModules: readonly string[];
|
|
19
|
+
}
|
|
20
|
+
export declare function parseCapabilitiesResult(raw: unknown): CapabilitiesResult;
|
|
21
|
+
export interface ReconcileResult {
|
|
22
|
+
readonly accepted: boolean;
|
|
23
|
+
readonly reconciledModules: readonly string[];
|
|
24
|
+
readonly added: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function parseReconcileResult(raw: unknown): ReconcileResult;
|
|
27
|
+
export interface SpawnResult {
|
|
28
|
+
readonly accepted: boolean;
|
|
29
|
+
readonly moduleId: string;
|
|
30
|
+
readonly meerkatId: string | null;
|
|
31
|
+
readonly profile: string | null;
|
|
32
|
+
}
|
|
33
|
+
/** Alias for backward compatibility. */
|
|
34
|
+
export type SpawnMemberResult = SpawnResult;
|
|
35
|
+
export declare function parseSpawnResult(raw: unknown): SpawnResult;
|
|
36
|
+
export interface KeepAliveConfig {
|
|
37
|
+
readonly intervalMs: number;
|
|
38
|
+
readonly event: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function parseKeepAliveConfig(raw: unknown): KeepAliveConfig;
|
|
41
|
+
export interface EventEnvelope {
|
|
42
|
+
readonly eventId: string;
|
|
43
|
+
readonly source: string;
|
|
44
|
+
readonly timestampMs: number;
|
|
45
|
+
readonly event: unknown;
|
|
46
|
+
}
|
|
47
|
+
export declare function parseEventEnvelope(raw: unknown): EventEnvelope;
|
|
48
|
+
export interface SubscribeResult {
|
|
49
|
+
readonly scope: string;
|
|
50
|
+
readonly replayFromEventId: string | null;
|
|
51
|
+
readonly keepAlive: KeepAliveConfig;
|
|
52
|
+
readonly keepAliveComment: string;
|
|
53
|
+
readonly eventFrames: readonly string[];
|
|
54
|
+
readonly events: readonly EventEnvelope[];
|
|
55
|
+
}
|
|
56
|
+
export declare function parseSubscribeResult(raw: unknown): SubscribeResult;
|
|
57
|
+
export interface SendMessageResult {
|
|
58
|
+
readonly accepted: boolean;
|
|
59
|
+
readonly memberId: string;
|
|
60
|
+
readonly sessionId: string;
|
|
61
|
+
}
|
|
62
|
+
export declare function parseSendMessageResult(raw: unknown): SendMessageResult;
|
|
63
|
+
export interface RoutingResolution {
|
|
64
|
+
readonly recipient: string;
|
|
65
|
+
readonly route: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
export declare function parseRoutingResolution(raw: unknown): RoutingResolution;
|
|
68
|
+
export interface DeliveryResult {
|
|
69
|
+
readonly delivered: boolean;
|
|
70
|
+
readonly deliveryId: string;
|
|
71
|
+
}
|
|
72
|
+
export declare function parseDeliveryResult(raw: unknown): DeliveryResult;
|
|
73
|
+
export interface DeliveryHistoryResult {
|
|
74
|
+
readonly deliveries: readonly Record<string, unknown>[];
|
|
75
|
+
}
|
|
76
|
+
export declare function parseDeliveryHistoryResult(raw: unknown): DeliveryHistoryResult;
|
|
77
|
+
export interface MemoryQueryResult {
|
|
78
|
+
readonly results: readonly Record<string, unknown>[];
|
|
79
|
+
}
|
|
80
|
+
export declare function parseMemoryQueryResult(raw: unknown): MemoryQueryResult;
|
|
81
|
+
export interface MemoryStoreInfo {
|
|
82
|
+
readonly store: string;
|
|
83
|
+
readonly recordCount: number;
|
|
84
|
+
}
|
|
85
|
+
export declare function parseMemoryStoreInfo(raw: unknown): MemoryStoreInfo;
|
|
86
|
+
export interface MemoryIndexResult {
|
|
87
|
+
readonly entity: string;
|
|
88
|
+
readonly topic: string;
|
|
89
|
+
readonly store: string;
|
|
90
|
+
readonly assertionId: string | null;
|
|
91
|
+
}
|
|
92
|
+
export declare function parseMemoryIndexResult(raw: unknown): MemoryIndexResult;
|
|
93
|
+
export interface CallToolResult {
|
|
94
|
+
readonly moduleId: string;
|
|
95
|
+
readonly tool: string;
|
|
96
|
+
readonly result: unknown;
|
|
97
|
+
}
|
|
98
|
+
export declare function parseCallToolResult(raw: unknown): CallToolResult;
|
|
99
|
+
export interface MemberSnapshot {
|
|
100
|
+
readonly meerkatId: string;
|
|
101
|
+
readonly profile: string;
|
|
102
|
+
readonly state: string;
|
|
103
|
+
readonly wiredTo: readonly string[];
|
|
104
|
+
readonly labels: Readonly<Record<string, string>>;
|
|
105
|
+
}
|
|
106
|
+
export declare function parseMemberSnapshot(raw: unknown): MemberSnapshot;
|
|
107
|
+
export interface RuntimeRouteResult {
|
|
108
|
+
readonly routeKey: string;
|
|
109
|
+
readonly recipient: string;
|
|
110
|
+
readonly channel: string | null;
|
|
111
|
+
readonly sink: string;
|
|
112
|
+
readonly targetModule: string;
|
|
113
|
+
}
|
|
114
|
+
export declare function parseRuntimeRouteResult(raw: unknown): RuntimeRouteResult;
|
|
115
|
+
export interface GatingEvaluateResult {
|
|
116
|
+
readonly actionId: string;
|
|
117
|
+
readonly action: string;
|
|
118
|
+
readonly actorId: string;
|
|
119
|
+
readonly riskTier: string | null;
|
|
120
|
+
readonly outcome: string;
|
|
121
|
+
readonly pendingId: string | null;
|
|
122
|
+
}
|
|
123
|
+
export declare function parseGatingEvaluateResult(raw: unknown): GatingEvaluateResult;
|
|
124
|
+
export interface GatingDecisionResult {
|
|
125
|
+
readonly pendingId: string;
|
|
126
|
+
readonly actionId: string;
|
|
127
|
+
readonly decision: string;
|
|
128
|
+
}
|
|
129
|
+
export declare function parseGatingDecisionResult(raw: unknown): GatingDecisionResult;
|
|
130
|
+
export interface GatingAuditEntry {
|
|
131
|
+
readonly auditId: string;
|
|
132
|
+
readonly timestampMs: number;
|
|
133
|
+
readonly eventType: string;
|
|
134
|
+
readonly actionId: string;
|
|
135
|
+
readonly actorId: string;
|
|
136
|
+
readonly riskTier: string | null;
|
|
137
|
+
readonly outcome: string;
|
|
138
|
+
}
|
|
139
|
+
export declare function parseGatingAuditEntry(raw: unknown): GatingAuditEntry;
|
|
140
|
+
export interface GatingPendingEntry {
|
|
141
|
+
readonly pendingId: string;
|
|
142
|
+
readonly actionId: string;
|
|
143
|
+
readonly action: string;
|
|
144
|
+
readonly actorId: string;
|
|
145
|
+
readonly riskTier: string | null;
|
|
146
|
+
readonly createdAtMs: number;
|
|
147
|
+
}
|
|
148
|
+
export declare function parseGatingPendingEntry(raw: unknown): GatingPendingEntry;
|
|
149
|
+
export interface ReconcileEdgesReport {
|
|
150
|
+
readonly desiredEdges: readonly Record<string, unknown>[];
|
|
151
|
+
readonly wiredEdges: readonly Record<string, unknown>[];
|
|
152
|
+
readonly unwiredEdges: readonly Record<string, unknown>[];
|
|
153
|
+
readonly retainedEdges: readonly Record<string, unknown>[];
|
|
154
|
+
readonly preexistingEdges: readonly Record<string, unknown>[];
|
|
155
|
+
readonly skippedMissingMembers: readonly Record<string, unknown>[];
|
|
156
|
+
readonly prunedStaleManagedEdges: readonly Record<string, unknown>[];
|
|
157
|
+
readonly failures: readonly Record<string, unknown>[];
|
|
158
|
+
readonly isComplete: boolean;
|
|
159
|
+
}
|
|
160
|
+
export declare function parseReconcileEdgesReport(raw: unknown): ReconcileEdgesReport;
|
|
161
|
+
export interface RediscoverReport {
|
|
162
|
+
readonly spawned: readonly string[];
|
|
163
|
+
readonly edges: ReconcileEdgesReport;
|
|
164
|
+
}
|
|
165
|
+
export declare function parseRediscoverReport(raw: unknown): RediscoverReport;
|
|
166
|
+
export interface UnifiedAgentEvent {
|
|
167
|
+
readonly kind: "agent";
|
|
168
|
+
readonly agentId: string;
|
|
169
|
+
readonly eventType: string;
|
|
170
|
+
}
|
|
171
|
+
export interface UnifiedModuleEvent {
|
|
172
|
+
readonly kind: "module";
|
|
173
|
+
readonly module: string;
|
|
174
|
+
readonly eventType: string;
|
|
175
|
+
readonly payload: Record<string, unknown>;
|
|
176
|
+
}
|
|
177
|
+
export type UnifiedEvent = UnifiedAgentEvent | UnifiedModuleEvent;
|
|
178
|
+
export interface PersistedEvent {
|
|
179
|
+
readonly id: string;
|
|
180
|
+
readonly seq: number;
|
|
181
|
+
readonly timestampMs: number;
|
|
182
|
+
readonly memberId: string | null;
|
|
183
|
+
readonly event: UnifiedEvent;
|
|
184
|
+
}
|
|
185
|
+
export declare function parsePersistedEvent(raw: unknown): PersistedEvent;
|
|
186
|
+
export interface EventQuery {
|
|
187
|
+
readonly sinceMs?: number;
|
|
188
|
+
readonly untilMs?: number;
|
|
189
|
+
readonly memberId?: string;
|
|
190
|
+
readonly eventTypes?: readonly string[];
|
|
191
|
+
readonly limit?: number;
|
|
192
|
+
readonly afterSeq?: number;
|
|
193
|
+
}
|
|
194
|
+
export declare function eventQueryToDict(query: EventQuery): Record<string, unknown>;
|
|
195
|
+
export declare const ErrorCategory: {
|
|
196
|
+
readonly SPAWN_FAILURE: "spawn_failure";
|
|
197
|
+
readonly RECONCILE_INCOMPLETE: "reconcile_incomplete";
|
|
198
|
+
readonly CHECKPOINT_FAILURE: "checkpoint_failure";
|
|
199
|
+
readonly HOST_LOOP_CRASH: "host_loop_crash";
|
|
200
|
+
readonly REDISCOVER_FAILURE: "rediscover_failure";
|
|
201
|
+
};
|
|
202
|
+
export type ErrorCategoryValue = (typeof ErrorCategory)[keyof typeof ErrorCategory];
|
|
203
|
+
export interface ErrorEvent {
|
|
204
|
+
readonly category: string;
|
|
205
|
+
readonly message: string;
|
|
206
|
+
readonly context: Record<string, unknown>;
|
|
207
|
+
}
|
|
208
|
+
export declare function parseErrorEvent(raw: unknown): ErrorEvent;
|
|
209
|
+
//# 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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"}
|