@elqnt/kg 3.0.0 → 3.0.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 (64) hide show
  1. package/dist/api/index.d.mts +94 -5
  2. package/dist/api/index.d.ts +94 -5
  3. package/dist/api/index.js +16 -2
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/index.mjs +15 -1
  6. package/dist/api/server.d.mts +4 -3
  7. package/dist/api/server.d.ts +4 -3
  8. package/dist/api/server.js.map +1 -1
  9. package/dist/{chunk-HCDFJCQL.mjs → chunk-5D7RJC7D.mjs} +105 -5
  10. package/dist/chunk-5D7RJC7D.mjs.map +1 -0
  11. package/dist/chunk-67SUELDR.js.map +1 -1
  12. package/dist/chunk-ADIKUMMI.js.map +1 -1
  13. package/dist/chunk-B33SF6DB.js +2 -0
  14. package/dist/chunk-B33SF6DB.js.map +1 -0
  15. package/dist/chunk-BP2I7KWY.js +1031 -0
  16. package/dist/chunk-BP2I7KWY.js.map +1 -0
  17. package/dist/{chunk-2TJCYLTP.js → chunk-CNWOI7LX.js} +104 -4
  18. package/dist/chunk-CNWOI7LX.js.map +1 -0
  19. package/dist/chunk-MAEB7UOW.mjs +257 -0
  20. package/dist/chunk-MAEB7UOW.mjs.map +1 -0
  21. package/dist/chunk-SUDQ45LY.mjs +2 -0
  22. package/dist/chunk-UCKE66GB.js.map +1 -1
  23. package/dist/chunk-WYRCAPY4.js +257 -0
  24. package/dist/chunk-WYRCAPY4.js.map +1 -0
  25. package/dist/chunk-ZEPJC46Z.mjs +1031 -0
  26. package/dist/chunk-ZEPJC46Z.mjs.map +1 -0
  27. package/dist/hooks/index.d.mts +446 -79
  28. package/dist/hooks/index.d.ts +446 -79
  29. package/dist/hooks/index.js +8 -3
  30. package/dist/hooks/index.js.map +1 -1
  31. package/dist/hooks/index.mjs +9 -4
  32. package/dist/index.d.mts +4 -2
  33. package/dist/index.d.ts +4 -2
  34. package/dist/index.js +24 -5
  35. package/dist/index.js.map +1 -1
  36. package/dist/index.mjs +31 -12
  37. package/dist/index.mjs.map +1 -1
  38. package/dist/models/index.d.mts +213 -0
  39. package/dist/models/index.d.ts +213 -0
  40. package/dist/models/index.js +1 -1
  41. package/dist/models/index.js.map +1 -1
  42. package/dist/models/index.mjs +1 -1
  43. package/dist/models/kg-designer.js.map +1 -1
  44. package/dist/models/kg.js.map +1 -1
  45. package/dist/transport/index.d.mts +365 -0
  46. package/dist/transport/index.d.ts +365 -0
  47. package/dist/transport/index.js +10 -0
  48. package/dist/transport/index.js.map +1 -0
  49. package/dist/transport/index.mjs +10 -0
  50. package/dist/transport/index.mjs.map +1 -0
  51. package/dist/utils/index.js +1 -1
  52. package/dist/utils/index.js.map +1 -1
  53. package/dist/utils/index.mjs +1 -1
  54. package/package.json +15 -13
  55. package/dist/chunk-2TJCYLTP.js.map +0 -1
  56. package/dist/chunk-7RW5MHP5.js +0 -497
  57. package/dist/chunk-7RW5MHP5.js.map +0 -1
  58. package/dist/chunk-HCDFJCQL.mjs.map +0 -1
  59. package/dist/chunk-JZ7UXVRW.mjs +0 -497
  60. package/dist/chunk-JZ7UXVRW.mjs.map +0 -1
  61. package/dist/chunk-NJNBEGDB.mjs +0 -2
  62. package/dist/chunk-W4XVBGE7.js +0 -2
  63. package/dist/chunk-W4XVBGE7.js.map +0 -1
  64. /package/dist/{chunk-NJNBEGDB.mjs.map → chunk-SUDQ45LY.mjs.map} +0 -0
