@robosystems/client 0.2.48 → 0.3.0

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 (190) hide show
  1. package/extensions/InvestorClient.d.ts +91 -0
  2. package/extensions/InvestorClient.js +223 -0
  3. package/extensions/InvestorClient.ts +501 -0
  4. package/extensions/LedgerClient.d.ts +213 -165
  5. package/extensions/LedgerClient.js +315 -393
  6. package/extensions/LedgerClient.ts +887 -564
  7. package/extensions/ReportClient.d.ts +77 -115
  8. package/extensions/ReportClient.js +124 -211
  9. package/extensions/ReportClient.ts +298 -358
  10. package/extensions/config.js +1 -1
  11. package/extensions/config.ts +1 -1
  12. package/extensions/graphql/client.d.ts +46 -0
  13. package/extensions/graphql/client.js +75 -0
  14. package/extensions/graphql/client.ts +82 -0
  15. package/extensions/graphql/generated/graphql.d.ts +1786 -0
  16. package/extensions/graphql/generated/graphql.js +2671 -0
  17. package/extensions/graphql/generated/graphql.ts +4491 -0
  18. package/extensions/graphql/queries/investor/holdings.d.ts +8 -0
  19. package/extensions/graphql/queries/investor/holdings.js +36 -0
  20. package/extensions/graphql/queries/investor/holdings.ts +34 -0
  21. package/extensions/graphql/queries/investor/portfolio.d.ts +4 -0
  22. package/extensions/graphql/queries/investor/portfolio.js +21 -0
  23. package/extensions/graphql/queries/investor/portfolio.ts +19 -0
  24. package/extensions/graphql/queries/investor/portfolios.d.ts +4 -0
  25. package/extensions/graphql/queries/investor/portfolios.js +29 -0
  26. package/extensions/graphql/queries/investor/portfolios.ts +27 -0
  27. package/extensions/graphql/queries/investor/position.d.ts +4 -0
  28. package/extensions/graphql/queries/investor/position.js +33 -0
  29. package/extensions/graphql/queries/investor/position.ts +31 -0
  30. package/extensions/graphql/queries/investor/positions.d.ts +8 -0
  31. package/extensions/graphql/queries/investor/positions.js +57 -0
  32. package/extensions/graphql/queries/investor/positions.ts +55 -0
  33. package/extensions/graphql/queries/investor/securities.d.ts +8 -0
  34. package/extensions/graphql/queries/investor/securities.js +50 -0
  35. package/extensions/graphql/queries/investor/securities.ts +48 -0
  36. package/extensions/graphql/queries/investor/security.d.ts +4 -0
  37. package/extensions/graphql/queries/investor/security.js +26 -0
  38. package/extensions/graphql/queries/investor/security.ts +24 -0
  39. package/extensions/graphql/queries/ledger/accountRollups.d.ts +7 -0
  40. package/extensions/graphql/queries/ledger/accountRollups.js +36 -0
  41. package/extensions/graphql/queries/ledger/accountRollups.ts +34 -0
  42. package/extensions/graphql/queries/ledger/accountTree.d.ts +11 -0
  43. package/extensions/graphql/queries/ledger/accountTree.js +61 -0
  44. package/extensions/graphql/queries/ledger/accountTree.ts +59 -0
  45. package/extensions/graphql/queries/ledger/accounts.d.ts +8 -0
  46. package/extensions/graphql/queries/ledger/accounts.js +45 -0
  47. package/extensions/graphql/queries/ledger/accounts.ts +43 -0
  48. package/extensions/graphql/queries/ledger/closingBookStructures.d.ts +6 -0
  49. package/extensions/graphql/queries/ledger/closingBookStructures.js +27 -0
  50. package/extensions/graphql/queries/ledger/closingBookStructures.ts +25 -0
  51. package/extensions/graphql/queries/ledger/elements.d.ts +6 -0
  52. package/extensions/graphql/queries/ledger/elements.js +56 -0
  53. package/extensions/graphql/queries/ledger/elements.ts +54 -0
  54. package/extensions/graphql/queries/ledger/entities.d.ts +7 -0
  55. package/extensions/graphql/queries/ledger/entities.js +31 -0
  56. package/extensions/graphql/queries/ledger/entities.ts +29 -0
  57. package/extensions/graphql/queries/ledger/entity.d.ts +14 -0
  58. package/extensions/graphql/queries/ledger/entity.js +55 -0
  59. package/extensions/graphql/queries/ledger/entity.ts +54 -0
  60. package/extensions/graphql/queries/ledger/fiscalCalendar.d.ts +8 -0
  61. package/extensions/graphql/queries/ledger/fiscalCalendar.js +35 -0
  62. package/extensions/graphql/queries/ledger/fiscalCalendar.ts +33 -0
  63. package/extensions/graphql/queries/ledger/mappedTrialBalance.d.ts +9 -0
  64. package/extensions/graphql/queries/ledger/mappedTrialBalance.js +29 -0
  65. package/extensions/graphql/queries/ledger/mappedTrialBalance.ts +27 -0
  66. package/extensions/graphql/queries/ledger/mapping.d.ts +5 -0
  67. package/extensions/graphql/queries/ledger/mapping.js +35 -0
  68. package/extensions/graphql/queries/ledger/mapping.ts +33 -0
  69. package/extensions/graphql/queries/ledger/mappingCoverage.d.ts +5 -0
  70. package/extensions/graphql/queries/ledger/mappingCoverage.js +22 -0
  71. package/extensions/graphql/queries/ledger/mappingCoverage.ts +20 -0
  72. package/extensions/graphql/queries/ledger/mappings.d.ts +6 -0
  73. package/extensions/graphql/queries/ledger/mappings.js +23 -0
  74. package/extensions/graphql/queries/ledger/mappings.ts +21 -0
  75. package/extensions/graphql/queries/ledger/periodCloseStatus.d.ts +6 -0
  76. package/extensions/graphql/queries/ledger/periodCloseStatus.js +29 -0
  77. package/extensions/graphql/queries/ledger/periodCloseStatus.ts +27 -0
  78. package/extensions/graphql/queries/ledger/periodDrafts.d.ts +8 -0
  79. package/extensions/graphql/queries/ledger/periodDrafts.js +45 -0
  80. package/extensions/graphql/queries/ledger/periodDrafts.ts +43 -0
  81. package/extensions/graphql/queries/ledger/publishList.d.ts +5 -0
  82. package/extensions/graphql/queries/ledger/publishList.js +29 -0
  83. package/extensions/graphql/queries/ledger/publishList.ts +27 -0
  84. package/extensions/graphql/queries/ledger/publishLists.d.ts +5 -0
  85. package/extensions/graphql/queries/ledger/publishLists.js +29 -0
  86. package/extensions/graphql/queries/ledger/publishLists.ts +27 -0
  87. package/extensions/graphql/queries/ledger/report.d.ts +5 -0
  88. package/extensions/graphql/queries/ledger/report.js +40 -0
  89. package/extensions/graphql/queries/ledger/report.ts +38 -0
  90. package/extensions/graphql/queries/ledger/reportingTaxonomy.d.ts +6 -0
  91. package/extensions/graphql/queries/ledger/reportingTaxonomy.js +27 -0
  92. package/extensions/graphql/queries/ledger/reportingTaxonomy.ts +25 -0
  93. package/extensions/graphql/queries/ledger/reports.d.ts +8 -0
  94. package/extensions/graphql/queries/ledger/reports.js +45 -0
  95. package/extensions/graphql/queries/ledger/reports.ts +43 -0
  96. package/extensions/graphql/queries/ledger/scheduleFacts.d.ts +7 -0
  97. package/extensions/graphql/queries/ledger/scheduleFacts.js +24 -0
  98. package/extensions/graphql/queries/ledger/scheduleFacts.ts +22 -0
  99. package/extensions/graphql/queries/ledger/schedules.d.ts +6 -0
  100. package/extensions/graphql/queries/ledger/schedules.js +24 -0
  101. package/extensions/graphql/queries/ledger/schedules.ts +22 -0
  102. package/extensions/graphql/queries/ledger/statement.d.ts +9 -0
  103. package/extensions/graphql/queries/ledger/statement.js +43 -0
  104. package/extensions/graphql/queries/ledger/statement.ts +41 -0
  105. package/extensions/graphql/queries/ledger/structures.d.ts +5 -0
  106. package/extensions/graphql/queries/ledger/structures.js +22 -0
  107. package/extensions/graphql/queries/ledger/structures.ts +20 -0
  108. package/extensions/graphql/queries/ledger/summary.d.ts +7 -0
  109. package/extensions/graphql/queries/ledger/summary.js +25 -0
  110. package/extensions/graphql/queries/ledger/summary.ts +23 -0
  111. package/extensions/graphql/queries/ledger/taxonomies.d.ts +5 -0
  112. package/extensions/graphql/queries/ledger/taxonomies.js +28 -0
  113. package/extensions/graphql/queries/ledger/taxonomies.ts +26 -0
  114. package/extensions/graphql/queries/ledger/transaction.d.ts +6 -0
  115. package/extensions/graphql/queries/ledger/transaction.js +49 -0
  116. package/extensions/graphql/queries/ledger/transaction.ts +47 -0
  117. package/extensions/graphql/queries/ledger/transactions.d.ts +7 -0
  118. package/extensions/graphql/queries/ledger/transactions.js +49 -0
  119. package/extensions/graphql/queries/ledger/transactions.ts +47 -0
  120. package/extensions/graphql/queries/ledger/trialBalance.d.ts +7 -0
  121. package/extensions/graphql/queries/ledger/trialBalance.js +28 -0
  122. package/extensions/graphql/queries/ledger/trialBalance.ts +26 -0
  123. package/extensions/graphql/queries/ledger/unmappedElements.d.ts +8 -0
  124. package/extensions/graphql/queries/ledger/unmappedElements.js +29 -0
  125. package/extensions/graphql/queries/ledger/unmappedElements.ts +27 -0
  126. package/extensions/hooks.d.ts +1 -1
  127. package/extensions/index.d.ts +5 -1
  128. package/extensions/index.js +13 -1
  129. package/extensions/index.ts +14 -0
  130. package/index.ts +2 -2
  131. package/package.json +14 -5
  132. package/sdk/index.d.ts +2 -2
  133. package/sdk/index.js +38 -65
  134. package/sdk/index.ts +2 -2
  135. package/sdk/sdk.gen.d.ts +101 -220
  136. package/sdk/sdk.gen.js +251 -445
  137. package/sdk/sdk.gen.ts +216 -409
  138. package/sdk/types.gen.d.ts +4586 -7045
  139. package/sdk/types.gen.ts +4702 -7334
  140. package/sdk.gen.d.ts +101 -220
  141. package/sdk.gen.js +251 -445
  142. package/sdk.gen.ts +216 -409
  143. package/types.gen.d.ts +4586 -7045
  144. package/types.gen.ts +4702 -7334
  145. package/extensions/AgentClient.test.ts +0 -403
  146. package/extensions/LedgerClient.test.ts +0 -1138
  147. package/extensions/OperationClient.test.ts +0 -365
  148. package/extensions/QueryClient.test.ts +0 -432
  149. package/extensions/ReportClient.test.ts +0 -828
  150. package/extensions/SSEClient.test.ts +0 -375
  151. package/extensions/config.test.ts +0 -199
  152. package/extensions/hooks.test.ts +0 -373
  153. package/extensions/index.test.ts +0 -420
  154. package/sdk-extensions/AgentClient.d.ts +0 -82
  155. package/sdk-extensions/AgentClient.js +0 -218
  156. package/sdk-extensions/AgentClient.test.ts +0 -403
  157. package/sdk-extensions/AgentClient.ts +0 -321
  158. package/sdk-extensions/LedgerClient.d.ts +0 -242
  159. package/sdk-extensions/LedgerClient.js +0 -496
  160. package/sdk-extensions/LedgerClient.test.ts +0 -1138
  161. package/sdk-extensions/LedgerClient.ts +0 -800
  162. package/sdk-extensions/OperationClient.d.ts +0 -65
  163. package/sdk-extensions/OperationClient.js +0 -251
  164. package/sdk-extensions/OperationClient.test.ts +0 -365
  165. package/sdk-extensions/OperationClient.ts +0 -324
  166. package/sdk-extensions/QueryClient.d.ts +0 -52
  167. package/sdk-extensions/QueryClient.js +0 -313
  168. package/sdk-extensions/QueryClient.test.ts +0 -432
  169. package/sdk-extensions/QueryClient.ts +0 -420
  170. package/sdk-extensions/README.md +0 -901
  171. package/sdk-extensions/ReportClient.d.ts +0 -151
  172. package/sdk-extensions/ReportClient.js +0 -278
  173. package/sdk-extensions/ReportClient.test.ts +0 -828
  174. package/sdk-extensions/ReportClient.ts +0 -486
  175. package/sdk-extensions/SSEClient.d.ts +0 -62
  176. package/sdk-extensions/SSEClient.js +0 -154
  177. package/sdk-extensions/SSEClient.test.ts +0 -375
  178. package/sdk-extensions/SSEClient.ts +0 -210
  179. package/sdk-extensions/config.d.ts +0 -57
  180. package/sdk-extensions/config.js +0 -152
  181. package/sdk-extensions/config.test.ts +0 -199
  182. package/sdk-extensions/config.ts +0 -175
  183. package/sdk-extensions/hooks.d.ts +0 -110
  184. package/sdk-extensions/hooks.js +0 -384
  185. package/sdk-extensions/hooks.test.ts +0 -373
  186. package/sdk-extensions/hooks.ts +0 -459
  187. package/sdk-extensions/index.d.ts +0 -63
  188. package/sdk-extensions/index.js +0 -164
  189. package/sdk-extensions/index.test.ts +0 -420
  190. package/sdk-extensions/index.ts +0 -203
