@axiom-lattice/client-sdk 5.0.1 → 7.0.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/__tests__/commands.test.d.ts +2 -0
- package/dist/__tests__/commands.test.d.ts.map +1 -0
- package/dist/__tests__/commands.test.js +96 -0
- package/dist/__tests__/commands.test.js.map +1 -0
- package/dist/__tests__/crons.test.d.ts +2 -0
- package/dist/__tests__/crons.test.d.ts.map +1 -0
- package/dist/__tests__/crons.test.js +103 -0
- package/dist/__tests__/crons.test.js.map +1 -0
- package/dist/__tests__/info.test.d.ts +2 -0
- package/dist/__tests__/info.test.d.ts.map +1 -0
- package/dist/__tests__/info.test.js +109 -0
- package/dist/__tests__/info.test.js.map +1 -0
- package/dist/__tests__/mcpApps.test.js +16 -0
- package/dist/__tests__/mcpApps.test.js.map +1 -1
- package/dist/__tests__/project-rooms.test.js +12 -0
- package/dist/__tests__/project-rooms.test.js.map +1 -1
- package/dist/__tests__/resume-last-event-id.test.d.ts +2 -0
- package/dist/__tests__/resume-last-event-id.test.d.ts.map +1 -0
- package/dist/__tests__/resume-last-event-id.test.js +111 -0
- package/dist/__tests__/resume-last-event-id.test.js.map +1 -0
- package/dist/__tests__/resume-stream-http-error.test.d.ts +2 -0
- package/dist/__tests__/resume-stream-http-error.test.d.ts.map +1 -0
- package/dist/__tests__/resume-stream-http-error.test.js +45 -0
- package/dist/__tests__/resume-stream-http-error.test.js.map +1 -0
- package/dist/__tests__/runs-task-queue.test.d.ts +2 -0
- package/dist/__tests__/runs-task-queue.test.d.ts.map +1 -0
- package/dist/__tests__/runs-task-queue.test.js +159 -0
- package/dist/__tests__/runs-task-queue.test.js.map +1 -0
- package/dist/__tests__/runs.test.d.ts +2 -0
- package/dist/__tests__/runs.test.d.ts.map +1 -0
- package/dist/__tests__/runs.test.js +135 -0
- package/dist/__tests__/runs.test.js.map +1 -0
- package/dist/__tests__/runtime-client.test.js +29 -0
- package/dist/__tests__/runtime-client.test.js.map +1 -1
- package/dist/__tests__/store.test.d.ts +2 -0
- package/dist/__tests__/store.test.d.ts.map +1 -0
- package/dist/__tests__/store.test.js +100 -0
- package/dist/__tests__/store.test.js.map +1 -0
- package/dist/__tests__/thread-event-stream.test.d.ts +2 -0
- package/dist/__tests__/thread-event-stream.test.d.ts.map +1 -0
- package/dist/__tests__/thread-event-stream.test.js +109 -0
- package/dist/__tests__/thread-event-stream.test.js.map +1 -0
- package/dist/__tests__/thread-maintenance.test.d.ts +2 -0
- package/dist/__tests__/thread-maintenance.test.d.ts.map +1 -0
- package/dist/__tests__/thread-maintenance.test.js +98 -0
- package/dist/__tests__/thread-maintenance.test.js.map +1 -0
- package/dist/abstract-client.d.ts +234 -1
- package/dist/abstract-client.d.ts.map +1 -1
- package/dist/abstract-client.js +406 -1
- package/dist/abstract-client.js.map +1 -1
- package/dist/client.d.ts +9 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +35 -5
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +600 -3
- package/dist/index.js +622 -121
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +622 -121
- package/dist/index.mjs.map +1 -1
- package/dist/project-rooms.d.ts +3 -0
- package/dist/project-rooms.d.ts.map +1 -1
- package/dist/project-rooms.js +1 -0
- package/dist/project-rooms.js.map +1 -1
- package/dist/runtime-client.d.ts.map +1 -1
- package/dist/runtime-client.js +2 -6
- package/dist/runtime-client.js.map +1 -1
- package/dist/types.d.ts +354 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +9 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/commands.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Client } from "../client";
|
|
2
|
+
const mockFetch = jest.fn();
|
|
3
|
+
global.fetch = mockFetch;
|
|
4
|
+
function makeClient() {
|
|
5
|
+
return new Client({
|
|
6
|
+
baseURL: "http://localhost:3000",
|
|
7
|
+
apiKey: "test-key",
|
|
8
|
+
assistantId: "agent-1",
|
|
9
|
+
transport: "sse",
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function response(body, status = 202) {
|
|
13
|
+
mockFetch.mockResolvedValue({
|
|
14
|
+
ok: status >= 200 && status < 300,
|
|
15
|
+
status,
|
|
16
|
+
json: async () => body,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function lastFetch() {
|
|
20
|
+
return mockFetch.mock.calls[mockFetch.mock.calls.length - 1];
|
|
21
|
+
}
|
|
22
|
+
const tree = {
|
|
23
|
+
nodes: [{ id: "A" }],
|
|
24
|
+
edges: [{ source: "A", target: "B" }],
|
|
25
|
+
mermaid: "graph TD;",
|
|
26
|
+
namespaces: [],
|
|
27
|
+
};
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
jest.clearAllMocks();
|
|
30
|
+
});
|
|
31
|
+
describe("Client.commands", () => {
|
|
32
|
+
it("starts a run with the command envelope", async () => {
|
|
33
|
+
response({ success: true, data: { messageId: "m1", queued: true, mode: "followup" } });
|
|
34
|
+
const result = await makeClient().commands.runStart("thread-1", {
|
|
35
|
+
input: { message: "hello" },
|
|
36
|
+
config: { model: "x" },
|
|
37
|
+
multitask_strategy: "collect",
|
|
38
|
+
});
|
|
39
|
+
const [url, init] = lastFetch();
|
|
40
|
+
expect(url).toBe("http://localhost:3000/api/assistants/agent-1/threads/thread-1/commands");
|
|
41
|
+
expect(init.method).toBe("POST");
|
|
42
|
+
expect(JSON.parse(init.body)).toEqual({
|
|
43
|
+
command: "run.start",
|
|
44
|
+
args: {
|
|
45
|
+
input: { message: "hello" },
|
|
46
|
+
config: { model: "x" },
|
|
47
|
+
multitask_strategy: "collect",
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
expect(result).toEqual({ messageId: "m1", queued: true, mode: "followup" });
|
|
51
|
+
});
|
|
52
|
+
it("returns the queue-first 202 fields from input.respond", async () => {
|
|
53
|
+
const client = makeClient();
|
|
54
|
+
response({
|
|
55
|
+
success: true,
|
|
56
|
+
data: {
|
|
57
|
+
accepted: true,
|
|
58
|
+
commandId: "cmd-2",
|
|
59
|
+
messageId: "m2",
|
|
60
|
+
queued: true,
|
|
61
|
+
interruptId: "i1",
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
await expect(client.commands.respond("thread-1", {
|
|
65
|
+
interrupt_id: "i1",
|
|
66
|
+
expected_interrupt_id: "i1",
|
|
67
|
+
resume: { resume: { action: "approve" } },
|
|
68
|
+
})).resolves.toEqual({
|
|
69
|
+
accepted: true,
|
|
70
|
+
commandId: "cmd-2",
|
|
71
|
+
messageId: "m2",
|
|
72
|
+
queued: true,
|
|
73
|
+
interruptId: "i1",
|
|
74
|
+
});
|
|
75
|
+
expect(JSON.parse(lastFetch()[1].body)).toEqual({
|
|
76
|
+
command: "input.respond",
|
|
77
|
+
args: {
|
|
78
|
+
interrupt_id: "i1",
|
|
79
|
+
expected_interrupt_id: "i1",
|
|
80
|
+
resume: { resume: { action: "approve" } },
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
response({ success: true, data: tree }, 200);
|
|
84
|
+
await expect(client.commands.getTree("thread-1")).resolves.toEqual(tree);
|
|
85
|
+
expect(JSON.parse(lastFetch()[1].body)).toEqual({ command: "agent.getTree" });
|
|
86
|
+
});
|
|
87
|
+
it("surfaces 400 and 409 command errors", async () => {
|
|
88
|
+
const client = makeClient();
|
|
89
|
+
for (const status of [400, 409]) {
|
|
90
|
+
response({ success: false, error: `failure-${status}`, code: status === 409 ? "INTERRUPT_NOT_FOUND" : undefined }, status);
|
|
91
|
+
await expect(client.commands.respond("thread-1", { interrupt_id: "missing" }))
|
|
92
|
+
.rejects.toMatchObject({ name: "ApiError", statusCode: status, message: `failure-${status}` });
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=commands.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.test.js","sourceRoot":"","sources":["../../src/__tests__/commands.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crons.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/crons.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Client } from "../client";
|
|
2
|
+
const mockFetch = jest.fn();
|
|
3
|
+
global.fetch = mockFetch;
|
|
4
|
+
const cron = {
|
|
5
|
+
cron_id: "cron-1",
|
|
6
|
+
assistant_id: "agent-1",
|
|
7
|
+
schedule: "0 0 1 1 *",
|
|
8
|
+
timezone: "UTC",
|
|
9
|
+
next_run_date: "2027-01-01T00:00:00.000Z",
|
|
10
|
+
enabled: true,
|
|
11
|
+
payload: { input: { message: "run" } },
|
|
12
|
+
on_run_completed: "delete",
|
|
13
|
+
multitask_strategy: "enqueue",
|
|
14
|
+
created_at: "2026-01-01T00:00:00.000Z",
|
|
15
|
+
updated_at: "2026-01-01T00:00:00.000Z",
|
|
16
|
+
run_count: 0,
|
|
17
|
+
status: "pending",
|
|
18
|
+
};
|
|
19
|
+
function makeClient() {
|
|
20
|
+
return new Client({
|
|
21
|
+
baseURL: "http://localhost:3000",
|
|
22
|
+
apiKey: "test-key",
|
|
23
|
+
assistantId: "agent-1",
|
|
24
|
+
transport: "sse",
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function mockJson(body) {
|
|
28
|
+
mockFetch.mockResolvedValue({
|
|
29
|
+
ok: true,
|
|
30
|
+
status: 200,
|
|
31
|
+
json: async () => body,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function lastFetch() {
|
|
35
|
+
return mockFetch.mock.calls[mockFetch.mock.calls.length - 1];
|
|
36
|
+
}
|
|
37
|
+
beforeEach(() => {
|
|
38
|
+
jest.clearAllMocks();
|
|
39
|
+
mockJson({ success: true, data: cron });
|
|
40
|
+
});
|
|
41
|
+
describe("Client.crons", () => {
|
|
42
|
+
it("creates a thread cron", async () => {
|
|
43
|
+
const body = {
|
|
44
|
+
schedule: "0 0 1 1 *",
|
|
45
|
+
payload: { input: { message: "run" } },
|
|
46
|
+
timezone: "UTC",
|
|
47
|
+
};
|
|
48
|
+
const result = await makeClient().crons.createForThread("thread-1", body);
|
|
49
|
+
const [url, init] = lastFetch();
|
|
50
|
+
expect(url).toBe("http://localhost:3000/api/threads/thread-1/runs/crons");
|
|
51
|
+
expect(init.method).toBe("POST");
|
|
52
|
+
expect(JSON.parse(init.body)).toEqual(body);
|
|
53
|
+
expect(result).toEqual(cron);
|
|
54
|
+
});
|
|
55
|
+
it("creates a stateless cron", async () => {
|
|
56
|
+
const body = {
|
|
57
|
+
assistant_id: "agent-1",
|
|
58
|
+
schedule: "0 0 1 1 *",
|
|
59
|
+
payload: { input: { message: "run" } },
|
|
60
|
+
on_run_completed: "delete",
|
|
61
|
+
};
|
|
62
|
+
await makeClient().crons.createStateless(body);
|
|
63
|
+
const [url, init] = lastFetch();
|
|
64
|
+
expect(url).toBe("http://localhost:3000/api/runs/crons");
|
|
65
|
+
expect(init.method).toBe("POST");
|
|
66
|
+
expect(JSON.parse(init.body)).toEqual(body);
|
|
67
|
+
});
|
|
68
|
+
it("searches and counts crons", async () => {
|
|
69
|
+
mockJson({ success: true, data: { items: [cron] } });
|
|
70
|
+
await expect(makeClient().crons.search({ assistant_id: "agent-1", limit: 10 }))
|
|
71
|
+
.resolves.toEqual([cron]);
|
|
72
|
+
expect(lastFetch()[0]).toBe("http://localhost:3000/api/runs/crons/search");
|
|
73
|
+
expect(JSON.parse(lastFetch()[1].body)).toEqual({ assistant_id: "agent-1", limit: 10 });
|
|
74
|
+
mockJson({ success: true, data: { count: 2 } });
|
|
75
|
+
await expect(makeClient().crons.count({ enabled: true })).resolves.toBe(2);
|
|
76
|
+
expect(lastFetch()[0]).toBe("http://localhost:3000/api/runs/crons/count");
|
|
77
|
+
});
|
|
78
|
+
it("gets, pauses/resumes, and deletes a cron", async () => {
|
|
79
|
+
await expect(makeClient().crons.get("cron-1")).resolves.toEqual(cron);
|
|
80
|
+
expect(lastFetch()[0]).toBe("http://localhost:3000/api/runs/crons/cron-1");
|
|
81
|
+
await makeClient().crons.updateEnabled("cron-1", false);
|
|
82
|
+
const [patchUrl, patchInit] = lastFetch();
|
|
83
|
+
expect(patchUrl).toBe("http://localhost:3000/api/runs/crons/cron-1");
|
|
84
|
+
expect(patchInit.method).toBe("PATCH");
|
|
85
|
+
expect(JSON.parse(patchInit.body)).toEqual({ enabled: false });
|
|
86
|
+
mockJson({ success: true });
|
|
87
|
+
await expect(makeClient().crons.delete("cron-1")).resolves.toBe(true);
|
|
88
|
+
expect(lastFetch()[1].method).toBe("DELETE");
|
|
89
|
+
});
|
|
90
|
+
it("surfaces 404 errors as ApiError", async () => {
|
|
91
|
+
mockFetch.mockResolvedValueOnce({
|
|
92
|
+
ok: false,
|
|
93
|
+
status: 404,
|
|
94
|
+
json: async () => ({ success: false, error: "Cron not found" }),
|
|
95
|
+
});
|
|
96
|
+
await expect(makeClient().crons.get("missing")).rejects.toMatchObject({
|
|
97
|
+
name: "ApiError",
|
|
98
|
+
statusCode: 404,
|
|
99
|
+
message: "Cron not found",
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=crons.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crons.test.js","sourceRoot":"","sources":["../../src/__tests__/crons.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/info.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Client } from "../client";
|
|
2
|
+
const mockFetch = jest.fn();
|
|
3
|
+
global.fetch = mockFetch;
|
|
4
|
+
const info = {
|
|
5
|
+
service: "lattice-gateway",
|
|
6
|
+
version: "1.2.3",
|
|
7
|
+
commit: "abc123",
|
|
8
|
+
startedAt: "2026-01-01T00:00:00.000Z",
|
|
9
|
+
uptimeSeconds: 42,
|
|
10
|
+
flags: {
|
|
11
|
+
authRequired: true,
|
|
12
|
+
executionWorker: false,
|
|
13
|
+
chunkSource: "redis",
|
|
14
|
+
multiReplica: true,
|
|
15
|
+
},
|
|
16
|
+
capabilities: {
|
|
17
|
+
a2a: true,
|
|
18
|
+
mcp: true,
|
|
19
|
+
store: true,
|
|
20
|
+
crons: true,
|
|
21
|
+
threadEvents: true,
|
|
22
|
+
threadEventsWebSocket: true,
|
|
23
|
+
metrics: true,
|
|
24
|
+
taskLifecycle: true,
|
|
25
|
+
},
|
|
26
|
+
endpoints: {
|
|
27
|
+
health: "/health",
|
|
28
|
+
metrics: "/metrics",
|
|
29
|
+
info: "/info",
|
|
30
|
+
mcp: "/mcp",
|
|
31
|
+
store: "/api/store/items",
|
|
32
|
+
threadEvents: "/api/assistants/:assistantId/threads/:threadId/stream/events",
|
|
33
|
+
a2aAgentCard: "/api/a2a/agents/:assistantId/.well-known/agent-card.json",
|
|
34
|
+
a2aJsonRpc: "/api/a2a/agents/:assistantId/jsonrpc",
|
|
35
|
+
},
|
|
36
|
+
metadata: { deployment: "prod" },
|
|
37
|
+
};
|
|
38
|
+
function makeClient() {
|
|
39
|
+
return new Client({
|
|
40
|
+
baseURL: "http://localhost:3000",
|
|
41
|
+
apiKey: "test-key",
|
|
42
|
+
assistantId: "agent-1",
|
|
43
|
+
transport: "sse",
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
beforeEach(() => {
|
|
47
|
+
jest.clearAllMocks();
|
|
48
|
+
});
|
|
49
|
+
describe("Client.getInfo", () => {
|
|
50
|
+
it("reads GET /info and unwraps data", async () => {
|
|
51
|
+
mockFetch.mockResolvedValue({
|
|
52
|
+
ok: true,
|
|
53
|
+
status: 200,
|
|
54
|
+
json: async () => ({ success: true, data: info }),
|
|
55
|
+
});
|
|
56
|
+
await expect(makeClient().getInfo()).resolves.toEqual(info);
|
|
57
|
+
const [url, init] = mockFetch.mock.calls[0];
|
|
58
|
+
expect(url).toBe("http://localhost:3000/info");
|
|
59
|
+
expect(init.method ?? "GET").toBe("GET");
|
|
60
|
+
});
|
|
61
|
+
it("surfaces gateway errors as ApiError", async () => {
|
|
62
|
+
mockFetch.mockResolvedValue({
|
|
63
|
+
ok: false,
|
|
64
|
+
status: 500,
|
|
65
|
+
json: async () => ({ success: false, error: "Failed to build gateway info" }),
|
|
66
|
+
});
|
|
67
|
+
await expect(makeClient().getInfo()).rejects.toMatchObject({
|
|
68
|
+
name: "ApiError",
|
|
69
|
+
statusCode: 500,
|
|
70
|
+
message: "Failed to build gateway info",
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
describe("Client.getSystemMetrics", () => {
|
|
75
|
+
const metrics = {
|
|
76
|
+
replicaId: "replica-a",
|
|
77
|
+
uptimeSeconds: 42,
|
|
78
|
+
agentRuns: {
|
|
79
|
+
pending: 1,
|
|
80
|
+
running: 2,
|
|
81
|
+
success: 120,
|
|
82
|
+
error: 3,
|
|
83
|
+
interrupted: 1,
|
|
84
|
+
cancelled: 4,
|
|
85
|
+
timeout: 0,
|
|
86
|
+
},
|
|
87
|
+
pendingThreads: 7,
|
|
88
|
+
worker: {
|
|
89
|
+
enabled: true,
|
|
90
|
+
started: true,
|
|
91
|
+
inFlight: 2,
|
|
92
|
+
maxConcurrentThreads: 8,
|
|
93
|
+
scanIntervalMs: 5000,
|
|
94
|
+
},
|
|
95
|
+
chunk: { source: "redis", ttlMs: 1200000, maxLen: 0 },
|
|
96
|
+
};
|
|
97
|
+
it("reads GET /metrics?format=json", async () => {
|
|
98
|
+
mockFetch.mockResolvedValue({
|
|
99
|
+
ok: true,
|
|
100
|
+
status: 200,
|
|
101
|
+
json: async () => metrics,
|
|
102
|
+
});
|
|
103
|
+
await expect(makeClient().getSystemMetrics()).resolves.toEqual(metrics);
|
|
104
|
+
const [url, init] = mockFetch.mock.calls[0];
|
|
105
|
+
expect(url).toBe("http://localhost:3000/metrics?format=json");
|
|
106
|
+
expect(init.method ?? "GET").toBe("GET");
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=info.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.test.js","sourceRoot":"","sources":["../../src/__tests__/info.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,5 +62,21 @@ describe("Client.mcpApps", () => {
|
|
|
62
62
|
});
|
|
63
63
|
expect(result).toEqual({ content: [] });
|
|
64
64
|
});
|
|
65
|
+
it("preserves a plugin scope in the rpc ref body", async () => {
|
|
66
|
+
const scoped = {
|
|
67
|
+
kind: "plugin",
|
|
68
|
+
pluginType: "my-plugin",
|
|
69
|
+
resource: "ui/report.html",
|
|
70
|
+
displayMode: "inline",
|
|
71
|
+
scope: "signed-token",
|
|
72
|
+
};
|
|
73
|
+
mockJsonResponse({ content: [] });
|
|
74
|
+
await makeClient().mcpApps.rpc(scoped, "tools/call", {
|
|
75
|
+
name: "x",
|
|
76
|
+
arguments: {},
|
|
77
|
+
});
|
|
78
|
+
const [, init] = lastFetch();
|
|
79
|
+
expect(JSON.parse(init.body).ref).toEqual(scoped);
|
|
80
|
+
});
|
|
65
81
|
});
|
|
66
82
|
//# sourceMappingURL=mcpApps.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpApps.test.js","sourceRoot":"","sources":["../../src/__tests__/mcpApps.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcpApps.test.js","sourceRoot":"","sources":["../../src/__tests__/mcpApps.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,18 @@ describe("ProjectRoomsClient REST", () => {
|
|
|
86
86
|
ref: { kind: "presence", membershipId: "membership-1" },
|
|
87
87
|
});
|
|
88
88
|
});
|
|
89
|
+
it("forwards an explicit interrupt id", async () => {
|
|
90
|
+
fetchMock.mockResolvedValueOnce(response({ success: true, data: { resolved: true } }));
|
|
91
|
+
const rooms = new ProjectRoomsClient("https://gateway", () => ({}));
|
|
92
|
+
await rooms.interrupts.resume("p", {
|
|
93
|
+
ref: { kind: "presence", membershipId: "membership-1" },
|
|
94
|
+
interruptId: "interrupt-2",
|
|
95
|
+
});
|
|
96
|
+
expect(JSON.parse(fetchMock.mock.calls[0][1].body)).toEqual({
|
|
97
|
+
ref: { kind: "presence", membershipId: "membership-1" },
|
|
98
|
+
interruptId: "interrupt-2",
|
|
99
|
+
});
|
|
100
|
+
});
|
|
89
101
|
it("resumes a task interrupt with a thread ref", async () => {
|
|
90
102
|
fetchMock.mockResolvedValueOnce(response({ success: true, data: { resolved: true } }));
|
|
91
103
|
const rooms = new ProjectRoomsClient("https://gateway", () => ({}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-rooms.test.js","sourceRoot":"","sources":["../../src/__tests__/project-rooms.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-rooms.test.js","sourceRoot":"","sources":["../../src/__tests__/project-rooms.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume-last-event-id.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/resume-last-event-id.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Client } from "../client";
|
|
2
|
+
const calls = [];
|
|
3
|
+
function sseThenDisconnect(frames = [
|
|
4
|
+
'id: 1700000000000-4\ndata: {"type":"ai","data":{"id":"m1","content":"hi"}}\n\n',
|
|
5
|
+
]) {
|
|
6
|
+
const encoder = new TextEncoder();
|
|
7
|
+
let sent = 0;
|
|
8
|
+
return {
|
|
9
|
+
ok: true,
|
|
10
|
+
status: 200,
|
|
11
|
+
body: new ReadableStream({
|
|
12
|
+
pull(controller) {
|
|
13
|
+
if (sent < frames.length) {
|
|
14
|
+
controller.enqueue(encoder.encode(frames[sent]));
|
|
15
|
+
sent += 1;
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
controller.error(new Error("connection lost"));
|
|
19
|
+
},
|
|
20
|
+
}),
|
|
21
|
+
json: async () => ({}),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function emptySse() {
|
|
25
|
+
return {
|
|
26
|
+
ok: true,
|
|
27
|
+
status: 200,
|
|
28
|
+
body: new ReadableStream({
|
|
29
|
+
start(controller) {
|
|
30
|
+
controller.close();
|
|
31
|
+
},
|
|
32
|
+
}),
|
|
33
|
+
json: async () => ({}),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async function waitFor(predicate) {
|
|
37
|
+
for (let i = 0; i < 50; i++) {
|
|
38
|
+
if (predicate())
|
|
39
|
+
return;
|
|
40
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
41
|
+
}
|
|
42
|
+
throw new Error("condition was not met");
|
|
43
|
+
}
|
|
44
|
+
describe("Client.resumeStream Last-Event-ID", () => {
|
|
45
|
+
let client;
|
|
46
|
+
let firstResponse;
|
|
47
|
+
beforeEach(() => {
|
|
48
|
+
calls.length = 0;
|
|
49
|
+
firstResponse = () => sseThenDisconnect();
|
|
50
|
+
global.fetch = jest.fn(async (url, init) => {
|
|
51
|
+
calls.push([url, init]);
|
|
52
|
+
return calls.length === 1 ? firstResponse() : emptySse();
|
|
53
|
+
});
|
|
54
|
+
client = new Client({
|
|
55
|
+
baseURL: "http://x",
|
|
56
|
+
apiKey: "k",
|
|
57
|
+
assistantId: "a1",
|
|
58
|
+
transport: "sse",
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
afterEach(() => {
|
|
62
|
+
global.fetch = undefined;
|
|
63
|
+
});
|
|
64
|
+
const headerFor = (index) => calls[index][1].headers;
|
|
65
|
+
it("replays the last SSE id as Last-Event-ID after a dropped connection", async () => {
|
|
66
|
+
const onEvent = jest.fn();
|
|
67
|
+
const onError = jest.fn();
|
|
68
|
+
const options = {
|
|
69
|
+
assistantId: "a1",
|
|
70
|
+
threadId: "t1",
|
|
71
|
+
messageId: "m1",
|
|
72
|
+
knownContent: "",
|
|
73
|
+
};
|
|
74
|
+
client.resumeStream(options, onEvent, undefined, onError);
|
|
75
|
+
await waitFor(() => onError.mock.calls.length > 0);
|
|
76
|
+
expect(onEvent).toHaveBeenCalledTimes(1);
|
|
77
|
+
client.resumeStream(options, jest.fn());
|
|
78
|
+
await waitFor(() => calls.length === 2);
|
|
79
|
+
expect(headerFor(1)["Last-Event-ID"]).toBe("1700000000000-4");
|
|
80
|
+
});
|
|
81
|
+
it("drops the cursor when the server reports CURSOR_EXPIRED", async () => {
|
|
82
|
+
firstResponse = () => sseThenDisconnect([
|
|
83
|
+
'id: 1700000000000-4\ndata: {"type":"ai","data":{"id":"m1","content":"hi"}}\n\n',
|
|
84
|
+
'data: {"type":"error","data":{"id":"m1","content":"gone","code":"CURSOR_EXPIRED"}}\n\n',
|
|
85
|
+
]);
|
|
86
|
+
const onError = jest.fn();
|
|
87
|
+
const options = {
|
|
88
|
+
assistantId: "a1",
|
|
89
|
+
threadId: "t1",
|
|
90
|
+
messageId: "m1",
|
|
91
|
+
knownContent: "",
|
|
92
|
+
};
|
|
93
|
+
client.resumeStream(options, jest.fn(), undefined, onError);
|
|
94
|
+
await waitFor(() => onError.mock.calls.length > 0);
|
|
95
|
+
client.resumeStream(options, jest.fn());
|
|
96
|
+
await waitFor(() => calls.length === 2);
|
|
97
|
+
expect(headerFor(1)["Last-Event-ID"]).toBeUndefined();
|
|
98
|
+
});
|
|
99
|
+
it("sends an explicit lastEventId on the first request", async () => {
|
|
100
|
+
client.resumeStream({
|
|
101
|
+
assistantId: "a1",
|
|
102
|
+
threadId: "t1",
|
|
103
|
+
messageId: "m1",
|
|
104
|
+
knownContent: "",
|
|
105
|
+
lastEventId: " 1700000000000-9 ",
|
|
106
|
+
}, jest.fn());
|
|
107
|
+
await waitFor(() => calls.length === 1);
|
|
108
|
+
expect(headerFor(0)["Last-Event-ID"]).toBe("1700000000000-9");
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=resume-last-event-id.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume-last-event-id.test.js","sourceRoot":"","sources":["../../src/__tests__/resume-last-event-id.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume-stream-http-error.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/resume-stream-http-error.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Client } from "../client";
|
|
2
|
+
function nonOkResponse(status, body) {
|
|
3
|
+
return {
|
|
4
|
+
ok: false,
|
|
5
|
+
status,
|
|
6
|
+
json: async () => body,
|
|
7
|
+
body: null,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
async function waitFor(predicate) {
|
|
11
|
+
for (let i = 0; i < 100; i++) {
|
|
12
|
+
if (predicate())
|
|
13
|
+
return;
|
|
14
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
15
|
+
}
|
|
16
|
+
throw new Error("condition was not met");
|
|
17
|
+
}
|
|
18
|
+
describe("Client.resumeStream HTTP errors", () => {
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
jest.clearAllMocks();
|
|
21
|
+
global.fetch = jest.fn();
|
|
22
|
+
});
|
|
23
|
+
afterEach(() => {
|
|
24
|
+
global.fetch = undefined;
|
|
25
|
+
});
|
|
26
|
+
it("attaches the HTTP status and parsed body to the stream error", async () => {
|
|
27
|
+
const errorBody = { success: false, error: "THREAD_NOT_FOUND" };
|
|
28
|
+
global.fetch.mockResolvedValueOnce(nonOkResponse(404, errorBody));
|
|
29
|
+
const client = new Client({
|
|
30
|
+
baseURL: "http://x",
|
|
31
|
+
apiKey: "k",
|
|
32
|
+
assistantId: "a1",
|
|
33
|
+
transport: "sse",
|
|
34
|
+
});
|
|
35
|
+
const onError = jest.fn();
|
|
36
|
+
client.resumeStream({ assistantId: "a1", threadId: "t1", messageId: "m1", knownContent: "" }, jest.fn(), undefined, onError);
|
|
37
|
+
await waitFor(() => onError.mock.calls.length === 1);
|
|
38
|
+
expect(onError.mock.calls[0][0]).toMatchObject({
|
|
39
|
+
message: "THREAD_NOT_FOUND",
|
|
40
|
+
status: 404,
|
|
41
|
+
responseBody: errorBody,
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=resume-stream-http-error.test.js.map
|