@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,343 +0,0 @@
1
- /**
2
- * SSE Client for Semiont Streaming Endpoints
3
- *
4
- * Provides type-safe methods for Server-Sent Events streaming.
5
- * Does NOT use ky - uses native fetch() for SSE support.
6
- */
7
- import type { DetectionProgress, GenerationProgress, HighlightDetectionProgress, AssessmentDetectionProgress, CommentDetectionProgress, TagDetectionProgress, ResourceEvent, SSEStream } from './types';
8
- import type { ResourceUri, AnnotationUri } from '../branded-types';
9
- import type { AccessToken, BaseUrl, EntityType } from '../branded-types';
10
- import type { components } from '../types';
11
- /**
12
- * Request body for detection stream
13
- */
14
- export interface DetectAnnotationsStreamRequest {
15
- entityTypes: EntityType[];
16
- }
17
- /**
18
- * Request body for generation stream
19
- * Uses generated type from OpenAPI schema
20
- */
21
- export type GenerateResourceStreamRequest = components['schemas']['GenerateResourceStreamRequest'];
22
- /**
23
- * Request body for highlight detection stream
24
- */
25
- export interface DetectHighlightsStreamRequest {
26
- instructions?: string;
27
- }
28
- /**
29
- * Request body for assessment detection stream
30
- */
31
- export interface DetectAssessmentsStreamRequest {
32
- instructions?: string;
33
- }
34
- /**
35
- * Request body for comment detection stream
36
- */
37
- export interface DetectCommentsStreamRequest {
38
- instructions?: string;
39
- tone?: 'scholarly' | 'explanatory' | 'conversational' | 'technical';
40
- }
41
- /**
42
- * Request body for tag detection stream
43
- */
44
- export interface DetectTagsStreamRequest {
45
- schemaId: string;
46
- categories: string[];
47
- }
48
- /**
49
- * SSE Client configuration
50
- */
51
- export interface SSEClientConfig {
52
- baseUrl: BaseUrl;
53
- accessToken?: AccessToken;
54
- }
55
- /**
56
- * SSE Client for real-time streaming operations
57
- *
58
- * Separate from the main HTTP client to clearly mark streaming endpoints.
59
- * Uses native fetch() instead of ky for SSE support.
60
- *
61
- * @example
62
- * ```typescript
63
- * const sseClient = new SSEClient({
64
- * baseUrl: 'http://localhost:4000',
65
- * accessToken: 'your-token'
66
- * });
67
- *
68
- * const stream = sseClient.detectAnnotations(
69
- * 'http://localhost:4000/resources/doc-123',
70
- * { entityTypes: ['Person', 'Organization'] }
71
- * );
72
- *
73
- * stream.onProgress((p) => console.log(p.message));
74
- * stream.onComplete((r) => console.log(`Found ${r.foundCount} entities`));
75
- * stream.onError((e) => console.error('Detection failed:', e));
76
- * ```
77
- */
78
- export declare class SSEClient {
79
- private baseUrl;
80
- private accessToken;
81
- constructor(config: SSEClientConfig);
82
- /**
83
- * Set the access token for authenticated requests
84
- */
85
- setAccessToken(token: AccessToken): void;
86
- /**
87
- * Clear the access token
88
- */
89
- clearAccessToken(): void;
90
- /**
91
- * Get common headers for SSE requests
92
- */
93
- private getHeaders;
94
- /**
95
- * Extract resource ID from URI
96
- *
97
- * Handles both full URIs and plain IDs:
98
- * - 'http://localhost:4000/resources/doc-123' -> 'doc-123'
99
- * - 'doc-123' -> 'doc-123'
100
- */
101
- private extractId;
102
- /**
103
- * Detect annotations in a resource (streaming)
104
- *
105
- * Streams entity detection progress via Server-Sent Events.
106
- *
107
- * @param resourceId - Resource URI or ID
108
- * @param request - Detection configuration (entity types to detect)
109
- * @returns SSE stream controller with progress/complete/error callbacks
110
- *
111
- * @example
112
- * ```typescript
113
- * const stream = sseClient.detectAnnotations(
114
- * 'http://localhost:4000/resources/doc-123',
115
- * { entityTypes: ['Person', 'Organization'] }
116
- * );
117
- *
118
- * stream.onProgress((progress) => {
119
- * console.log(`Scanning: ${progress.currentEntityType}`);
120
- * console.log(`Progress: ${progress.processedEntityTypes}/${progress.totalEntityTypes}`);
121
- * });
122
- *
123
- * stream.onComplete((result) => {
124
- * console.log(`Detection complete! Found ${result.foundCount} entities`);
125
- * });
126
- *
127
- * stream.onError((error) => {
128
- * console.error('Detection failed:', error.message);
129
- * });
130
- *
131
- * // Cleanup when done
132
- * stream.close();
133
- * ```
134
- */
135
- detectAnnotations(resourceId: ResourceUri, request: DetectAnnotationsStreamRequest): SSEStream<DetectionProgress, DetectionProgress>;
136
- /**
137
- * Generate resource from annotation (streaming)
138
- *
139
- * Streams resource generation progress via Server-Sent Events.
140
- *
141
- * @param resourceId - Source resource URI or ID
142
- * @param annotationId - Annotation URI or ID to use as generation source
143
- * @param request - Generation options (title, prompt, language)
144
- * @returns SSE stream controller with progress/complete/error callbacks
145
- *
146
- * @example
147
- * ```typescript
148
- * const stream = sseClient.generateResourceFromAnnotation(
149
- * 'http://localhost:4000/resources/doc-123',
150
- * 'http://localhost:4000/annotations/ann-456',
151
- * { language: 'es', title: 'Spanish Summary' }
152
- * );
153
- *
154
- * stream.onProgress((progress) => {
155
- * console.log(`${progress.status}: ${progress.percentage}%`);
156
- * console.log(progress.message);
157
- * });
158
- *
159
- * stream.onComplete((result) => {
160
- * console.log(`Generated resource: ${result.resourceId}`);
161
- * });
162
- *
163
- * stream.onError((error) => {
164
- * console.error('Generation failed:', error.message);
165
- * });
166
- *
167
- * // Cleanup when done
168
- * stream.close();
169
- * ```
170
- */
171
- generateResourceFromAnnotation(resourceId: ResourceUri, annotationId: AnnotationUri, request: GenerateResourceStreamRequest): SSEStream<GenerationProgress, GenerationProgress>;
172
- /**
173
- * Detect highlights in a resource (streaming)
174
- *
175
- * Streams highlight detection progress via Server-Sent Events.
176
- *
177
- * @param resourceId - Resource URI or ID
178
- * @param request - Detection configuration (optional instructions)
179
- * @returns SSE stream controller with progress/complete/error callbacks
180
- *
181
- * @example
182
- * ```typescript
183
- * const stream = sseClient.detectHighlights(
184
- * 'http://localhost:4000/resources/doc-123',
185
- * { instructions: 'Focus on key technical points' }
186
- * );
187
- *
188
- * stream.onProgress((progress) => {
189
- * console.log(`${progress.status}: ${progress.percentage}%`);
190
- * console.log(progress.message);
191
- * });
192
- *
193
- * stream.onComplete((result) => {
194
- * console.log(`Detection complete! Created ${result.createdCount} highlights`);
195
- * });
196
- *
197
- * stream.onError((error) => {
198
- * console.error('Detection failed:', error.message);
199
- * });
200
- *
201
- * // Cleanup when done
202
- * stream.close();
203
- * ```
204
- */
205
- detectHighlights(resourceId: ResourceUri, request?: DetectHighlightsStreamRequest): SSEStream<HighlightDetectionProgress, HighlightDetectionProgress>;
206
- /**
207
- * Detect assessments in a resource (streaming)
208
- *
209
- * Streams assessment detection progress via Server-Sent Events.
210
- *
211
- * @param resourceId - Resource URI or ID
212
- * @param request - Detection configuration (optional instructions)
213
- * @returns SSE stream controller with progress/complete/error callbacks
214
- *
215
- * @example
216
- * ```typescript
217
- * const stream = sseClient.detectAssessments(
218
- * 'http://localhost:4000/resources/doc-123',
219
- * { instructions: 'Evaluate claims for accuracy' }
220
- * );
221
- *
222
- * stream.onProgress((progress) => {
223
- * console.log(`${progress.status}: ${progress.percentage}%`);
224
- * console.log(progress.message);
225
- * });
226
- *
227
- * stream.onComplete((result) => {
228
- * console.log(`Detection complete! Created ${result.createdCount} assessments`);
229
- * });
230
- *
231
- * stream.onError((error) => {
232
- * console.error('Detection failed:', error.message);
233
- * });
234
- *
235
- * // Cleanup when done
236
- * stream.close();
237
- * ```
238
- */
239
- detectAssessments(resourceId: ResourceUri, request?: DetectAssessmentsStreamRequest): SSEStream<AssessmentDetectionProgress, AssessmentDetectionProgress>;
240
- /**
241
- * Detect comments in a resource (streaming)
242
- *
243
- * Streams comment detection progress via Server-Sent Events.
244
- * Uses AI to identify passages that would benefit from explanatory comments
245
- * and creates comment annotations with contextual information.
246
- *
247
- * @param resourceId - Resource URI or ID
248
- * @param request - Detection configuration (optional instructions and tone)
249
- * @returns SSE stream controller with progress/complete/error callbacks
250
- *
251
- * @example
252
- * ```typescript
253
- * const stream = sseClient.detectComments('http://localhost:4000/resources/doc-123', {
254
- * instructions: 'Focus on technical terminology',
255
- * tone: 'scholarly'
256
- * });
257
- *
258
- * stream.onProgress((progress) => {
259
- * console.log(`${progress.status}: ${progress.percentage}%`);
260
- * });
261
- *
262
- * stream.onComplete((result) => {
263
- * console.log(`Detection complete! Created ${result.createdCount} comments`);
264
- * });
265
- *
266
- * stream.onError((error) => {
267
- * console.error('Detection failed:', error.message);
268
- * });
269
- *
270
- * // Cleanup when done
271
- * stream.close();
272
- * ```
273
- */
274
- detectComments(resourceId: ResourceUri, request?: DetectCommentsStreamRequest): SSEStream<CommentDetectionProgress, CommentDetectionProgress>;
275
- /**
276
- * Detect tags in a resource (streaming)
277
- *
278
- * Streams tag detection progress via Server-Sent Events.
279
- * Uses AI to identify passages serving specific structural roles
280
- * (e.g., IRAC, IMRAD, Toulmin) and creates tag annotations with dual-body structure.
281
- *
282
- * @param resourceId - Resource URI or ID
283
- * @param request - Detection configuration (schema and categories to detect)
284
- * @returns SSE stream controller with progress/complete/error callbacks
285
- *
286
- * @example
287
- * ```typescript
288
- * const stream = sseClient.detectTags('http://localhost:4000/resources/doc-123', {
289
- * schemaId: 'legal-irac',
290
- * categories: ['Issue', 'Rule', 'Application', 'Conclusion']
291
- * });
292
- *
293
- * stream.onProgress((progress) => {
294
- * console.log(`${progress.status}: ${progress.percentage}%`);
295
- * console.log(`Processing ${progress.currentCategory}...`);
296
- * });
297
- *
298
- * stream.onComplete((result) => {
299
- * console.log(`Detection complete! Created ${result.tagsCreated} tags`);
300
- * });
301
- *
302
- * stream.onError((error) => {
303
- * console.error('Detection failed:', error.message);
304
- * });
305
- *
306
- * // Cleanup when done
307
- * stream.close();
308
- * ```
309
- */
310
- detectTags(resourceId: ResourceUri, request: DetectTagsStreamRequest): SSEStream<TagDetectionProgress, TagDetectionProgress>;
311
- /**
312
- * Subscribe to resource events (long-lived stream)
313
- *
314
- * Opens a long-lived SSE connection to receive real-time events for a resource.
315
- * Used for collaborative editing - see events from other users as they happen.
316
- *
317
- * This stream does NOT have a complete event - it stays open until explicitly closed.
318
- *
319
- * @param resourceId - Resource URI or ID to subscribe to
320
- * @returns SSE stream controller with event callback
321
- *
322
- * @example
323
- * ```typescript
324
- * const stream = sseClient.resourceEvents('http://localhost:4000/resources/doc-123');
325
- *
326
- * stream.onProgress((event) => {
327
- * console.log(`Event: ${event.type}`);
328
- * console.log(`User: ${event.userId}`);
329
- * console.log(`Sequence: ${event.metadata.sequenceNumber}`);
330
- * console.log(`Payload:`, event.payload);
331
- * });
332
- *
333
- * stream.onError((error) => {
334
- * console.error('Stream error:', error.message);
335
- * });
336
- *
337
- * // Close when no longer needed (e.g., component unmount)
338
- * stream.close();
339
- * ```
340
- */
341
- resourceEvents(resourceId: ResourceUri): SSEStream<ResourceEvent, never>;
342
- }
343
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sse/index.ts"],"names":[],"mappings":"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"}