@@ -1,459 +0,0 @@
1
- 'use client'
2
-
3
- /**
4
- * React hooks for SDK extensions
5
- * Provides easy-to-use hooks for Next.js/React applications
6
- */
7
-
8
- import { useCallback, useEffect, useRef, useState } from 'react'
9
- import { client } from '../sdk/client.gen'
10
- import { extractTokenFromSDKClient, getSDKExtensionsConfig } from './config'
11
- import type { OperationProgress, OperationResult } from './OperationClient'
12
- import { OperationClient } from './OperationClient'
13
- import type { QueryOptions, QueryResult } from './QueryClient'
14
- import { QueryClient } from './QueryClient'
15
-
16
- /**
17
- * Hook for executing Cypher queries with loading states and error handling
18
- *
19
- * @example
20
- * ```tsx
21
- * const { execute, loading, error, data } = useQuery('graph_123')
22
- *
23
- * const handleSearch = async () => {
24
- * const result = await execute('MATCH (n:Company) RETURN n LIMIT 10')
25
- * console.log(result.data)
26
- * }
27
- * ```
28
- */
29
- export function useQuery(graphId: string) {
30
- const [loading, setLoading] = useState(false)
31
- const [error, setError] = useState<Error | null>(null)
32
- const [data, setData] = useState<QueryResult | null>(null)
33
- const [queuePosition, setQueuePosition] = useState<number | null>(null)
34
- const clientRef = useRef<QueryClient>(null)
35
-
36
- // Initialize client
37
- useEffect(() => {
38
- const sdkConfig = getSDKExtensionsConfig()
39
- const clientConfig = client.getConfig()
40
-
41
- // Extract JWT token (uses centralized logic)
42
- const token = extractTokenFromSDKClient()
43
-
44
- clientRef.current = new QueryClient({
45
- baseUrl: sdkConfig.baseUrl || clientConfig.baseUrl || 'http://localhost:8000',
46
- credentials: sdkConfig.credentials,
47
- headers: sdkConfig.headers,
48
- token,
49
- })
50
-
51
- return () => {
52
- clientRef.current?.close()
53
- }
54
- }, [])
55
-
56
- const execute = useCallback(
57
- async (
58
- query: string,
59
- parameters?: Record<string, any>,
60
- options?: QueryOptions
61
- ): Promise<QueryResult | null> => {
62
- if (!clientRef.current) return null
63
-
64
- setLoading(true)
65
- setError(null)
66
- setData(null)
67
- setQueuePosition(null)
68
-
69
- try {
70
- const result = (await clientRef.current.executeQuery(
71
- graphId,
72
- { query, parameters },
73
- {
74
- ...options,
75
- onQueueUpdate: (position) => {
76
- setQueuePosition(position)
77
- },
78
- onProgress: () => {
79
- setQueuePosition(null) // Clear queue position when executing
80
- },
81
- }
82
- )) as QueryResult
83
-
84
- setData(result)
85
- return result
86
- } catch (err) {
87
- const error = err as Error
88
- setError(error)
89
- return null
90
- } finally {
91
- setLoading(false)
92
- setQueuePosition(null)
93
- }
94
- },
95
- [graphId]
96
- )
97
-
98
- // Simple query method that returns just the data
99
- const query = useCallback(
100
- async (cypher: string, parameters?: Record<string, any>) => {
101
- const result = await execute(cypher, parameters)
102
- return result?.data || []
103
- },
104
- [execute]
105
- )
106
-
107
- return {
108
- execute,
109
- query,
110
- loading,
111
- error,
112
- data,
113
- queuePosition,
114
- }
115
- }
116
-
117
- /**
118
- * Hook for streaming large query results
119
- *
120
- * @example
121
- * ```tsx
122
- * const { stream, isStreaming, error, cancel } = useStreamingQuery('graph_123')
123
- *
124
- * const handleStream = async () => {
125
- * const iterator = stream('MATCH (n) RETURN n')
126
- * for await (const batch of iterator) {
127
- * console.log('Received batch:', batch)
128
- * }
129
- * }
130
- * ```
131
- */
132
- export function useStreamingQuery(graphId: string) {
133
- const [isStreaming, setIsStreaming] = useState(false)
134
- const [error, setError] = useState<Error | null>(null)
135
- const [rowsReceived, setRowsReceived] = useState(0)
136
- const clientRef = useRef<QueryClient>(null)
137
-
138
- useEffect(() => {
139
- const sdkConfig = getSDKExtensionsConfig()
140
- const clientConfig = client.getConfig()
141
- clientRef.current = new QueryClient({
142
- baseUrl: sdkConfig.baseUrl || clientConfig.baseUrl || 'http://localhost:8000',
143
- credentials: sdkConfig.credentials,
144
- headers: sdkConfig.headers,
145
- token: sdkConfig.token,
146
- })
147
-
148
- return () => {
149
- clientRef.current?.close()
150
- }
151
- }, [])
152
-
153
- const stream = useCallback(
154
- async function* (
155
- query: string,
156
- parameters?: Record<string, any>,
157
- chunkSize: number = 100
158
- ): AsyncIterableIterator<any[]> {
159
- if (!clientRef.current) return
160
-
161
- setIsStreaming(true)
162
- setError(null)
163
- setRowsReceived(0)
164
-
165
- try {
166
- const iterator = clientRef.current.streamQuery(graphId, query, parameters, chunkSize)
167
-
168
- let buffer: any[] = []
169
- let count = 0
170
-
171
- for await (const row of iterator) {
172
- buffer.push(row)
173
- count++
174
-
175
- if (buffer.length >= chunkSize) {
176
- setRowsReceived(count)
177
- yield buffer
178
- buffer = []
179
- }
180
- }
181
-
182
- // Yield any remaining items
183
- if (buffer.length > 0) {
184
- setRowsReceived(count)
185
- yield buffer
186
- }
187
- } catch (err) {
188
- setError(err as Error)
189
- throw err
190
- } finally {
191
- setIsStreaming(false)
192
- }
193
- },
194
- [graphId]
195
- )
196
-
197
- const cancel = useCallback(() => {
198
- clientRef.current?.close()
199
- setIsStreaming(false)
200
- }, [])
201
-
202
- return {
203
- stream,
204
- isStreaming,
205
- error,
206
- rowsReceived,
207
- cancel,
208
- }
209
- }
210
-
211
- /**
212
- * Hook for monitoring long-running operations
213
- *
214
- * @example
215
- * ```tsx
216
- * const { monitor, status, progress, error, result } = useOperation<BackupResult>()
217
- *
218
- * const handleBackup = async () => {
219
- * const { operation_id } = await createBackup({ ... })
220
- * const result = await monitor(operation_id)
221
- * console.log('Backup completed:', result)
222
- * }
223
- * ```
224
- */
225
- export function useOperation<T = any>(operationId?: string) {
226
- const [status, setStatus] = useState<'idle' | 'running' | 'completed' | 'error'>('idle')
227
- const [progress, setProgress] = useState<OperationProgress | null>(null)
228
- const [error, setError] = useState<Error | null>(null)
229
- const [result, setResult] = useState<OperationResult<T> | null>(null)
230
- const clientRef = useRef<OperationClient>(null)
231
-
232
- useEffect(() => {
233
- const sdkConfig = getSDKExtensionsConfig()
234
- const clientConfig = client.getConfig()
235
-
236
- // Extract JWT token (uses centralized logic)
237
- const token = extractTokenFromSDKClient()
238
-
239
- clientRef.current = new OperationClient({
240
- baseUrl: sdkConfig.baseUrl || clientConfig.baseUrl || 'http://localhost:8000',
241
- credentials: sdkConfig.credentials,
242
- token,
243
- maxRetries: sdkConfig.maxRetries,
244
- retryDelay: sdkConfig.retryDelay,
245
- })
246
-
247
- return () => {
248
- clientRef.current?.closeAll()
249
- }
250
- }, [])
251
-
252
- const monitor = useCallback(
253
- async (id: string, timeout?: number): Promise<OperationResult<T> | null> => {
254
- if (!clientRef.current) return null
255
-
256
- setStatus('running')
257
- setError(null)
258
- setResult(null)
259
- setProgress(null)
260
-
261
- try {
262
- const opResult = await clientRef.current.monitorOperation<T>(id, {
263
- onProgress: (p) => {
264
- setProgress(p)
265
- },
266
- onQueueUpdate: (position, estimatedWait) => {
267
- setProgress({
268
- message: `Queue position: ${position}`,
269
- progressPercent: 0,
270
- details: { position, estimatedWait },
271
- })
272
- },
273
- timeout,
274
- })
275
-
276
- setResult(opResult)
277
- setStatus(opResult.success ? 'completed' : 'error')
278
-
279
- if (!opResult.success && opResult.error) {
280
- setError(new Error(opResult.error))
281
- }
282
-
283
- return opResult
284
- } catch (err) {
285
- const error = err as Error
286
- setError(error)
287
- setStatus('error')
288
- return null
289
- }
290
- },
291
- []
292
- )
293
-
294
- const cancel = useCallback(async (id: string) => {
295
- if (!clientRef.current) return
296
-
297
- try {
298
- await clientRef.current.cancelOperation(id)
299
- setStatus('idle')
300
- } catch (err) {
301
- setError(err as Error)
302
- }
303
- }, [])
304
-
305
- // Auto-monitor if operationId is provided
306
- useEffect(() => {
307
- if (operationId && status === 'idle') {
308
- monitor(operationId)
309
- }
310
- }, [operationId, monitor, status])
311
-
312
- return {
313
- monitor,
314
- cancel,
315
- status,
316
- progress,
317
- error,
318
- result,
319
- }
320
- }
321
-
322
- /**
323
- * Hook for monitoring multiple operations concurrently
324
- *
325
- * @example
326
- * ```tsx
327
- * const { monitorAll, results, allCompleted, hasErrors } = useMultipleOperations()
328
- *
329
- * const handleMultiple = async () => {
330
- * const operations = await Promise.all([
331
- * createBackup(...),
332
- * createExport(...),
333
- * ])
334
- *
335
- * const results = await monitorAll(operations.map(op => op.operation_id))
336
- * }
337
- * ```
338
- */
339
- export function useMultipleOperations<T = any>() {
340
- const [results, setResults] = useState<Map<string, OperationResult<T>>>(new Map())
341
- const [loading, setLoading] = useState(false)
342
- const [errors, setErrors] = useState<Map<string, Error>>(new Map())
343
- const clientRef = useRef<OperationClient>(null)
344
-
345
- useEffect(() => {
346
- const sdkConfig = getSDKExtensionsConfig()
347
- const clientConfig = client.getConfig()
348
-
349
- // Extract JWT token (uses centralized logic)
350
- const token = extractTokenFromSDKClient()
351
-
352
- clientRef.current = new OperationClient({
353
- baseUrl: sdkConfig.baseUrl || clientConfig.baseUrl || 'http://localhost:8000',
354
- credentials: sdkConfig.credentials,
355
- token,
356
- maxRetries: sdkConfig.maxRetries,
357
- retryDelay: sdkConfig.retryDelay,
358
- })
359
-
360
- return () => {
361
- clientRef.current?.closeAll()
362
- }
363
- }, [])
364
-
365
- const monitorAll = useCallback(
366
- async (operationIds: string[]): Promise<Map<string, OperationResult<T>>> => {
367
- if (!clientRef.current) return new Map()
368
-
369
- setLoading(true)
370
- setResults(new Map())
371
- setErrors(new Map())
372
-
373
- try {
374
- const allResults = await clientRef.current.monitorMultiple<T>(operationIds)
375
- setResults(allResults)
376
-
377
- // Extract any errors
378
- const newErrors = new Map<string, Error>()
379
- allResults.forEach((result, id) => {
380
- if (!result.success && result.error) {
381
- newErrors.set(id, new Error(result.error))
382
- }
383
- })
384
- setErrors(newErrors)
385
-
386
- return allResults
387
- } finally {
388
- setLoading(false)
389
- }
390
- },
391
- []
392
- )
393
-
394
- const allCompleted =
395
- results.size > 0 && Array.from(results.values()).every((r) => r.success || r.error)
396
-
397
- const hasErrors = errors.size > 0
398
-
399
- return {
400
- monitorAll,
401
- results,
402
- errors,
403
- loading,
404
- allCompleted,
405
- hasErrors,
406
- }
407
- }
408
-
409
- /**
410
- * Hook that provides access to all SDK extension clients
411
- * Useful when you need direct access to the underlying clients
412
- *
413
- * @example
414
- * ```tsx
415
- * const clients = useSDKClients()
416
- *
417
- * // Direct access to clients
418
- * const result = await clients.query.query('graph_123', 'MATCH (n) RETURN n')
419
- * ```
420
- */
421
- export function useSDKClients() {
422
- const [clients, setClients] = useState<{
423
- query: QueryClient | null
424
- operations: OperationClient | null
425
- }>({
426
- query: null,
427
- operations: null,
428
- })
429
-
430
- useEffect(() => {
431
- const sdkConfig = getSDKExtensionsConfig()
432
- const clientConfig = client.getConfig()
433
-
434
- // Extract JWT token (uses centralized logic)
435
- const token = extractTokenFromSDKClient()
436
-
437
- const baseConfig = {
438
- baseUrl: sdkConfig.baseUrl || clientConfig.baseUrl || 'http://localhost:8000',
439
- credentials: sdkConfig.credentials,
440
- headers: sdkConfig.headers,
441
- token,
442
- }
443
-
444
- const queryClient = new QueryClient(baseConfig)
445
- const operationsClient = new OperationClient(baseConfig)
446
-
447
- setClients({
448
- query: queryClient,
449
- operations: operationsClient,
450
- })
451
-
452
- return () => {
453
- queryClient.close()
454
- operationsClient.closeAll()
455
- }
456
- }, [])
457
-
458
- return clients
459
- }
@@ -1,63 +0,0 @@
1
- /**
2
- * RoboSystems SDK Extensions
3
- * Enhanced clients with SSE support for the RoboSystems API
4
- */
5
- import { OperationClient } from './OperationClient';
6
- import { QueryClient } from './QueryClient';
7
- import { AgentClient } from './AgentClient';
8
- import { SSEClient } from './SSEClient';
9
- import { LedgerClient } from './LedgerClient';
10
- import { ReportClient } from './ReportClient';
11
- export interface RoboSystemsExtensionConfig {
12
- baseUrl?: string;
13
- credentials?: 'include' | 'same-origin' | 'omit';
14
- token?: string;
15
- headers?: Record<string, string>;
16
- maxRetries?: number;
17
- retryDelay?: number;
18
- }
19
- export declare class RoboSystemsExtensions {
20
- readonly query: QueryClient;
21
- readonly agent: AgentClient;
22
- readonly operations: OperationClient;
23
- readonly ledger: LedgerClient;
24
- readonly reports: ReportClient;
25
- private config;
26
- constructor(config?: RoboSystemsExtensionConfig);
27
- /**
28
- * Convenience method to monitor any operation
29
- */
30
- monitorOperation(operationId: string, onProgress?: (progress: any) => void): Promise<any>;
31
- /**
32
- * Create custom SSE client for advanced use cases
33
- */
34
- createSSEClient(): SSEClient;
35
- /**
36
- * Clean up all active connections
37
- */
38
- close(): void;
39
- }
40
- export * from './OperationClient';
41
- export * from './QueryClient';
42
- export * from './AgentClient';
43
- export * from './SSEClient';
44
- export * from './LedgerClient';
45
- export * from './ReportClient';
46
- export * from './config';
47
- export { OperationClient, QueryClient, AgentClient, SSEClient, LedgerClient, ReportClient, };
48
- export { useMultipleOperations, useOperation, useQuery, useSDKClients, useStreamingQuery, } from './hooks';
49
- export declare const extensions: {
50
- readonly query: QueryClient;
51
- readonly agent: AgentClient;
52
- readonly operations: OperationClient;
53
- readonly ledger: LedgerClient;
54
- readonly reports: ReportClient;
55
- monitorOperation: (operationId: string, onProgress?: (progress: any) => void) => Promise<any>;
56
- createSSEClient: () => SSEClient;
57
- close: () => void;
58
- };
59
- export declare const monitorOperation: (operationId: string, onProgress?: (progress: any) => void) => Promise<any>;
60
- export declare const executeQuery: (graphId: string, query: string, parameters?: Record<string, any>) => Promise<import("./QueryClient").QueryResult>;
61
- export declare const streamQuery: (graphId: string, query: string, parameters?: Record<string, any>, chunkSize?: number) => AsyncIterableIterator<any>;
62
- export declare const agentQuery: (graphId: string, message: string, context?: Record<string, any>) => Promise<import("./AgentClient").AgentResult>;
63
- export declare const analyzeFinancials: (graphId: string, message: string) => Promise<import("./AgentClient").AgentResult>;
@@ -1,164 +0,0 @@
1
- "use strict";
2
- /**
3
- * RoboSystems SDK Extensions
4
- * Enhanced clients with SSE support for the RoboSystems API
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.analyzeFinancials = exports.agentQuery = exports.streamQuery = exports.executeQuery = exports.monitorOperation = exports.extensions = exports.useStreamingQuery = exports.useSDKClients = exports.useQuery = exports.useOperation = exports.useMultipleOperations = exports.ReportClient = exports.LedgerClient = exports.SSEClient = exports.AgentClient = exports.QueryClient = exports.OperationClient = exports.RoboSystemsExtensions = void 0;
22
- const client_gen_1 = require("../sdk/client.gen");
23
- const config_1 = require("./config");
24
- const OperationClient_1 = require("./OperationClient");
25
- Object.defineProperty(exports, "OperationClient", { enumerable: true, get: function () { return OperationClient_1.OperationClient; } });
26
- const QueryClient_1 = require("./QueryClient");
27
- Object.defineProperty(exports, "QueryClient", { enumerable: true, get: function () { return QueryClient_1.QueryClient; } });
28
- const AgentClient_1 = require("./AgentClient");
29
- Object.defineProperty(exports, "AgentClient", { enumerable: true, get: function () { return AgentClient_1.AgentClient; } });
30
- const SSEClient_1 = require("./SSEClient");
31
- Object.defineProperty(exports, "SSEClient", { enumerable: true, get: function () { return SSEClient_1.SSEClient; } });
32
- const LedgerClient_1 = require("./LedgerClient");
33
- Object.defineProperty(exports, "LedgerClient", { enumerable: true, get: function () { return LedgerClient_1.LedgerClient; } });
34
- const ReportClient_1 = require("./ReportClient");
35
- Object.defineProperty(exports, "ReportClient", { enumerable: true, get: function () { return ReportClient_1.ReportClient; } });
36
- class RoboSystemsExtensions {
37
- constructor(config = {}) {
38
- // Get base URL from SDK client config or use provided/default
39
- const sdkConfig = client_gen_1.client.getConfig();
40
- // Extract JWT token using centralized logic
41
- const token = config.token || (0, config_1.extractTokenFromSDKClient)();
42
- this.config = {
43
- baseUrl: config.baseUrl || sdkConfig.baseUrl || 'http://localhost:8000',
44
- credentials: config.credentials || 'include',
45
- token,
46
- headers: config.headers,
47
- maxRetries: config.maxRetries || 5,
48
- retryDelay: config.retryDelay || 1000,
49
- };
50
- this.query = new QueryClient_1.QueryClient({
51
- baseUrl: this.config.baseUrl,
52
- credentials: this.config.credentials,
53
- token: this.config.token,
54
- headers: this.config.headers,
55
- });
56
- this.agent = new AgentClient_1.AgentClient({
57
- baseUrl: this.config.baseUrl,
58
- credentials: this.config.credentials,
59
- token: this.config.token,
60
- headers: this.config.headers,
61
- });
62
- this.operations = new OperationClient_1.OperationClient({
63
- baseUrl: this.config.baseUrl,
64
- credentials: this.config.credentials,
65
- token: this.config.token,
66
- maxRetries: this.config.maxRetries,
67
- retryDelay: this.config.retryDelay,
68
- });
69
- this.ledger = new LedgerClient_1.LedgerClient({
70
- baseUrl: this.config.baseUrl,
71
- credentials: this.config.credentials,
72
- token: this.config.token,
73
- headers: this.config.headers,
74
- });
75
- this.reports = new ReportClient_1.ReportClient({
76
- baseUrl: this.config.baseUrl,
77
- credentials: this.config.credentials,
78
- token: this.config.token,
79
- headers: this.config.headers,
80
- });
81
- }
82
- /**
83
- * Convenience method to monitor any operation
84
- */
85
- async monitorOperation(operationId, onProgress) {
86
- return this.operations.monitorOperation(operationId, { onProgress });
87
- }
88
- /**
89
- * Create custom SSE client for advanced use cases
90
- */
91
- createSSEClient() {
92
- return new SSEClient_1.SSEClient({
93
- baseUrl: this.config.baseUrl,
94
- credentials: this.config.credentials,
95
- token: this.config.token,
96
- headers: this.config.headers,
97
- maxRetries: this.config.maxRetries,
98
- retryDelay: this.config.retryDelay,
99
- });
100
- }
101
- /**
102
- * Clean up all active connections
103
- */
104
- close() {
105
- this.query.close();
106
- this.agent.close();
107
- this.operations.closeAll();
108
- }
109
- }
110
- exports.RoboSystemsExtensions = RoboSystemsExtensions;
111
- // Export all types and classes
112
- __exportStar(require("./OperationClient"), exports);
113
- __exportStar(require("./QueryClient"), exports);
114
- __exportStar(require("./AgentClient"), exports);
115
- __exportStar(require("./SSEClient"), exports);
116
- __exportStar(require("./LedgerClient"), exports);
117
- __exportStar(require("./ReportClient"), exports);
118
- __exportStar(require("./config"), exports);
119
- // Export React hooks
120
- var hooks_1 = require("./hooks");
121
- Object.defineProperty(exports, "useMultipleOperations", { enumerable: true, get: function () { return hooks_1.useMultipleOperations; } });
122
- Object.defineProperty(exports, "useOperation", { enumerable: true, get: function () { return hooks_1.useOperation; } });
123
- Object.defineProperty(exports, "useQuery", { enumerable: true, get: function () { return hooks_1.useQuery; } });
124
- Object.defineProperty(exports, "useSDKClients", { enumerable: true, get: function () { return hooks_1.useSDKClients; } });
125
- Object.defineProperty(exports, "useStreamingQuery", { enumerable: true, get: function () { return hooks_1.useStreamingQuery; } });
126
- // Lazy initialization of default instance
127
- let _extensions = null;
128
- function getExtensions() {
129
- if (!_extensions) {
130
- _extensions = new RoboSystemsExtensions();
131
- }
132
- return _extensions;
133
- }
134
- exports.extensions = {
135
- get query() {
136
- return getExtensions().query;
137
- },
138
- get agent() {
139
- return getExtensions().agent;
140
- },
141
- get operations() {
142
- return getExtensions().operations;
143
- },
144
- get ledger() {
145
- return getExtensions().ledger;
146
- },
147
- get reports() {
148
- return getExtensions().reports;
149
- },
150
- monitorOperation: (operationId, onProgress) => getExtensions().monitorOperation(operationId, onProgress),
151
- createSSEClient: () => getExtensions().createSSEClient(),
152
- close: () => getExtensions().close(),
153
- };
154
- // Export convenience functions that use the default instance
155
- const monitorOperation = (operationId, onProgress) => getExtensions().monitorOperation(operationId, onProgress);
156
- exports.monitorOperation = monitorOperation;
157
- const executeQuery = (graphId, query, parameters) => getExtensions().query.query(graphId, query, parameters);
158
- exports.executeQuery = executeQuery;
159
- const streamQuery = (graphId, query, parameters, chunkSize) => getExtensions().query.streamQuery(graphId, query, parameters, chunkSize);
160
- exports.streamQuery = streamQuery;
161
- const agentQuery = (graphId, message, context) => getExtensions().agent.query(graphId, message, context);
162
- exports.agentQuery = agentQuery;
163
- const analyzeFinancials = (graphId, message) => getExtensions().agent.analyzeFinancials(graphId, message);
164
- exports.analyzeFinancials = analyzeFinancials;