@opencx/mcp 1.15.64 → 1.15.66
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/merge-sessions.spec.d.ts +2 -0
- package/dist/merge-sessions.spec.d.ts.map +1 -0
- package/dist/merge-sessions.spec.js +50 -0
- package/dist/merge-sessions.spec.js.map +1 -0
- package/dist/schema.d.ts +288 -35
- package/dist/schema.d.ts.map +1 -1
- package/dist/tools/contacts.d.ts.map +1 -1
- package/dist/tools/contacts.js +3 -8
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/sessions.d.ts.map +1 -1
- package/dist/tools/sessions.js +26 -8
- package/dist/tools/sessions.js.map +1 -1
- package/dist/tools/widget.d.ts.map +1 -1
- package/dist/tools/widget.js +10 -1
- package/dist/tools/widget.js.map +1 -1
- package/dist/utils/structured-field-values.d.ts +15 -0
- package/dist/utils/structured-field-values.d.ts.map +1 -0
- package/dist/utils/structured-field-values.js +16 -0
- package/dist/utils/structured-field-values.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-sessions.spec.d.ts","sourceRoot":"","sources":["../src/merge-sessions.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
3
|
+
import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';
|
|
4
|
+
import { createServer } from './server.js';
|
|
5
|
+
afterEach(() => vi.unstubAllGlobals());
|
|
6
|
+
describe('merge_sessions', () => {
|
|
7
|
+
it('advertises irreversible closure and sends all source choices without a confirmation token', async () => {
|
|
8
|
+
const fetchSpy = vi
|
|
9
|
+
.fn()
|
|
10
|
+
.mockResolvedValue(new Response(JSON.stringify({ mergeId: 'merged' }), { status: 200 }));
|
|
11
|
+
vi.stubGlobal('fetch', fetchSpy);
|
|
12
|
+
const server = createServer('test-key', 'https://api.test.com');
|
|
13
|
+
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
|
|
14
|
+
await server.connect(serverTransport);
|
|
15
|
+
const client = new Client({ name: 'merge-test', version: '1.0.0' });
|
|
16
|
+
await client.connect(clientTransport);
|
|
17
|
+
try {
|
|
18
|
+
const tool = (await client.listTools()).tools.find((entry) => entry.name === 'merge_sessions');
|
|
19
|
+
expect(tool?.description).toContain('Irreversibly');
|
|
20
|
+
expect(tool?.description).toContain('Before calling, tell the user');
|
|
21
|
+
const primary = 'e83d8183-ecf7-4252-b0c4-85e1211cf6ae';
|
|
22
|
+
const sources = [
|
|
23
|
+
{ sessionId: 'ce38e481-5ea1-46ca-a6d1-ab897b73b53a', status: 'closed_resolved' },
|
|
24
|
+
{ sessionId: '8150934d-1812-4481-b17e-15a99fdd433a', status: 'closed_unresolved' },
|
|
25
|
+
];
|
|
26
|
+
const result = await client.callTool({
|
|
27
|
+
name: 'merge_sessions',
|
|
28
|
+
arguments: { primary_session_id: primary, sources },
|
|
29
|
+
});
|
|
30
|
+
expect(result.isError).toBeFalsy();
|
|
31
|
+
expect(fetchSpy).toHaveBeenCalledTimes(1);
|
|
32
|
+
const request = fetchSpy.mock.calls[0]?.[0];
|
|
33
|
+
if (!(request instanceof Request))
|
|
34
|
+
throw new Error('Expected an HTTP request');
|
|
35
|
+
expect(request.url).toBe(`https://api.test.com/chat/sessions/${primary}/merge`);
|
|
36
|
+
expect(await request.json()).toEqual({ sources });
|
|
37
|
+
const invalid = await client.callTool({
|
|
38
|
+
name: 'merge_sessions',
|
|
39
|
+
arguments: { primary_session_id: primary, sources: [{ ...sources[0], status: 'open' }] },
|
|
40
|
+
});
|
|
41
|
+
expect(invalid.isError).toBe(true);
|
|
42
|
+
expect(fetchSpy).toHaveBeenCalledTimes(1);
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
await client.close();
|
|
46
|
+
await server.close();
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=merge-sessions.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-sessions.spec.js","sourceRoot":"","sources":["../src/merge-sessions.spec.ts"],"names":[],"mappings":"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"}
|