@semiont/api-client 0.2.2-build.15 → 0.2.2-build.16
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/{types.d.ts → index-DHh0ToZB.d.ts} +460 -6
- package/dist/index.d.ts +909 -13
- package/dist/index.js +1598 -60
- package/dist/index.js.map +1 -1
- package/dist/utils/index.d.ts +1 -12
- package/dist/utils/index.js +597 -26
- package/dist/utils/index.js.map +1 -1
- package/package.json +11 -8
- package/dist/__tests__/client.test.d.ts +0 -28
- package/dist/__tests__/client.test.d.ts.map +0 -1
- package/dist/__tests__/client.test.js +0 -567
- package/dist/__tests__/client.test.js.map +0 -1
- package/dist/__tests__/sse-client.test.d.ts +0 -7
- package/dist/__tests__/sse-client.test.d.ts.map +0 -1
- package/dist/__tests__/sse-client.test.js +0 -421
- package/dist/__tests__/sse-client.test.js.map +0 -1
- package/dist/__tests__/sse-stream.test.d.ts +0 -7
- package/dist/__tests__/sse-stream.test.d.ts.map +0 -1
- package/dist/__tests__/sse-stream.test.js +0 -394
- package/dist/__tests__/sse-stream.test.js.map +0 -1
- package/dist/__tests__/svg-selectors.test.d.ts +0 -5
- package/dist/__tests__/svg-selectors.test.d.ts.map +0 -1
- package/dist/__tests__/svg-selectors.test.js +0 -124
- package/dist/__tests__/svg-selectors.test.js.map +0 -1
- package/dist/branded-types.d.ts +0 -70
- package/dist/branded-types.d.ts.map +0 -1
- package/dist/branded-types.js +0 -62
- package/dist/branded-types.js.map +0 -1
- package/dist/client.d.ts +0 -243
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -460
- package/dist/client.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/mime-utils.d.ts +0 -27
- package/dist/mime-utils.d.ts.map +0 -1
- package/dist/mime-utils.js +0 -49
- package/dist/mime-utils.js.map +0 -1
- package/dist/sse/index.d.ts +0 -343
- package/dist/sse/index.d.ts.map +0 -1
- package/dist/sse/index.js +0 -404
- package/dist/sse/index.js.map +0 -1
- package/dist/sse/stream.d.ts +0 -58
- package/dist/sse/stream.d.ts.map +0 -1
- package/dist/sse/stream.js +0 -187
- package/dist/sse/stream.js.map +0 -1
- package/dist/sse/types.d.ts +0 -295
- package/dist/sse/types.d.ts.map +0 -1
- package/dist/sse/types.js +0 -10
- package/dist/sse/types.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -7
- package/dist/types.js.map +0 -1
- package/dist/utils/annotations.d.ts +0 -191
- package/dist/utils/annotations.d.ts.map +0 -1
- package/dist/utils/annotations.js +0 -404
- package/dist/utils/annotations.js.map +0 -1
- package/dist/utils/events.d.ts +0 -74
- package/dist/utils/events.d.ts.map +0 -1
- package/dist/utils/events.js +0 -329
- package/dist/utils/events.js.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/locales.d.ts +0 -31
- package/dist/utils/locales.d.ts.map +0 -1
- package/dist/utils/locales.js +0 -83
- package/dist/utils/locales.js.map +0 -1
- package/dist/utils/resources.d.ts +0 -34
- package/dist/utils/resources.d.ts.map +0 -1
- package/dist/utils/resources.js +0 -63
- package/dist/utils/resources.js.map +0 -1
- package/dist/utils/validation.d.ts +0 -57
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js +0 -89
- package/dist/utils/validation.js.map +0 -1
|
@@ -1,394 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Tests for SSE stream parsing
|
|
4
|
-
*
|
|
5
|
-
* Tests the createSSEStream function which handles Server-Sent Events parsing.
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
const vitest_1 = require("vitest");
|
|
9
|
-
const stream_1 = require("../sse/stream");
|
|
10
|
-
// Helper to create a ReadableStream from SSE text
|
|
11
|
-
function createSSEReadableStream(sseText) {
|
|
12
|
-
const encoder = new TextEncoder();
|
|
13
|
-
const encoded = encoder.encode(sseText);
|
|
14
|
-
return new ReadableStream({
|
|
15
|
-
start(controller) {
|
|
16
|
-
controller.enqueue(encoded);
|
|
17
|
-
controller.close();
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
// Helper to wait for async callbacks
|
|
22
|
-
const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
23
|
-
(0, vitest_1.describe)('createSSEStream', () => {
|
|
24
|
-
let fetchMock;
|
|
25
|
-
(0, vitest_1.beforeEach)(() => {
|
|
26
|
-
fetchMock = vitest_1.vi.fn();
|
|
27
|
-
global.fetch = fetchMock;
|
|
28
|
-
});
|
|
29
|
-
(0, vitest_1.afterEach)(() => {
|
|
30
|
-
vitest_1.vi.restoreAllMocks();
|
|
31
|
-
});
|
|
32
|
-
(0, vitest_1.describe)('Basic SSE Parsing', () => {
|
|
33
|
-
(0, vitest_1.it)('should parse simple SSE events', async () => {
|
|
34
|
-
const sseText = `event: test-event
|
|
35
|
-
data: {"message":"hello"}
|
|
36
|
-
|
|
37
|
-
`;
|
|
38
|
-
fetchMock.mockResolvedValue({
|
|
39
|
-
ok: true,
|
|
40
|
-
body: createSSEReadableStream(sseText)
|
|
41
|
-
});
|
|
42
|
-
const progressCallback = vitest_1.vi.fn();
|
|
43
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
44
|
-
progressEvents: ['test-event'],
|
|
45
|
-
completeEvent: null,
|
|
46
|
-
errorEvent: null
|
|
47
|
-
});
|
|
48
|
-
stream.onProgress(progressCallback);
|
|
49
|
-
await wait(50); // Wait for stream to process
|
|
50
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenCalledWith({ message: 'hello' });
|
|
51
|
-
});
|
|
52
|
-
(0, vitest_1.it)('should handle events without event type (default message)', async () => {
|
|
53
|
-
const sseText = `data: {"value":42}
|
|
54
|
-
|
|
55
|
-
`;
|
|
56
|
-
fetchMock.mockResolvedValue({
|
|
57
|
-
ok: true,
|
|
58
|
-
body: createSSEReadableStream(sseText)
|
|
59
|
-
});
|
|
60
|
-
const progressCallback = vitest_1.vi.fn();
|
|
61
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
62
|
-
progressEvents: [''], // Empty string matches events without type
|
|
63
|
-
completeEvent: null,
|
|
64
|
-
errorEvent: null
|
|
65
|
-
});
|
|
66
|
-
stream.onProgress(progressCallback);
|
|
67
|
-
await wait(50);
|
|
68
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenCalledWith({ value: 42 });
|
|
69
|
-
});
|
|
70
|
-
(0, vitest_1.it)('should parse event with id field', async () => {
|
|
71
|
-
const sseText = `event: numbered-event
|
|
72
|
-
data: {"count":1}
|
|
73
|
-
id: 123
|
|
74
|
-
|
|
75
|
-
`;
|
|
76
|
-
fetchMock.mockResolvedValue({
|
|
77
|
-
ok: true,
|
|
78
|
-
body: createSSEReadableStream(sseText)
|
|
79
|
-
});
|
|
80
|
-
const progressCallback = vitest_1.vi.fn();
|
|
81
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
82
|
-
progressEvents: ['numbered-event'],
|
|
83
|
-
completeEvent: null,
|
|
84
|
-
errorEvent: null
|
|
85
|
-
});
|
|
86
|
-
stream.onProgress(progressCallback);
|
|
87
|
-
await wait(50);
|
|
88
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenCalledWith({ count: 1 });
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
(0, vitest_1.describe)('Detection Stream', () => {
|
|
92
|
-
(0, vitest_1.it)('should handle detection progress events', async () => {
|
|
93
|
-
const sseText = `event: detection-started
|
|
94
|
-
data: {"status":"started","resourceId":"res-123","totalEntityTypes":2,"processedEntityTypes":0,"message":"Starting..."}
|
|
95
|
-
|
|
96
|
-
event: detection-progress
|
|
97
|
-
data: {"status":"scanning","resourceId":"res-123","currentEntityType":"Person","totalEntityTypes":2,"processedEntityTypes":1}
|
|
98
|
-
|
|
99
|
-
event: detection-complete
|
|
100
|
-
data: {"status":"complete","resourceId":"res-123","totalEntityTypes":2,"processedEntityTypes":2,"foundCount":5}
|
|
101
|
-
|
|
102
|
-
`;
|
|
103
|
-
fetchMock.mockResolvedValue({
|
|
104
|
-
ok: true,
|
|
105
|
-
body: createSSEReadableStream(sseText)
|
|
106
|
-
});
|
|
107
|
-
const progressCallback = vitest_1.vi.fn();
|
|
108
|
-
const completeCallback = vitest_1.vi.fn();
|
|
109
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/detect', { method: 'POST', headers: {}, body: JSON.stringify({ entityTypes: ['Person'] }) }, {
|
|
110
|
-
progressEvents: ['detection-started', 'detection-progress'],
|
|
111
|
-
completeEvent: 'detection-complete',
|
|
112
|
-
errorEvent: 'detection-error'
|
|
113
|
-
});
|
|
114
|
-
stream.onProgress(progressCallback);
|
|
115
|
-
stream.onComplete(completeCallback);
|
|
116
|
-
await wait(100);
|
|
117
|
-
// Progress callback should be called twice (started, progress)
|
|
118
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenCalledTimes(2);
|
|
119
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenNthCalledWith(1, vitest_1.expect.objectContaining({ status: 'started' }));
|
|
120
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenNthCalledWith(2, vitest_1.expect.objectContaining({ status: 'scanning', currentEntityType: 'Person' }));
|
|
121
|
-
// Complete callback should be called once
|
|
122
|
-
(0, vitest_1.expect)(completeCallback).toHaveBeenCalledTimes(1);
|
|
123
|
-
(0, vitest_1.expect)(completeCallback).toHaveBeenCalledWith(vitest_1.expect.objectContaining({ status: 'complete', foundCount: 5 }));
|
|
124
|
-
});
|
|
125
|
-
(0, vitest_1.it)('should handle detection error events', async () => {
|
|
126
|
-
const sseText = `event: detection-error
|
|
127
|
-
data: {"status":"error","message":"Entity detection failed","resourceId":"res-123","totalEntityTypes":2,"processedEntityTypes":0}
|
|
128
|
-
|
|
129
|
-
`;
|
|
130
|
-
fetchMock.mockResolvedValue({
|
|
131
|
-
ok: true,
|
|
132
|
-
body: createSSEReadableStream(sseText)
|
|
133
|
-
});
|
|
134
|
-
const errorCallback = vitest_1.vi.fn();
|
|
135
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/detect', { method: 'POST', headers: {} }, {
|
|
136
|
-
progressEvents: ['detection-started', 'detection-progress'],
|
|
137
|
-
completeEvent: 'detection-complete',
|
|
138
|
-
errorEvent: 'detection-error'
|
|
139
|
-
});
|
|
140
|
-
stream.onError(errorCallback);
|
|
141
|
-
await wait(50);
|
|
142
|
-
(0, vitest_1.expect)(errorCallback).toHaveBeenCalledWith(vitest_1.expect.any(Error));
|
|
143
|
-
(0, vitest_1.expect)(errorCallback.mock.calls[0][0].message).toBe('Entity detection failed');
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
(0, vitest_1.describe)('Generation Stream', () => {
|
|
147
|
-
(0, vitest_1.it)('should handle generation progress with percentage', async () => {
|
|
148
|
-
const sseText = `event: generation-started
|
|
149
|
-
data: {"status":"started","referenceId":"ann-456","percentage":0,"message":"Starting..."}
|
|
150
|
-
|
|
151
|
-
event: generation-progress
|
|
152
|
-
data: {"status":"generating","referenceId":"ann-456","percentage":50,"message":"Generating content..."}
|
|
153
|
-
|
|
154
|
-
event: generation-complete
|
|
155
|
-
data: {"status":"complete","referenceId":"ann-456","resourceId":"res-789","percentage":100,"message":"Done!"}
|
|
156
|
-
|
|
157
|
-
`;
|
|
158
|
-
fetchMock.mockResolvedValue({
|
|
159
|
-
ok: true,
|
|
160
|
-
body: createSSEReadableStream(sseText)
|
|
161
|
-
});
|
|
162
|
-
const progressCallback = vitest_1.vi.fn();
|
|
163
|
-
const completeCallback = vitest_1.vi.fn();
|
|
164
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/generate', { method: 'POST', headers: {} }, {
|
|
165
|
-
progressEvents: ['generation-started', 'generation-progress'],
|
|
166
|
-
completeEvent: 'generation-complete',
|
|
167
|
-
errorEvent: 'generation-error'
|
|
168
|
-
});
|
|
169
|
-
stream.onProgress(progressCallback);
|
|
170
|
-
stream.onComplete(completeCallback);
|
|
171
|
-
await wait(100);
|
|
172
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenCalledTimes(2);
|
|
173
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenNthCalledWith(1, vitest_1.expect.objectContaining({ percentage: 0 }));
|
|
174
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenNthCalledWith(2, vitest_1.expect.objectContaining({ percentage: 50, status: 'generating' }));
|
|
175
|
-
(0, vitest_1.expect)(completeCallback).toHaveBeenCalledWith(vitest_1.expect.objectContaining({ percentage: 100, resourceId: 'res-789' }));
|
|
176
|
-
});
|
|
177
|
-
});
|
|
178
|
-
(0, vitest_1.describe)('Keep-Alive Handling', () => {
|
|
179
|
-
(0, vitest_1.it)('should skip keep-alive comments', async () => {
|
|
180
|
-
const sseText = `event: test-event
|
|
181
|
-
data: {"count":1}
|
|
182
|
-
|
|
183
|
-
data: :keep-alive
|
|
184
|
-
|
|
185
|
-
event: test-event
|
|
186
|
-
data: {"count":2}
|
|
187
|
-
|
|
188
|
-
`;
|
|
189
|
-
fetchMock.mockResolvedValue({
|
|
190
|
-
ok: true,
|
|
191
|
-
body: createSSEReadableStream(sseText)
|
|
192
|
-
});
|
|
193
|
-
const progressCallback = vitest_1.vi.fn();
|
|
194
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
195
|
-
progressEvents: ['test-event'],
|
|
196
|
-
completeEvent: null,
|
|
197
|
-
errorEvent: null
|
|
198
|
-
});
|
|
199
|
-
stream.onProgress(progressCallback);
|
|
200
|
-
await wait(50);
|
|
201
|
-
// Should only be called twice, not three times (keep-alive skipped)
|
|
202
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenCalledTimes(2);
|
|
203
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenNthCalledWith(1, { count: 1 });
|
|
204
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenNthCalledWith(2, { count: 2 });
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
(0, vitest_1.describe)('Buffer Edge Cases', () => {
|
|
208
|
-
(0, vitest_1.it)('should handle partial lines in buffer', async () => {
|
|
209
|
-
// Simulate chunked data arriving
|
|
210
|
-
const chunks = [
|
|
211
|
-
'event: test\ndata: {"part":',
|
|
212
|
-
'1}\n\n'
|
|
213
|
-
];
|
|
214
|
-
let chunkIndex = 0;
|
|
215
|
-
const stream = new ReadableStream({
|
|
216
|
-
start(controller) {
|
|
217
|
-
const encoder = new TextEncoder();
|
|
218
|
-
const sendNext = () => {
|
|
219
|
-
if (chunkIndex < chunks.length) {
|
|
220
|
-
controller.enqueue(encoder.encode(chunks[chunkIndex++]));
|
|
221
|
-
setTimeout(sendNext, 10);
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
controller.close();
|
|
225
|
-
}
|
|
226
|
-
};
|
|
227
|
-
sendNext();
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
fetchMock.mockResolvedValue({
|
|
231
|
-
ok: true,
|
|
232
|
-
body: stream
|
|
233
|
-
});
|
|
234
|
-
const progressCallback = vitest_1.vi.fn();
|
|
235
|
-
(0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
236
|
-
progressEvents: ['test'],
|
|
237
|
-
completeEvent: null,
|
|
238
|
-
errorEvent: null
|
|
239
|
-
}).onProgress(progressCallback);
|
|
240
|
-
await wait(100);
|
|
241
|
-
(0, vitest_1.expect)(progressCallback).toHaveBeenCalledWith({ part: 1 });
|
|
242
|
-
});
|
|
243
|
-
});
|
|
244
|
-
(0, vitest_1.describe)('Error Handling', () => {
|
|
245
|
-
(0, vitest_1.it)('should handle HTTP errors', async () => {
|
|
246
|
-
fetchMock.mockResolvedValue({
|
|
247
|
-
ok: false,
|
|
248
|
-
status: 404,
|
|
249
|
-
statusText: 'Not Found',
|
|
250
|
-
json: async () => ({ message: 'Resource not found' })
|
|
251
|
-
});
|
|
252
|
-
const errorCallback = vitest_1.vi.fn();
|
|
253
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
254
|
-
progressEvents: [],
|
|
255
|
-
completeEvent: null,
|
|
256
|
-
errorEvent: null
|
|
257
|
-
});
|
|
258
|
-
stream.onError(errorCallback);
|
|
259
|
-
await wait(50);
|
|
260
|
-
(0, vitest_1.expect)(errorCallback).toHaveBeenCalledWith(vitest_1.expect.any(Error));
|
|
261
|
-
(0, vitest_1.expect)(errorCallback.mock.calls[0][0].message).toContain('Resource not found');
|
|
262
|
-
});
|
|
263
|
-
(0, vitest_1.it)('should handle null response body', async () => {
|
|
264
|
-
fetchMock.mockResolvedValue({
|
|
265
|
-
ok: true,
|
|
266
|
-
body: null
|
|
267
|
-
});
|
|
268
|
-
const errorCallback = vitest_1.vi.fn();
|
|
269
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
270
|
-
progressEvents: [],
|
|
271
|
-
completeEvent: null,
|
|
272
|
-
errorEvent: null
|
|
273
|
-
});
|
|
274
|
-
stream.onError(errorCallback);
|
|
275
|
-
await wait(50);
|
|
276
|
-
(0, vitest_1.expect)(errorCallback).toHaveBeenCalledWith(vitest_1.expect.any(Error));
|
|
277
|
-
(0, vitest_1.expect)(errorCallback.mock.calls[0][0].message).toContain('Response body is null');
|
|
278
|
-
});
|
|
279
|
-
(0, vitest_1.it)('should handle malformed JSON gracefully', async () => {
|
|
280
|
-
const sseText = `event: test-event
|
|
281
|
-
data: {invalid-json
|
|
282
|
-
|
|
283
|
-
`;
|
|
284
|
-
const consoleError = vitest_1.vi.spyOn(console, 'error').mockImplementation(() => { });
|
|
285
|
-
fetchMock.mockResolvedValue({
|
|
286
|
-
ok: true,
|
|
287
|
-
body: createSSEReadableStream(sseText)
|
|
288
|
-
});
|
|
289
|
-
const progressCallback = vitest_1.vi.fn();
|
|
290
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
291
|
-
progressEvents: ['test-event'],
|
|
292
|
-
completeEvent: null,
|
|
293
|
-
errorEvent: null
|
|
294
|
-
});
|
|
295
|
-
stream.onProgress(progressCallback);
|
|
296
|
-
await wait(50);
|
|
297
|
-
// Should not call progress callback (JSON parse failed)
|
|
298
|
-
(0, vitest_1.expect)(progressCallback).not.toHaveBeenCalled();
|
|
299
|
-
// Should log error
|
|
300
|
-
(0, vitest_1.expect)(consoleError).toHaveBeenCalledWith('[SSE] Failed to parse event data:', vitest_1.expect.any(Error));
|
|
301
|
-
consoleError.mockRestore();
|
|
302
|
-
});
|
|
303
|
-
});
|
|
304
|
-
(0, vitest_1.describe)('Abort/Cancellation', () => {
|
|
305
|
-
(0, vitest_1.it)('should abort stream when close() is called', async () => {
|
|
306
|
-
const sseText = `event: test-event
|
|
307
|
-
data: {"count":1}
|
|
308
|
-
|
|
309
|
-
`;
|
|
310
|
-
fetchMock.mockResolvedValue({
|
|
311
|
-
ok: true,
|
|
312
|
-
body: createSSEReadableStream(sseText)
|
|
313
|
-
});
|
|
314
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
315
|
-
progressEvents: ['test-event'],
|
|
316
|
-
completeEvent: null,
|
|
317
|
-
errorEvent: null
|
|
318
|
-
});
|
|
319
|
-
stream.close();
|
|
320
|
-
// Fetch should have been called with AbortSignal
|
|
321
|
-
(0, vitest_1.expect)(fetchMock).toHaveBeenCalledWith('http://test.com/stream', vitest_1.expect.objectContaining({
|
|
322
|
-
signal: vitest_1.expect.any(AbortSignal)
|
|
323
|
-
}));
|
|
324
|
-
});
|
|
325
|
-
(0, vitest_1.it)('should not call error callback for AbortError', async () => {
|
|
326
|
-
fetchMock.mockRejectedValue(new DOMException('The operation was aborted', 'AbortError'));
|
|
327
|
-
const errorCallback = vitest_1.vi.fn();
|
|
328
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
329
|
-
progressEvents: [],
|
|
330
|
-
completeEvent: null,
|
|
331
|
-
errorEvent: null
|
|
332
|
-
});
|
|
333
|
-
stream.onError(errorCallback);
|
|
334
|
-
stream.close();
|
|
335
|
-
await wait(50);
|
|
336
|
-
// Should not call error callback for normal abort
|
|
337
|
-
(0, vitest_1.expect)(errorCallback).not.toHaveBeenCalled();
|
|
338
|
-
});
|
|
339
|
-
(0, vitest_1.it)('should close stream after complete event', async () => {
|
|
340
|
-
const sseText = `event: complete-event
|
|
341
|
-
data: {"done":true}
|
|
342
|
-
|
|
343
|
-
event: should-not-see-this
|
|
344
|
-
data: {"oops":true}
|
|
345
|
-
|
|
346
|
-
`;
|
|
347
|
-
fetchMock.mockResolvedValue({
|
|
348
|
-
ok: true,
|
|
349
|
-
body: createSSEReadableStream(sseText)
|
|
350
|
-
});
|
|
351
|
-
const progressCallback = vitest_1.vi.fn();
|
|
352
|
-
const completeCallback = vitest_1.vi.fn();
|
|
353
|
-
const stream = (0, stream_1.createSSEStream)('http://test.com/stream', { method: 'GET', headers: {} }, {
|
|
354
|
-
progressEvents: ['should-not-see-this'],
|
|
355
|
-
completeEvent: 'complete-event',
|
|
356
|
-
errorEvent: null
|
|
357
|
-
});
|
|
358
|
-
stream.onProgress(progressCallback);
|
|
359
|
-
stream.onComplete(completeCallback);
|
|
360
|
-
await wait(100);
|
|
361
|
-
// Complete should be called
|
|
362
|
-
(0, vitest_1.expect)(completeCallback).toHaveBeenCalledWith({ done: true });
|
|
363
|
-
// Progress should NOT be called (stream closed after complete)
|
|
364
|
-
(0, vitest_1.expect)(progressCallback).not.toHaveBeenCalled();
|
|
365
|
-
});
|
|
366
|
-
});
|
|
367
|
-
(0, vitest_1.describe)('Request Configuration', () => {
|
|
368
|
-
(0, vitest_1.it)('should include Accept: text/event-stream header', async () => {
|
|
369
|
-
fetchMock.mockResolvedValue({
|
|
370
|
-
ok: true,
|
|
371
|
-
body: createSSEReadableStream('')
|
|
372
|
-
});
|
|
373
|
-
(0, stream_1.createSSEStream)('http://test.com/stream', {
|
|
374
|
-
method: 'POST',
|
|
375
|
-
headers: { 'Authorization': 'Bearer token' },
|
|
376
|
-
body: JSON.stringify({ test: true })
|
|
377
|
-
}, {
|
|
378
|
-
progressEvents: [],
|
|
379
|
-
completeEvent: null,
|
|
380
|
-
errorEvent: null
|
|
381
|
-
});
|
|
382
|
-
await wait(10);
|
|
383
|
-
(0, vitest_1.expect)(fetchMock).toHaveBeenCalledWith('http://test.com/stream', vitest_1.expect.objectContaining({
|
|
384
|
-
method: 'POST',
|
|
385
|
-
headers: vitest_1.expect.objectContaining({
|
|
386
|
-
'Accept': 'text/event-stream',
|
|
387
|
-
'Authorization': 'Bearer token'
|
|
388
|
-
}),
|
|
389
|
-
body: JSON.stringify({ test: true })
|
|
390
|
-
}));
|
|
391
|
-
});
|
|
392
|
-
});
|
|
393
|
-
});
|
|
394
|
-
//# sourceMappingURL=sse-stream.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sse-stream.test.js","sourceRoot":"","sources":["../../src/__tests__/sse-stream.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"svg-selectors.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/svg-selectors.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Unit tests for SVG Selector utilities
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const vitest_1 = require("vitest");
|
|
7
|
-
const annotations_1 = require("../utils/annotations");
|
|
8
|
-
(0, vitest_1.describe)('SVG Selector Utilities', () => {
|
|
9
|
-
(0, vitest_1.describe)('getSvgSelector', () => {
|
|
10
|
-
(0, vitest_1.test)('should return SvgSelector from single selector', () => {
|
|
11
|
-
const selector = {
|
|
12
|
-
type: 'SvgSelector',
|
|
13
|
-
value: '<svg xmlns="http://www.w3.org/2000/svg"><rect x="10" y="20" width="100" height="50"/></svg>'
|
|
14
|
-
};
|
|
15
|
-
const result = (0, annotations_1.getSvgSelector)(selector);
|
|
16
|
-
(0, vitest_1.expect)(result).toEqual(selector);
|
|
17
|
-
});
|
|
18
|
-
(0, vitest_1.test)('should return SvgSelector from selector array', () => {
|
|
19
|
-
const svgSelector = {
|
|
20
|
-
type: 'SvgSelector',
|
|
21
|
-
value: '<svg xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="40"/></svg>'
|
|
22
|
-
};
|
|
23
|
-
const posSelector = {
|
|
24
|
-
type: 'TextPositionSelector',
|
|
25
|
-
start: 0,
|
|
26
|
-
end: 10
|
|
27
|
-
};
|
|
28
|
-
const result = (0, annotations_1.getSvgSelector)([posSelector, svgSelector]);
|
|
29
|
-
(0, vitest_1.expect)(result).toEqual(svgSelector);
|
|
30
|
-
});
|
|
31
|
-
(0, vitest_1.test)('should return null if no SvgSelector found', () => {
|
|
32
|
-
const posSelector = {
|
|
33
|
-
type: 'TextPositionSelector',
|
|
34
|
-
start: 0,
|
|
35
|
-
end: 10
|
|
36
|
-
};
|
|
37
|
-
(0, vitest_1.expect)((0, annotations_1.getSvgSelector)(posSelector)).toBeNull();
|
|
38
|
-
(0, vitest_1.expect)((0, annotations_1.getSvgSelector)([posSelector])).toBeNull();
|
|
39
|
-
});
|
|
40
|
-
(0, vitest_1.test)('should return null for undefined selector', () => {
|
|
41
|
-
(0, vitest_1.expect)((0, annotations_1.getSvgSelector)(undefined)).toBeNull();
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
(0, vitest_1.describe)('validateSvgMarkup', () => {
|
|
45
|
-
(0, vitest_1.test)('should accept valid SVG with rect', () => {
|
|
46
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg"><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
47
|
-
(0, vitest_1.expect)((0, annotations_1.validateSvgMarkup)(svg)).toBeNull();
|
|
48
|
-
});
|
|
49
|
-
(0, vitest_1.test)('should accept valid SVG with circle', () => {
|
|
50
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="40"/></svg>';
|
|
51
|
-
(0, vitest_1.expect)((0, annotations_1.validateSvgMarkup)(svg)).toBeNull();
|
|
52
|
-
});
|
|
53
|
-
(0, vitest_1.test)('should accept valid SVG with polygon', () => {
|
|
54
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg"><polygon points="200,10 250,190 160,210"/></svg>';
|
|
55
|
-
(0, vitest_1.expect)((0, annotations_1.validateSvgMarkup)(svg)).toBeNull();
|
|
56
|
-
});
|
|
57
|
-
(0, vitest_1.test)('should accept valid SVG with path', () => {
|
|
58
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg"><path d="M150 0 L75 200 L225 200 Z"/></svg>';
|
|
59
|
-
(0, vitest_1.expect)((0, annotations_1.validateSvgMarkup)(svg)).toBeNull();
|
|
60
|
-
});
|
|
61
|
-
(0, vitest_1.test)('should reject SVG without xmlns attribute', () => {
|
|
62
|
-
const svg = '<svg><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
63
|
-
const error = (0, annotations_1.validateSvgMarkup)(svg);
|
|
64
|
-
(0, vitest_1.expect)(error).toBeTruthy();
|
|
65
|
-
(0, vitest_1.expect)(error).toContain('xmlns');
|
|
66
|
-
});
|
|
67
|
-
(0, vitest_1.test)('should reject SVG without closing tag', () => {
|
|
68
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg"><rect x="10" y="20" width="100" height="50"/>';
|
|
69
|
-
const error = (0, annotations_1.validateSvgMarkup)(svg);
|
|
70
|
-
(0, vitest_1.expect)(error).toBeTruthy();
|
|
71
|
-
(0, vitest_1.expect)(error).toContain('closing tag');
|
|
72
|
-
});
|
|
73
|
-
(0, vitest_1.test)('should reject SVG without opening tag', () => {
|
|
74
|
-
const svg = '<rect x="10" y="20" width="100" height="50"/></svg>';
|
|
75
|
-
const error = (0, annotations_1.validateSvgMarkup)(svg);
|
|
76
|
-
(0, vitest_1.expect)(error).toBeTruthy();
|
|
77
|
-
(0, vitest_1.expect)(error).toContain('xmlns');
|
|
78
|
-
});
|
|
79
|
-
(0, vitest_1.test)('should reject SVG without any shape elements', () => {
|
|
80
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg"></svg>';
|
|
81
|
-
const error = (0, annotations_1.validateSvgMarkup)(svg);
|
|
82
|
-
(0, vitest_1.expect)(error).toBeTruthy();
|
|
83
|
-
(0, vitest_1.expect)(error).toContain('shape element');
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
(0, vitest_1.describe)('extractBoundingBox', () => {
|
|
87
|
-
(0, vitest_1.test)('should extract bounding box from viewBox attribute', () => {
|
|
88
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600"><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
89
|
-
const bbox = (0, annotations_1.extractBoundingBox)(svg);
|
|
90
|
-
(0, vitest_1.expect)(bbox).toEqual({ x: 0, y: 0, width: 800, height: 600 });
|
|
91
|
-
});
|
|
92
|
-
(0, vitest_1.test)('should extract bounding box from viewBox with non-zero origin', () => {
|
|
93
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="10 20 800 600"><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
94
|
-
const bbox = (0, annotations_1.extractBoundingBox)(svg);
|
|
95
|
-
(0, vitest_1.expect)(bbox).toEqual({ x: 10, y: 20, width: 800, height: 600 });
|
|
96
|
-
});
|
|
97
|
-
(0, vitest_1.test)('should extract bounding box from width/height attributes', () => {
|
|
98
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="800" height="600"><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
99
|
-
const bbox = (0, annotations_1.extractBoundingBox)(svg);
|
|
100
|
-
(0, vitest_1.expect)(bbox).toEqual({ x: 0, y: 0, width: 800, height: 600 });
|
|
101
|
-
});
|
|
102
|
-
(0, vitest_1.test)('should prefer viewBox over width/height', () => {
|
|
103
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 800" width="800" height="600"><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
104
|
-
const bbox = (0, annotations_1.extractBoundingBox)(svg);
|
|
105
|
-
(0, vitest_1.expect)(bbox).toEqual({ x: 0, y: 0, width: 1000, height: 800 });
|
|
106
|
-
});
|
|
107
|
-
(0, vitest_1.test)('should return null if no viewBox or width/height', () => {
|
|
108
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg"><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
109
|
-
const bbox = (0, annotations_1.extractBoundingBox)(svg);
|
|
110
|
-
(0, vitest_1.expect)(bbox).toBeNull();
|
|
111
|
-
});
|
|
112
|
-
(0, vitest_1.test)('should return null for malformed viewBox', () => {
|
|
113
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="invalid"><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
114
|
-
const bbox = (0, annotations_1.extractBoundingBox)(svg);
|
|
115
|
-
(0, vitest_1.expect)(bbox).toBeNull();
|
|
116
|
-
});
|
|
117
|
-
(0, vitest_1.test)('should return null for non-numeric width/height', () => {
|
|
118
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="auto"><rect x="10" y="20" width="100" height="50"/></svg>';
|
|
119
|
-
const bbox = (0, annotations_1.extractBoundingBox)(svg);
|
|
120
|
-
(0, vitest_1.expect)(bbox).toBeNull();
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
//# sourceMappingURL=svg-selectors.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"svg-selectors.test.js","sourceRoot":"","sources":["../../src/__tests__/svg-selectors.test.ts"],"names":[],"mappings":"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"}
|
package/dist/branded-types.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Branded string types for compile-time type safety
|
|
3
|
-
*
|
|
4
|
-
* These types are zero-cost at runtime but prevent mixing
|
|
5
|
-
* different string types at compile time.
|
|
6
|
-
*/
|
|
7
|
-
import type { components } from './types';
|
|
8
|
-
export type Motivation = components['schemas']['Motivation'];
|
|
9
|
-
export type ContentFormat = components['schemas']['ContentFormat'];
|
|
10
|
-
export type Email = string & {
|
|
11
|
-
readonly __brand: 'Email';
|
|
12
|
-
};
|
|
13
|
-
export type AuthCode = string & {
|
|
14
|
-
readonly __brand: 'AuthCode';
|
|
15
|
-
};
|
|
16
|
-
export type GoogleCredential = string & {
|
|
17
|
-
readonly __brand: 'GoogleCredential';
|
|
18
|
-
};
|
|
19
|
-
export type AccessToken = string & {
|
|
20
|
-
readonly __brand: 'AccessToken';
|
|
21
|
-
};
|
|
22
|
-
export type RefreshToken = string & {
|
|
23
|
-
readonly __brand: 'RefreshToken';
|
|
24
|
-
};
|
|
25
|
-
export type MCPToken = string & {
|
|
26
|
-
readonly __brand: 'MCPToken';
|
|
27
|
-
};
|
|
28
|
-
export type CloneToken = string & {
|
|
29
|
-
readonly __brand: 'CloneToken';
|
|
30
|
-
};
|
|
31
|
-
export type JobId = string & {
|
|
32
|
-
readonly __brand: 'JobId';
|
|
33
|
-
};
|
|
34
|
-
export type UserDID = string & {
|
|
35
|
-
readonly __brand: 'UserDID';
|
|
36
|
-
};
|
|
37
|
-
export type EntityType = string & {
|
|
38
|
-
readonly __brand: 'EntityType';
|
|
39
|
-
};
|
|
40
|
-
export type SearchQuery = string & {
|
|
41
|
-
readonly __brand: 'SearchQuery';
|
|
42
|
-
};
|
|
43
|
-
export type BaseUrl = string & {
|
|
44
|
-
readonly __brand: 'BaseUrl';
|
|
45
|
-
};
|
|
46
|
-
export declare function email(value: string): Email;
|
|
47
|
-
export declare function authCode(value: string): AuthCode;
|
|
48
|
-
export declare function googleCredential(value: string): GoogleCredential;
|
|
49
|
-
export declare function accessToken(value: string): AccessToken;
|
|
50
|
-
export declare function refreshToken(value: string): RefreshToken;
|
|
51
|
-
export declare function mcpToken(value: string): MCPToken;
|
|
52
|
-
export declare function cloneToken(value: string): CloneToken;
|
|
53
|
-
export declare function jobId(value: string): JobId;
|
|
54
|
-
export declare function userDID(value: string): UserDID;
|
|
55
|
-
export declare function entityType(value: string): EntityType;
|
|
56
|
-
export declare function searchQuery(value: string): SearchQuery;
|
|
57
|
-
export declare function baseUrl(value: string): BaseUrl;
|
|
58
|
-
export type ResourceUri = string & {
|
|
59
|
-
readonly __brand: 'ResourceUri';
|
|
60
|
-
};
|
|
61
|
-
export type AnnotationUri = string & {
|
|
62
|
-
readonly __brand: 'AnnotationUri';
|
|
63
|
-
};
|
|
64
|
-
export type ResourceAnnotationUri = string & {
|
|
65
|
-
readonly __brand: 'ResourceAnnotationUri';
|
|
66
|
-
};
|
|
67
|
-
export declare function resourceUri(uri: string): ResourceUri;
|
|
68
|
-
export declare function annotationUri(uri: string): AnnotationUri;
|
|
69
|
-
export declare function resourceAnnotationUri(uri: string): ResourceAnnotationUri;
|
|
70
|
-
//# sourceMappingURL=branded-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"branded-types.d.ts","sourceRoot":"","sources":["../src/branded-types.ts"],"names":[],"mappings":"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"}
|