@semiont/api-client 0.2.1 → 0.2.2

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.
Files changed (73) hide show
  1. package/dist/{types.d.ts → index-DHh0ToZB.d.ts} +460 -6
  2. package/dist/index.d.ts +909 -13
  3. package/dist/index.js +1598 -60
  4. package/dist/index.js.map +1 -1
  5. package/dist/utils/index.d.ts +1 -12
  6. package/dist/utils/index.js +597 -26
  7. package/dist/utils/index.js.map +1 -1
  8. package/package.json +11 -8
  9. package/dist/__tests__/client.test.d.ts +0 -28
  10. package/dist/__tests__/client.test.d.ts.map +0 -1
  11. package/dist/__tests__/client.test.js +0 -567
  12. package/dist/__tests__/client.test.js.map +0 -1
  13. package/dist/__tests__/sse-client.test.d.ts +0 -7
  14. package/dist/__tests__/sse-client.test.d.ts.map +0 -1
  15. package/dist/__tests__/sse-client.test.js +0 -421
  16. package/dist/__tests__/sse-client.test.js.map +0 -1
  17. package/dist/__tests__/sse-stream.test.d.ts +0 -7
  18. package/dist/__tests__/sse-stream.test.d.ts.map +0 -1
  19. package/dist/__tests__/sse-stream.test.js +0 -394
  20. package/dist/__tests__/sse-stream.test.js.map +0 -1
  21. package/dist/__tests__/svg-selectors.test.d.ts +0 -5
  22. package/dist/__tests__/svg-selectors.test.d.ts.map +0 -1
  23. package/dist/__tests__/svg-selectors.test.js +0 -124
  24. package/dist/__tests__/svg-selectors.test.js.map +0 -1
  25. package/dist/branded-types.d.ts +0 -70
  26. package/dist/branded-types.d.ts.map +0 -1
  27. package/dist/branded-types.js +0 -62
  28. package/dist/branded-types.js.map +0 -1
  29. package/dist/client.d.ts +0 -243
  30. package/dist/client.d.ts.map +0 -1
  31. package/dist/client.js +0 -460
  32. package/dist/client.js.map +0 -1
  33. package/dist/index.d.ts.map +0 -1
  34. package/dist/mime-utils.d.ts +0 -27
  35. package/dist/mime-utils.d.ts.map +0 -1
  36. package/dist/mime-utils.js +0 -49
  37. package/dist/mime-utils.js.map +0 -1
  38. package/dist/sse/index.d.ts +0 -343
  39. package/dist/sse/index.d.ts.map +0 -1
  40. package/dist/sse/index.js +0 -404
  41. package/dist/sse/index.js.map +0 -1
  42. package/dist/sse/stream.d.ts +0 -58
  43. package/dist/sse/stream.d.ts.map +0 -1
  44. package/dist/sse/stream.js +0 -187
  45. package/dist/sse/stream.js.map +0 -1
  46. package/dist/sse/types.d.ts +0 -295
  47. package/dist/sse/types.d.ts.map +0 -1
  48. package/dist/sse/types.js +0 -10
  49. package/dist/sse/types.js.map +0 -1
  50. package/dist/types.d.ts.map +0 -1
  51. package/dist/types.js +0 -7
  52. package/dist/types.js.map +0 -1
  53. package/dist/utils/annotations.d.ts +0 -191
  54. package/dist/utils/annotations.d.ts.map +0 -1
  55. package/dist/utils/annotations.js +0 -404
  56. package/dist/utils/annotations.js.map +0 -1
  57. package/dist/utils/events.d.ts +0 -74
  58. package/dist/utils/events.d.ts.map +0 -1
  59. package/dist/utils/events.js +0 -329
  60. package/dist/utils/events.js.map +0 -1
  61. package/dist/utils/index.d.ts.map +0 -1
  62. package/dist/utils/locales.d.ts +0 -31
  63. package/dist/utils/locales.d.ts.map +0 -1
  64. package/dist/utils/locales.js +0 -83
  65. package/dist/utils/locales.js.map +0 -1
  66. package/dist/utils/resources.d.ts +0 -34
  67. package/dist/utils/resources.d.ts.map +0 -1
  68. package/dist/utils/resources.js +0 -63
  69. package/dist/utils/resources.js.map +0 -1
  70. package/dist/utils/validation.d.ts +0 -57
  71. package/dist/utils/validation.d.ts.map +0 -1
  72. package/dist/utils/validation.js +0 -89
  73. 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,5 +0,0 @@
1
- /**
2
- * Unit tests for SVG Selector utilities
3
- */
4
- export {};
5
- //# sourceMappingURL=svg-selectors.test.d.ts.map
@@ -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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"}
@@ -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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"}