@@ -0,0 +1,365 @@
1
+ import { KGApiOptions } from '../api/index.mjs';
2
+ import '@elqnt/api-client';
3
+ import '@elqnt/types';
4
+ import '../models/kg.mjs';
5
+ import '../models/kg-designer.mjs';
6
+ import '../models/index.mjs';
7
+
8
+ /**
9
+ * Quick Ingestion SSE Transport
10
+ *
11
+ * Handles real-time progress updates for quick ingestion jobs.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { createQuickIngestTransport } from "@elqnt/kg/transport";
16
+ *
17
+ * const transport = createQuickIngestTransport({ debug: true });
18
+ * await transport.connect({ baseUrl, orgId });
19
+ *
20
+ * transport.on("item_start", (event) => {
21
+ * console.log("Started processing:", event.itemId);
22
+ * });
23
+ *
24
+ * transport.on("item_progress", (event) => {
25
+ * console.log(`Progress: ${event.progress}% - ${event.text}`);
26
+ * });
27
+ *
28
+ * transport.on("item_complete", (event) => {
29
+ * console.log(`Completed: ${event.articles} articles, ${event.topics} topics`);
30
+ * });
31
+ *
32
+ * transport.on("job_complete", (event) => {
33
+ * console.log(`Job done: ${event.totalArticles} articles, ${event.totalTopics} topics`);
34
+ * });
35
+ *
36
+ * transport.subscribeToJob("qij_xyz789");
37
+ * ```
38
+ */
39
+
40
+ /**
41
+ * Transport configuration
42
+ */
43
+ interface QuickIngestTransportConfig {
44
+ /** Base URL for the API */
45
+ baseUrl: string;
46
+ /** Organization ID */
47
+ orgId: string;
48
+ /** Optional graph ID */
49
+ graphId?: string;
50
+ /** User ID for authentication */
51
+ userId?: string;
52
+ }
53
+ /**
54
+ * Transport options
55
+ */
56
+ interface QuickIngestTransportOptions {
57
+ /** Enable debug logging */
58
+ debug?: boolean;
59
+ }
60
+ /**
61
+ * Event when an item starts processing
62
+ */
63
+ interface QuickIngestItemStartEvent {
64
+ type: "item_start";
65
+ itemId: string;
66
+ timestamp: number;
67
+ }
68
+ /**
69
+ * Event when an item has progress update
70
+ */
71
+ interface QuickIngestItemProgressEvent {
72
+ type: "item_progress";
73
+ itemId: string;
74
+ progress: number;
75
+ text: string;
76
+ timestamp: number;
77
+ }
78
+ /**
79
+ * Event when an item completes successfully
80
+ */
81
+ interface QuickIngestItemCompleteEvent {
82
+ type: "item_complete";
83
+ itemId: string;
84
+ articles: number;
85
+ topics: number;
86
+ timestamp: number;
87
+ }
88
+ /**
89
+ * Event when an item encounters an error
90
+ */
91
+ interface QuickIngestItemErrorEvent {
92
+ type: "item_error";
93
+ itemId: string;
94
+ error: string;
95
+ timestamp: number;
96
+ }
97
+ /**
98
+ * Event when the entire job completes
99
+ */
100
+ interface QuickIngestJobCompleteEvent {
101
+ type: "job_complete";
102
+ totalArticles: number;
103
+ totalTopics: number;
104
+ timestamp: number;
105
+ }
106
+ /**
107
+ * Union of all quick ingest events
108
+ */
109
+ type QuickIngestEvent = QuickIngestItemStartEvent | QuickIngestItemProgressEvent | QuickIngestItemCompleteEvent | QuickIngestItemErrorEvent | QuickIngestJobCompleteEvent;
110
+ /**
111
+ * Event handler function type
112
+ */
113
+ type QuickIngestEventHandler<T = QuickIngestEvent> = (event: T) => void;
114
+ /**
115
+ * Unsubscribe function
116
+ */
117
+ type Unsubscribe = () => void;
118
+ /**
119
+ * Quick Ingest Transport interface
120
+ */
121
+ interface QuickIngestTransport {
122
+ /**
123
+ * Connect to the transport
124
+ */
125
+ connect(options: KGApiOptions): Promise<void>;
126
+ /**
127
+ * Subscribe to a specific job's events
128
+ */
129
+ subscribeToJob(jobId: string): void;
130
+ /**
131
+ * Subscribe to specific event type
132
+ */
133
+ on<T extends QuickIngestEvent["type"]>(eventType: T, handler: QuickIngestEventHandler<Extract<QuickIngestEvent, {
134
+ type: T;
135
+ }>>): Unsubscribe;
136
+ /**
137
+ * Disconnect from the transport
138
+ */
139
+ disconnect(): void;
140
+ /**
141
+ * Get current connection state
142
+ */
143
+ getState(): "disconnected" | "connecting" | "connected";
144
+ }
145
+ /**
146
+ * Create a Quick Ingest SSE transport
147
+ */
148
+ declare function createQuickIngestTransport(options?: QuickIngestTransportOptions): QuickIngestTransport;
149
+
150
+ /**
151
+ * Full Ingestion SSE Transport
152
+ *
153
+ * Handles real-time progress updates and node streaming for full ingestion extraction.
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * import { createFullIngestTransport } from "@elqnt/kg/transport";
158
+ *
159
+ * const transport = createFullIngestTransport({ debug: true });
160
+ * await transport.connect({ baseUrl, orgId });
161
+ *
162
+ * transport.on("progress", (event) => {
163
+ * console.log(`Extracting page ${event.currentPage} of ${event.totalPages}`);
164
+ * });
165
+ *
166
+ * transport.on("node", (event) => {
167
+ * console.log("Extracted node:", event.label, event.fields);
168
+ * });
169
+ *
170
+ * transport.on("complete", (event) => {
171
+ * console.log(`Extraction done: ${event.totalNodes} nodes`);
172
+ * });
173
+ *
174
+ * transport.subscribeToJob("fij_extract_789");
175
+ * ```
176
+ */
177
+
178
+ /**
179
+ * Transport configuration
180
+ */
181
+ interface FullIngestTransportConfig {
182
+ /** Base URL for the API */
183
+ baseUrl: string;
184
+ /** Organization ID */
185
+ orgId: string;
186
+ /** Optional graph ID */
187
+ graphId?: string;
188
+ /** User ID for authentication */
189
+ userId?: string;
190
+ }
191
+ /**
192
+ * Transport options
193
+ */
194
+ interface FullIngestTransportOptions {
195
+ /** Enable debug logging */
196
+ debug?: boolean;
197
+ }
198
+ /**
199
+ * Event for extraction progress
200
+ */
201
+ interface FullIngestProgressEvent {
202
+ type: "progress";
203
+ currentPage: number;
204
+ totalPages: number;
205
+ timestamp: number;
206
+ }
207
+ /**
208
+ * Event when a node is extracted
209
+ */
210
+ interface FullIngestNodeEvent {
211
+ type: "node";
212
+ id: string;
213
+ label: string;
214
+ fields: Record<string, unknown>;
215
+ timestamp: number;
216
+ }
217
+ /**
218
+ * Event when consolidation is starting
219
+ */
220
+ interface FullIngestConsolidatingEvent {
221
+ type: "consolidating";
222
+ message: string;
223
+ rawCount?: number;
224
+ timestamp: number;
225
+ }
226
+ /**
227
+ * Event when consolidation progress updates
228
+ */
229
+ interface FullIngestConsolidateProgressEvent {
230
+ type: "consolidate_progress";
231
+ message: string;
232
+ timestamp: number;
233
+ }
234
+ /**
235
+ * Event when consolidation completes
236
+ */
237
+ interface FullIngestConsolidatedEvent {
238
+ type: "consolidated";
239
+ totalNodes: number;
240
+ mergedCount: number;
241
+ message: string;
242
+ timestamp: number;
243
+ }
244
+ /**
245
+ * Event when linking/relationship extraction starts
246
+ */
247
+ interface FullIngestLinkingEvent {
248
+ type: "linking";
249
+ message: string;
250
+ timestamp: number;
251
+ }
252
+ /**
253
+ * Event when linking completes
254
+ */
255
+ interface FullIngestLinkedEvent {
256
+ type: "linked";
257
+ message: string;
258
+ timestamp: number;
259
+ }
260
+ /**
261
+ * Event when an edge is extracted
262
+ */
263
+ interface FullIngestEdgeEvent {
264
+ type: "edge";
265
+ id: string;
266
+ fromLabel: string;
267
+ fromName: string;
268
+ toLabel: string;
269
+ toName: string;
270
+ edgeLabel: string;
271
+ confidence: number;
272
+ timestamp: number;
273
+ }
274
+ /**
275
+ * Event when extraction completes
276
+ */
277
+ interface FullIngestCompleteEvent {
278
+ type: "complete";
279
+ totalNodes: number;
280
+ totalEdges?: number;
281
+ message?: string;
282
+ timestamp: number;
283
+ }
284
+ /**
285
+ * Event when extraction encounters an error
286
+ */
287
+ interface FullIngestErrorEvent {
288
+ type: "error";
289
+ message: string;
290
+ timestamp: number;
291
+ }
292
+ /**
293
+ * Event when ingestion to KG starts
294
+ */
295
+ interface FullIngestIngestingEvent {
296
+ type: "ingesting";
297
+ message: string;
298
+ totalNodes: number;
299
+ totalEdges: number;
300
+ timestamp: number;
301
+ }
302
+ /**
303
+ * Event for ingestion progress (node/edge being ingested)
304
+ */
305
+ interface FullIngestIngestProgressEvent {
306
+ type: "ingest_progress";
307
+ message: string;
308
+ currentNode: number;
309
+ totalNodes: number;
310
+ currentEdge: number;
311
+ totalEdges: number;
312
+ timestamp: number;
313
+ }
314
+ /**
315
+ * Event when ingestion to KG completes
316
+ */
317
+ interface FullIngestIngestCompleteEvent {
318
+ type: "ingest_complete";
319
+ message: string;
320
+ nodesIngested: number;
321
+ edgesIngested: number;
322
+ timestamp: number;
323
+ }
324
+ /**
325
+ * Union of all full ingest events
326
+ */
327
+ type FullIngestEvent = FullIngestProgressEvent | FullIngestNodeEvent | FullIngestConsolidatingEvent | FullIngestConsolidateProgressEvent | FullIngestConsolidatedEvent | FullIngestLinkingEvent | FullIngestLinkedEvent | FullIngestEdgeEvent | FullIngestCompleteEvent | FullIngestErrorEvent | FullIngestIngestingEvent | FullIngestIngestProgressEvent | FullIngestIngestCompleteEvent;
328
+ /**
329
+ * Event handler function type
330
+ */
331
+ type FullIngestEventHandler<T = FullIngestEvent> = (event: T) => void;
332
+
333
+ /**
334
+ * Full Ingest Transport interface
335
+ */
336
+ interface FullIngestTransport {
337
+ /**
338
+ * Connect to the transport
339
+ */
340
+ connect(options: KGApiOptions): Promise<void>;
341
+ /**
342
+ * Subscribe to a specific job's events
343
+ */
344
+ subscribeToJob(jobId: string): void;
345
+ /**
346
+ * Subscribe to specific event type
347
+ */
348
+ on<T extends FullIngestEvent["type"]>(eventType: T, handler: FullIngestEventHandler<Extract<FullIngestEvent, {
349
+ type: T;
350
+ }>>): Unsubscribe;
351
+ /**
352
+ * Disconnect from the transport
353
+ */
354
+ disconnect(): void;
355
+ /**
356
+ * Get current connection state
357
+ */
358
+ getState(): "disconnected" | "connecting" | "connected";
359
+ }
360
+ /**
361
+ * Create a Full Ingest SSE transport
362
+ */
363
+ declare function createFullIngestTransport(options?: FullIngestTransportOptions): FullIngestTransport;
364
+
365
+ export { type FullIngestCompleteEvent, type FullIngestConsolidateProgressEvent, type FullIngestConsolidatedEvent, type FullIngestConsolidatingEvent, type FullIngestEdgeEvent, type FullIngestErrorEvent, type FullIngestEvent, type FullIngestEventHandler, type FullIngestIngestCompleteEvent, type FullIngestIngestProgressEvent, type FullIngestIngestingEvent, type FullIngestLinkedEvent, type FullIngestLinkingEvent, type FullIngestNodeEvent, type FullIngestProgressEvent, type FullIngestTransport, type FullIngestTransportConfig, type FullIngestTransportOptions, type QuickIngestEvent, type QuickIngestEventHandler, type QuickIngestItemCompleteEvent, type QuickIngestItemErrorEvent, type QuickIngestItemProgressEvent, type QuickIngestItemStartEvent, type QuickIngestJobCompleteEvent, type QuickIngestTransport, type QuickIngestTransportConfig, type QuickIngestTransportOptions, type Unsubscribe, createFullIngestTransport, createQuickIngestTransport };