doover-js 0.11.0 → 0.13.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 (389) hide show
  1. package/README.md +106 -0
  2. package/dist/apis/_args.js +5 -5
  3. package/dist/apis/agents-api.d.ts +4 -4
  4. package/dist/apis/agents-api.js +2 -2
  5. package/dist/apis/aggregates-api.d.ts +4 -4
  6. package/dist/apis/aggregates-api.js +5 -5
  7. package/dist/apis/alarms-api.d.ts +2 -2
  8. package/dist/apis/alarms-api.js +3 -3
  9. package/dist/apis/channels-api.d.ts +3 -3
  10. package/dist/apis/channels-api.js +6 -6
  11. package/dist/apis/connections-api.d.ts +2 -2
  12. package/dist/apis/connections-api.js +6 -6
  13. package/dist/apis/messages-api.d.ts +4 -4
  14. package/dist/apis/messages-api.js +11 -11
  15. package/dist/apis/notifications-api.d.ts +2 -2
  16. package/dist/apis/notifications-api.js +4 -4
  17. package/dist/apis/organisations-api.d.ts +2 -2
  18. package/dist/apis/permissions-api.d.ts +2 -2
  19. package/dist/apis/permissions-api.js +3 -3
  20. package/dist/apis/processors-api.d.ts +2 -2
  21. package/dist/apis/turn-api.d.ts +2 -2
  22. package/dist/apis/users-api.d.ts +2 -2
  23. package/dist/auth/auth-store.d.ts +1 -1
  24. package/dist/auth/build-auth.d.ts +3 -3
  25. package/dist/auth/build-auth.js +8 -8
  26. package/dist/auth/cookie-auth.d.ts +1 -1
  27. package/dist/auth/cookie-auth.js +2 -2
  28. package/dist/auth/doover-auth.d.ts +2 -2
  29. package/dist/auth/doover-token-auth.d.ts +3 -3
  30. package/dist/auth/doover-token-auth.js +13 -13
  31. package/dist/auth/index.d.ts +10 -0
  32. package/dist/auth/index.js +15 -0
  33. package/dist/client/data-client.d.ts +17 -14
  34. package/dist/client/doover-client.d.ts +9 -7
  35. package/dist/client/doover-client.js +44 -42
  36. package/dist/client/errors.d.ts +2 -2
  37. package/dist/client/errors.js +4 -4
  38. package/dist/client/index.d.ts +6 -0
  39. package/dist/client/index.js +12 -0
  40. package/dist/client/local-agent-client.d.ts +3 -3
  41. package/dist/client/local-agent-client.js +19 -19
  42. package/dist/client/multiplex-client.d.ts +5 -5
  43. package/dist/client/multiplex-client.js +25 -25
  44. package/dist/client/multiplex-gateway.d.ts +3 -3
  45. package/dist/client/multiplex-merge.d.ts +1 -1
  46. package/dist/client/network-status.d.ts +17 -0
  47. package/dist/client/network-status.js +70 -0
  48. package/dist/client/offline-cache.d.ts +9 -4
  49. package/dist/client/offline-cache.js +34 -22
  50. package/dist/client/provenance.d.ts +1 -1
  51. package/dist/client/request-options.d.ts +1 -1
  52. package/dist/client/singleton.d.ts +2 -2
  53. package/dist/client/singleton.js +2 -2
  54. package/dist/client/status-tracker.d.ts +1 -1
  55. package/dist/esm/apis/_args.d.ts +16 -0
  56. package/dist/esm/apis/_args.js +27 -0
  57. package/dist/esm/apis/agents-api.d.ts +196 -0
  58. package/dist/esm/apis/agents-api.js +327 -0
  59. package/dist/esm/apis/aggregates-api.d.ts +67 -0
  60. package/dist/esm/apis/aggregates-api.js +64 -0
  61. package/dist/esm/apis/alarms-api.d.ts +48 -0
  62. package/dist/esm/apis/alarms-api.js +75 -0
  63. package/dist/esm/apis/channels-api.d.ts +83 -0
  64. package/dist/esm/apis/channels-api.js +65 -0
  65. package/dist/esm/apis/connections-api.d.ts +45 -0
  66. package/dist/esm/apis/connections-api.js +44 -0
  67. package/dist/esm/apis/messages-api.d.ts +128 -0
  68. package/dist/esm/apis/messages-api.js +179 -0
  69. package/dist/esm/apis/notifications-api.d.ts +94 -0
  70. package/dist/esm/apis/notifications-api.js +153 -0
  71. package/dist/esm/apis/organisations-api.d.ts +26 -0
  72. package/dist/esm/apis/organisations-api.js +41 -0
  73. package/dist/esm/apis/permissions-api.d.ts +17 -0
  74. package/dist/esm/apis/permissions-api.js +23 -0
  75. package/dist/esm/apis/processors-api.d.ts +56 -0
  76. package/dist/esm/apis/processors-api.js +97 -0
  77. package/dist/esm/apis/turn-api.d.ts +7 -0
  78. package/dist/esm/apis/turn-api.js +8 -0
  79. package/dist/esm/apis/users-api.d.ts +8 -0
  80. package/dist/esm/apis/users-api.js +9 -0
  81. package/dist/esm/auth/auth-profile.d.ts +45 -0
  82. package/dist/esm/auth/auth-profile.js +68 -0
  83. package/dist/esm/auth/auth-store.d.ts +14 -0
  84. package/dist/esm/auth/build-auth.d.ts +38 -0
  85. package/dist/esm/auth/build-auth.js +92 -0
  86. package/dist/esm/auth/cookie-auth.d.ts +91 -0
  87. package/dist/esm/auth/cookie-auth.js +196 -0
  88. package/dist/esm/auth/doover-auth.d.ts +52 -0
  89. package/dist/esm/auth/doover-auth.js +28 -0
  90. package/dist/esm/auth/doover-token-auth.d.ts +39 -0
  91. package/dist/esm/auth/doover-token-auth.js +217 -0
  92. package/dist/esm/auth/errors.d.ts +3 -0
  93. package/dist/esm/auth/errors.js +6 -0
  94. package/dist/esm/auth/index.d.ts +10 -0
  95. package/dist/esm/auth/index.js +6 -0
  96. package/dist/esm/auth/jwt.d.ts +6 -0
  97. package/dist/esm/auth/jwt.js +26 -0
  98. package/dist/esm/client/capabilities.d.ts +10 -0
  99. package/dist/esm/client/capabilities.js +42 -0
  100. package/dist/esm/client/data-client.d.ts +107 -0
  101. package/dist/esm/client/doover-client.d.ts +48 -0
  102. package/dist/esm/client/doover-client.js +96 -0
  103. package/dist/esm/client/errors.d.ts +32 -0
  104. package/dist/esm/client/errors.js +64 -0
  105. package/dist/esm/client/index.d.ts +6 -0
  106. package/dist/esm/client/index.js +3 -0
  107. package/dist/esm/client/local-agent-client.d.ts +65 -0
  108. package/dist/esm/client/local-agent-client.js +225 -0
  109. package/dist/esm/client/multiplex-client.d.ts +165 -0
  110. package/dist/esm/client/multiplex-client.js +842 -0
  111. package/dist/esm/client/multiplex-gateway.d.ts +49 -0
  112. package/dist/esm/client/multiplex-gateway.js +110 -0
  113. package/dist/esm/client/multiplex-merge.d.ts +12 -0
  114. package/dist/esm/client/multiplex-merge.js +38 -0
  115. package/dist/esm/client/network-status.d.ts +17 -0
  116. package/dist/esm/client/network-status.js +66 -0
  117. package/dist/esm/client/offline-cache.d.ts +167 -0
  118. package/dist/esm/client/offline-cache.js +769 -0
  119. package/dist/esm/client/provenance.d.ts +60 -0
  120. package/dist/esm/client/provenance.js +108 -0
  121. package/dist/esm/client/request-options.d.ts +23 -0
  122. package/dist/esm/client/request-options.js +23 -0
  123. package/dist/esm/client/singleton.d.ts +26 -0
  124. package/dist/esm/client/singleton.js +54 -0
  125. package/dist/esm/client/stats.d.ts +79 -0
  126. package/dist/esm/client/stats.js +155 -0
  127. package/dist/esm/client/status-tracker.d.ts +24 -0
  128. package/dist/esm/client/status-tracker.js +86 -0
  129. package/dist/esm/gateway/gateway-client.d.ts +86 -0
  130. package/dist/esm/gateway/gateway-client.js +463 -0
  131. package/dist/esm/gateway/index.d.ts +3 -0
  132. package/dist/esm/gateway/index.js +1 -0
  133. package/dist/esm/gateway/types.d.ts +142 -0
  134. package/dist/esm/http/errors.d.ts +19 -0
  135. package/dist/esm/http/errors.js +22 -0
  136. package/dist/esm/http/index.d.ts +3 -0
  137. package/dist/esm/http/index.js +2 -0
  138. package/dist/esm/http/rest-client.d.ts +64 -0
  139. package/dist/esm/http/rest-client.js +181 -0
  140. package/dist/esm/index.d.ts +64 -0
  141. package/dist/esm/index.js +38 -0
  142. package/dist/esm/node/config-manager.d.ts +34 -0
  143. package/dist/esm/node/config-manager.js +140 -0
  144. package/dist/esm/node/index.d.ts +1 -0
  145. package/dist/esm/node/index.js +1 -0
  146. package/dist/esm/package.json +1 -0
  147. package/dist/esm/react/context.d.ts +23 -0
  148. package/dist/esm/react/context.js +28 -0
  149. package/dist/esm/react/index.d.ts +38 -0
  150. package/dist/esm/react/index.js +21 -0
  151. package/dist/esm/react/messageRangeStore.d.ts +93 -0
  152. package/dist/esm/react/messageRangeStore.js +140 -0
  153. package/dist/esm/react/sharedQueryClient.d.ts +21 -0
  154. package/dist/esm/react/sharedQueryClient.js +35 -0
  155. package/dist/esm/react/useAgentChannel.d.ts +8 -0
  156. package/dist/esm/react/useAgentChannel.js +9 -0
  157. package/dist/esm/react/useAgentConnections.d.ts +8 -0
  158. package/dist/esm/react/useAgentConnections.js +20 -0
  159. package/dist/esm/react/useAgentTokenState.d.ts +70 -0
  160. package/dist/esm/react/useAgentTokenState.js +127 -0
  161. package/dist/esm/react/useChannelAggregate.d.ts +64 -0
  162. package/dist/esm/react/useChannelAggregate.js +77 -0
  163. package/dist/esm/react/useChannelMessage.d.ts +45 -0
  164. package/dist/esm/react/useChannelMessage.js +79 -0
  165. package/dist/esm/react/useChannelMessages.d.ts +83 -0
  166. package/dist/esm/react/useChannelMessages.js +214 -0
  167. package/dist/esm/react/useChannelSubscription.d.ts +27 -0
  168. package/dist/esm/react/useChannelSubscription.js +30 -0
  169. package/dist/esm/react/useClientStatus.d.ts +10 -0
  170. package/dist/esm/react/useClientStatus.js +19 -0
  171. package/dist/esm/react/useConnectionState.d.ts +26 -0
  172. package/dist/esm/react/useConnectionState.js +45 -0
  173. package/dist/esm/react/useDeviceMap.d.ts +109 -0
  174. package/dist/esm/react/useDeviceMap.js +59 -0
  175. package/dist/esm/react/useInvocationLogs.d.ts +23 -0
  176. package/dist/esm/react/useInvocationLogs.js +37 -0
  177. package/dist/esm/react/useMultiAgentAggregates.d.ts +38 -0
  178. package/dist/esm/react/useMultiAgentAggregates.js +104 -0
  179. package/dist/esm/react/useMultiAgentChannelMessages.d.ts +79 -0
  180. package/dist/esm/react/useMultiAgentChannelMessages.js +169 -0
  181. package/dist/esm/react/useOfflineStatus.d.ts +8 -0
  182. package/dist/esm/react/useOfflineStatus.js +37 -0
  183. package/dist/esm/react/useSendMessage.d.ts +16 -0
  184. package/dist/esm/react/useSendMessage.js +26 -0
  185. package/dist/esm/react/useSendRpc.d.ts +68 -0
  186. package/dist/esm/react/useSendRpc.js +164 -0
  187. package/dist/esm/react/useTurnCredentials.d.ts +12 -0
  188. package/dist/esm/react/useTurnCredentials.js +22 -0
  189. package/dist/esm/react/useUpdateAggregate.d.ts +27 -0
  190. package/dist/esm/react/useUpdateAggregate.js +39 -0
  191. package/dist/esm/react/useUpdateMessage.d.ts +38 -0
  192. package/dist/esm/react/useUpdateMessage.js +36 -0
  193. package/dist/esm/refine/index.d.ts +72 -0
  194. package/dist/esm/refine/index.js +215 -0
  195. package/dist/esm/rpc/errors.d.ts +10 -0
  196. package/dist/esm/rpc/errors.js +19 -0
  197. package/dist/esm/rpc/index.d.ts +3 -0
  198. package/dist/esm/rpc/index.js +2 -0
  199. package/dist/esm/rpc/rpc-dispatcher.d.ts +41 -0
  200. package/dist/esm/rpc/rpc-dispatcher.js +141 -0
  201. package/dist/esm/types/audit.d.ts +53 -0
  202. package/dist/esm/types/audit.js +11 -0
  203. package/dist/esm/types/batch.d.ts +85 -0
  204. package/dist/esm/types/batch.js +42 -0
  205. package/dist/esm/types/common.d.ts +250 -0
  206. package/dist/esm/types/connection.d.ts +72 -0
  207. package/dist/esm/types/connection.js +7 -0
  208. package/dist/esm/types/index.d.ts +9 -0
  209. package/dist/esm/types/openapi.d.ts +195 -0
  210. package/dist/esm/types/provenance.d.ts +45 -0
  211. package/dist/esm/types/viewer.d.ts +122 -0
  212. package/dist/esm/utils/snowflake.d.ts +21 -0
  213. package/dist/esm/utils/snowflake.js +33 -0
  214. package/dist/esm/viewer/doover-data-provider.d.ts +90 -0
  215. package/dist/esm/viewer/doover-data-provider.js +189 -0
  216. package/dist/esm/viewer/path-parsing.d.ts +5 -0
  217. package/dist/esm/viewer/path-parsing.js +35 -0
  218. package/dist/gateway/gateway-client.d.ts +5 -5
  219. package/dist/gateway/gateway-client.js +5 -5
  220. package/dist/gateway/index.d.ts +3 -0
  221. package/dist/gateway/index.js +5 -0
  222. package/dist/gateway/types.d.ts +1 -1
  223. package/dist/http/index.d.ts +3 -0
  224. package/dist/http/index.js +9 -0
  225. package/dist/http/rest-client.d.ts +5 -3
  226. package/dist/http/rest-client.js +2 -2
  227. package/dist/index.d.ts +64 -62
  228. package/dist/index.js +92 -89
  229. package/dist/node/config-manager.d.ts +2 -2
  230. package/dist/node/config-manager.js +5 -5
  231. package/dist/node/index.d.ts +1 -1
  232. package/dist/node/index.js +2 -2
  233. package/dist/react/context.d.ts +1 -1
  234. package/dist/react/index.d.ts +38 -38
  235. package/dist/react/index.js +59 -59
  236. package/dist/react/messageRangeStore.d.ts +1 -1
  237. package/dist/react/useAgentChannel.d.ts +3 -3
  238. package/dist/react/useAgentChannel.js +2 -2
  239. package/dist/react/useAgentConnections.d.ts +1 -1
  240. package/dist/react/useAgentConnections.js +2 -2
  241. package/dist/react/useAgentTokenState.d.ts +3 -3
  242. package/dist/react/useAgentTokenState.js +8 -8
  243. package/dist/react/useChannelAggregate.d.ts +3 -3
  244. package/dist/react/useChannelAggregate.js +8 -8
  245. package/dist/react/useChannelMessage.d.ts +2 -2
  246. package/dist/react/useChannelMessage.js +4 -4
  247. package/dist/react/useChannelMessages.d.ts +3 -3
  248. package/dist/react/useChannelMessages.js +10 -10
  249. package/dist/react/useChannelSubscription.d.ts +2 -2
  250. package/dist/react/useChannelSubscription.js +2 -2
  251. package/dist/react/useClientStatus.d.ts +1 -1
  252. package/dist/react/useClientStatus.js +2 -2
  253. package/dist/react/useConnectionState.js +2 -2
  254. package/dist/react/useDeviceMap.js +2 -2
  255. package/dist/react/useInvocationLogs.d.ts +1 -1
  256. package/dist/react/useInvocationLogs.js +2 -2
  257. package/dist/react/useMultiAgentAggregates.d.ts +1 -1
  258. package/dist/react/useMultiAgentAggregates.js +5 -5
  259. package/dist/react/useMultiAgentChannelMessages.d.ts +1 -1
  260. package/dist/react/useMultiAgentChannelMessages.js +2 -2
  261. package/dist/react/useOfflineStatus.d.ts +2 -2
  262. package/dist/react/useOfflineStatus.js +31 -17
  263. package/dist/react/useSendMessage.d.ts +2 -2
  264. package/dist/react/useSendMessage.js +2 -2
  265. package/dist/react/useSendRpc.d.ts +2 -2
  266. package/dist/react/useSendRpc.js +2 -2
  267. package/dist/react/useTurnCredentials.d.ts +2 -2
  268. package/dist/react/useTurnCredentials.js +2 -2
  269. package/dist/react/useUpdateAggregate.d.ts +3 -3
  270. package/dist/react/useUpdateAggregate.js +4 -4
  271. package/dist/react/useUpdateMessage.d.ts +2 -2
  272. package/dist/react/useUpdateMessage.js +2 -2
  273. package/dist/refine/index.d.ts +1 -1
  274. package/dist/rpc/errors.d.ts +1 -1
  275. package/dist/rpc/index.d.ts +3 -0
  276. package/dist/rpc/index.js +7 -0
  277. package/dist/rpc/rpc-dispatcher.d.ts +4 -4
  278. package/dist/rpc/rpc-dispatcher.js +2 -2
  279. package/dist/types/common.d.ts +1 -1
  280. package/dist/types/index.d.ts +9 -0
  281. package/dist/types/index.js +2 -0
  282. package/dist/types/openapi.d.ts +1 -1
  283. package/dist/types/viewer.d.ts +2 -2
  284. package/dist/viewer/doover-data-provider.d.ts +10 -10
  285. package/dist/viewer/doover-data-provider.js +25 -25
  286. package/dist/viewer/path-parsing.d.ts +1 -1
  287. package/package.json +795 -8
  288. package/dist/test/api-args.test.js +0 -48
  289. package/dist/test/api-overloads.test.d.ts +0 -9
  290. package/dist/test/api-overloads.test.js +0 -330
  291. package/dist/test/apis.test.js +0 -408
  292. package/dist/test/auth.test.js +0 -708
  293. package/dist/test/batch-apis.test.js +0 -183
  294. package/dist/test/capabilities.test.js +0 -27
  295. package/dist/test/config-manager.test.js +0 -160
  296. package/dist/test/data-client-errors.test.js +0 -24
  297. package/dist/test/data-client-shape.test.js +0 -28
  298. package/dist/test/doover-client-dataclient.test.d.ts +0 -1
  299. package/dist/test/doover-client-dataclient.test.js +0 -58
  300. package/dist/test/doover-client-provenance.test.d.ts +0 -1
  301. package/dist/test/doover-client-provenance.test.js +0 -32
  302. package/dist/test/doover-client.test.d.ts +0 -1
  303. package/dist/test/doover-client.test.js +0 -42
  304. package/dist/test/doover-data-provider.test.d.ts +0 -1
  305. package/dist/test/doover-data-provider.test.js +0 -657
  306. package/dist/test/exports.test.d.ts +0 -1
  307. package/dist/test/exports.test.js +0 -80
  308. package/dist/test/gateway-client.test.d.ts +0 -1
  309. package/dist/test/gateway-client.test.js +0 -474
  310. package/dist/test/gateway-provenance.test.d.ts +0 -1
  311. package/dist/test/gateway-provenance.test.js +0 -29
  312. package/dist/test/gateway-subscriptions.test.d.ts +0 -1
  313. package/dist/test/gateway-subscriptions.test.js +0 -95
  314. package/dist/test/helpers.d.ts +0 -32
  315. package/dist/test/helpers.js +0 -115
  316. package/dist/test/local-agent-client.test.d.ts +0 -1
  317. package/dist/test/local-agent-client.test.js +0 -202
  318. package/dist/test/message-range-store.test.d.ts +0 -1
  319. package/dist/test/message-range-store.test.js +0 -183
  320. package/dist/test/multiplex-capabilities.test.d.ts +0 -1
  321. package/dist/test/multiplex-capabilities.test.js +0 -37
  322. package/dist/test/multiplex-conflicts.test.d.ts +0 -1
  323. package/dist/test/multiplex-conflicts.test.js +0 -35
  324. package/dist/test/multiplex-gateway.test.d.ts +0 -1
  325. package/dist/test/multiplex-gateway.test.js +0 -103
  326. package/dist/test/multiplex-merge.test.d.ts +0 -1
  327. package/dist/test/multiplex-merge.test.js +0 -19
  328. package/dist/test/multiplex-noncore.test.d.ts +0 -1
  329. package/dist/test/multiplex-noncore.test.js +0 -82
  330. package/dist/test/multiplex-passthrough.test.d.ts +0 -1
  331. package/dist/test/multiplex-passthrough.test.js +0 -35
  332. package/dist/test/multiplex-reads.test.d.ts +0 -1
  333. package/dist/test/multiplex-reads.test.js +0 -87
  334. package/dist/test/multiplex-registry.test.d.ts +0 -1
  335. package/dist/test/multiplex-registry.test.js +0 -81
  336. package/dist/test/multiplex-routing.test.d.ts +0 -1
  337. package/dist/test/multiplex-routing.test.js +0 -45
  338. package/dist/test/multiplex-status.test.d.ts +0 -1
  339. package/dist/test/multiplex-status.test.js +0 -63
  340. package/dist/test/multiplex-writes.test.d.ts +0 -1
  341. package/dist/test/multiplex-writes.test.js +0 -93
  342. package/dist/test/offline-cache.test.d.ts +0 -1
  343. package/dist/test/offline-cache.test.js +0 -289
  344. package/dist/test/provenance-regression.test.d.ts +0 -1
  345. package/dist/test/provenance-regression.test.js +0 -45
  346. package/dist/test/provenance-stamper.test.d.ts +0 -1
  347. package/dist/test/provenance-stamper.test.js +0 -41
  348. package/dist/test/provenance-type.test.d.ts +0 -1
  349. package/dist/test/provenance-type.test.js +0 -15
  350. package/dist/test/react-channel-messages-forward.test.d.ts +0 -1
  351. package/dist/test/react-channel-messages-forward.test.js +0 -139
  352. package/dist/test/react-channel-messages-range.test.d.ts +0 -1
  353. package/dist/test/react-channel-messages-range.test.js +0 -109
  354. package/dist/test/react-client-status.test.d.ts +0 -1
  355. package/dist/test/react-client-status.test.js +0 -35
  356. package/dist/test/react-dataclient.test.d.ts +0 -1
  357. package/dist/test/react-dataclient.test.js +0 -28
  358. package/dist/test/react-exports.test.d.ts +0 -1
  359. package/dist/test/react-exports.test.js +0 -46
  360. package/dist/test/react-multiagent-messages.test.d.ts +0 -1
  361. package/dist/test/react-multiagent-messages.test.js +0 -113
  362. package/dist/test/react-sources-option.test.d.ts +0 -1
  363. package/dist/test/react-sources-option.test.js +0 -41
  364. package/dist/test/react.test.d.ts +0 -1
  365. package/dist/test/react.test.js +0 -482
  366. package/dist/test/refine.test.d.ts +0 -1
  367. package/dist/test/refine.test.js +0 -71
  368. package/dist/test/rest-client.test.d.ts +0 -1
  369. package/dist/test/rest-client.test.js +0 -197
  370. package/dist/test/rpc-dispatcher.test.d.ts +0 -1
  371. package/dist/test/rpc-dispatcher.test.js +0 -251
  372. package/dist/test/singleton.test.d.ts +0 -1
  373. package/dist/test/singleton.test.js +0 -62
  374. package/dist/test/stats-rpc.test.d.ts +0 -1
  375. package/dist/test/stats-rpc.test.js +0 -69
  376. package/dist/test/status-tracker.test.d.ts +0 -1
  377. package/dist/test/status-tracker.test.js +0 -85
  378. package/dist/test/users-api.test.d.ts +0 -1
  379. package/dist/test/users-api.test.js +0 -19
  380. package/dist/test/utils.test.d.ts +0 -1
  381. package/dist/test/utils.test.js +0 -64
  382. /package/dist/{test/api-args.test.d.ts → esm/auth/auth-store.js} +0 -0
  383. /package/dist/{test/apis.test.d.ts → esm/client/data-client.js} +0 -0
  384. /package/dist/{test/auth.test.d.ts → esm/gateway/types.js} +0 -0
  385. /package/dist/{test/batch-apis.test.d.ts → esm/types/common.js} +0 -0
  386. /package/dist/{test/capabilities.test.d.ts → esm/types/index.js} +0 -0
  387. /package/dist/{test/config-manager.test.d.ts → esm/types/openapi.js} +0 -0
  388. /package/dist/{test/data-client-errors.test.d.ts → esm/types/provenance.js} +0 -0
  389. /package/dist/{test/data-client-shape.test.d.ts → esm/types/viewer.js} +0 -0
@@ -0,0 +1,48 @@
1
+ import type { RestClient } from "../http/rest-client.js";
2
+ import type { Alarm, CreateAlarmRequest, PatchAlarmRequest } from "../types/openapi.js";
3
+ export declare class AlarmsApi {
4
+ private readonly rest;
5
+ constructor(rest: RestClient);
6
+ /** Every alarm on every channel of an agent the caller can see. */
7
+ listAgentAlarms(agentId: string): Promise<Alarm[]>;
8
+ listAgentAlarms(identifier: {
9
+ agentId: string;
10
+ }): Promise<Alarm[]>;
11
+ private _listAgentAlarms;
12
+ listAlarms(agentId: string, channelName: string): Promise<Alarm[]>;
13
+ listAlarms(identifier: {
14
+ agentId: string;
15
+ channelName: string;
16
+ }): Promise<Alarm[]>;
17
+ private _listAlarms;
18
+ createAlarm(agentId: string, channelName: string, body: CreateAlarmRequest): Promise<Alarm>;
19
+ createAlarm(identifier: {
20
+ agentId: string;
21
+ channelName: string;
22
+ }, body: CreateAlarmRequest): Promise<Alarm>;
23
+ private _createAlarm;
24
+ getAlarm(agentId: string, channelName: string, alarmId: string): Promise<Alarm>;
25
+ getAlarm(identifier: {
26
+ agentId: string;
27
+ channelName: string;
28
+ }, alarmId: string): Promise<Alarm>;
29
+ private _getAlarm;
30
+ putAlarm(agentId: string, channelName: string, alarmId: string, body: CreateAlarmRequest): Promise<Alarm>;
31
+ putAlarm(identifier: {
32
+ agentId: string;
33
+ channelName: string;
34
+ }, alarmId: string, body: CreateAlarmRequest): Promise<Alarm>;
35
+ private _putAlarm;
36
+ patchAlarm(agentId: string, channelName: string, alarmId: string, body: PatchAlarmRequest): Promise<Alarm>;
37
+ patchAlarm(identifier: {
38
+ agentId: string;
39
+ channelName: string;
40
+ }, alarmId: string, body: PatchAlarmRequest): Promise<Alarm>;
41
+ private _patchAlarm;
42
+ deleteAlarm(agentId: string, channelName: string, alarmId: string): Promise<unknown>;
43
+ deleteAlarm(identifier: {
44
+ agentId: string;
45
+ channelName: string;
46
+ }, alarmId: string): Promise<unknown>;
47
+ private _deleteAlarm;
48
+ }
@@ -0,0 +1,75 @@
1
+ import { resolveAgentArgs, resolveChannelArgs } from "./_args.js";
2
+ export class AlarmsApi {
3
+ constructor(rest) {
4
+ this.rest = rest;
5
+ }
6
+ listAgentAlarms(...args) {
7
+ const { agentId } = resolveAgentArgs(args);
8
+ return this._listAgentAlarms(agentId);
9
+ }
10
+ _listAgentAlarms(agentId) {
11
+ return this.rest.get(`/agents/${agentId}/alarms`);
12
+ }
13
+ listAlarms(...args) {
14
+ const { agentId, channelName } = resolveChannelArgs(args);
15
+ return this._listAlarms(agentId, channelName);
16
+ }
17
+ _listAlarms(agentId, channelName) {
18
+ return this.rest.get(`/agents/${agentId}/channels/${channelName}/alarms`);
19
+ }
20
+ createAlarm(...args) {
21
+ if (typeof args[0] === "string") {
22
+ const [agentId, channelName, body] = args;
23
+ return this._createAlarm(agentId, channelName, body);
24
+ }
25
+ const id = args[0];
26
+ return this._createAlarm(id.agentId, id.channelName, args[1]);
27
+ }
28
+ _createAlarm(agentId, channelName, body) {
29
+ return this.rest.post(`/agents/${agentId}/channels/${channelName}/alarms`, body);
30
+ }
31
+ getAlarm(...args) {
32
+ if (typeof args[0] === "string") {
33
+ const [agentId, channelName, alarmId] = args;
34
+ return this._getAlarm(agentId, channelName, alarmId);
35
+ }
36
+ const id = args[0];
37
+ return this._getAlarm(id.agentId, id.channelName, args[1]);
38
+ }
39
+ _getAlarm(agentId, channelName, alarmId) {
40
+ return this.rest.get(`/agents/${agentId}/channels/${channelName}/alarms/${alarmId}`);
41
+ }
42
+ putAlarm(...args) {
43
+ if (typeof args[0] === "string") {
44
+ const [agentId, channelName, alarmId, body] = args;
45
+ return this._putAlarm(agentId, channelName, alarmId, body);
46
+ }
47
+ const id = args[0];
48
+ return this._putAlarm(id.agentId, id.channelName, args[1], args[2]);
49
+ }
50
+ _putAlarm(agentId, channelName, alarmId, body) {
51
+ return this.rest.put(`/agents/${agentId}/channels/${channelName}/alarms/${alarmId}`, body);
52
+ }
53
+ patchAlarm(...args) {
54
+ if (typeof args[0] === "string") {
55
+ const [agentId, channelName, alarmId, body] = args;
56
+ return this._patchAlarm(agentId, channelName, alarmId, body);
57
+ }
58
+ const id = args[0];
59
+ return this._patchAlarm(id.agentId, id.channelName, args[1], args[2]);
60
+ }
61
+ _patchAlarm(agentId, channelName, alarmId, body) {
62
+ return this.rest.patch(`/agents/${agentId}/channels/${channelName}/alarms/${alarmId}`, body);
63
+ }
64
+ deleteAlarm(...args) {
65
+ if (typeof args[0] === "string") {
66
+ const [agentId, channelName, alarmId] = args;
67
+ return this._deleteAlarm(agentId, channelName, alarmId);
68
+ }
69
+ const id = args[0];
70
+ return this._deleteAlarm(id.agentId, id.channelName, args[1]);
71
+ }
72
+ _deleteAlarm(agentId, channelName, alarmId) {
73
+ return this.rest.delete(`/agents/${agentId}/channels/${channelName}/alarms/${alarmId}`);
74
+ }
75
+ }
@@ -0,0 +1,83 @@
1
+ import type { RestClient } from "../http/rest-client.js";
2
+ import type { Channel, CreateChannelRequest, DataSeries, PutChannelRequest } from "../types/openapi.js";
3
+ import type { DooverRequestOptions } from "../client/request-options.js";
4
+ export interface ListChannelsOptions {
5
+ include_aggregate?: boolean;
6
+ include_daily_summaries?: boolean;
7
+ include_archived?: boolean;
8
+ }
9
+ export interface GetChannelOptions {
10
+ include_aggregate?: boolean;
11
+ }
12
+ export interface DataSeriesParams {
13
+ before?: string;
14
+ after?: string;
15
+ limit?: number;
16
+ field_name: string[];
17
+ }
18
+ export declare class ChannelsApi {
19
+ private readonly rest;
20
+ constructor(rest: RestClient);
21
+ listChannels(agentId: string, options?: ListChannelsOptions): Promise<Channel[]>;
22
+ listChannels(agentId: string, requestOptions: DooverRequestOptions): Promise<Channel[]>;
23
+ listChannels(agentId: string, options: ListChannelsOptions, requestOptions: DooverRequestOptions): Promise<Channel[]>;
24
+ listChannels(identifier: {
25
+ agentId: string;
26
+ }, options?: ListChannelsOptions): Promise<Channel[]>;
27
+ listChannels(identifier: {
28
+ agentId: string;
29
+ }, requestOptions: DooverRequestOptions): Promise<Channel[]>;
30
+ listChannels(identifier: {
31
+ agentId: string;
32
+ }, options: ListChannelsOptions, requestOptions: DooverRequestOptions): Promise<Channel[]>;
33
+ private _listChannels;
34
+ getChannel(agentId: string, channelName: string, options?: GetChannelOptions): Promise<Channel>;
35
+ getChannel(agentId: string, channelName: string, requestOptions: DooverRequestOptions): Promise<Channel>;
36
+ getChannel(agentId: string, channelName: string, options: GetChannelOptions, requestOptions: DooverRequestOptions): Promise<Channel>;
37
+ getChannel(identifier: {
38
+ agentId: string;
39
+ channelName: string;
40
+ }, options?: GetChannelOptions): Promise<Channel>;
41
+ getChannel(identifier: {
42
+ agentId: string;
43
+ channelName: string;
44
+ }, requestOptions: DooverRequestOptions): Promise<Channel>;
45
+ getChannel(identifier: {
46
+ agentId: string;
47
+ channelName: string;
48
+ }, options: GetChannelOptions, requestOptions: DooverRequestOptions): Promise<Channel>;
49
+ private _getChannel;
50
+ createChannel(agentId: string, channelName: string, body: CreateChannelRequest): Promise<{
51
+ id: string;
52
+ }>;
53
+ createChannel(identifier: {
54
+ agentId: string;
55
+ channelName: string;
56
+ }, body: CreateChannelRequest): Promise<{
57
+ id: string;
58
+ }>;
59
+ private _createChannel;
60
+ putChannel(agentId: string, channelName: string, body: PutChannelRequest): Promise<Channel>;
61
+ putChannel(identifier: {
62
+ agentId: string;
63
+ channelName: string;
64
+ }, body: PutChannelRequest): Promise<Channel>;
65
+ private _putChannel;
66
+ archiveChannel(agentId: string, channelName: string): Promise<unknown>;
67
+ archiveChannel(identifier: {
68
+ agentId: string;
69
+ channelName: string;
70
+ }): Promise<unknown>;
71
+ private _archiveChannel;
72
+ unarchiveChannel(agentId: string, channelName: string): Promise<unknown>;
73
+ unarchiveChannel(identifier: {
74
+ agentId: string;
75
+ channelName: string;
76
+ }): Promise<unknown>;
77
+ private _unarchiveChannel;
78
+ listDataSeries(agentId: string, params: DataSeriesParams): Promise<DataSeries>;
79
+ listDataSeries(identifier: {
80
+ agentId: string;
81
+ }, params: DataSeriesParams): Promise<DataSeries>;
82
+ private _listDataSeries;
83
+ }
@@ -0,0 +1,65 @@
1
+ import { resolveAgentArgs, resolveChannelArgs } from "./_args.js";
2
+ export class ChannelsApi {
3
+ constructor(rest) {
4
+ this.rest = rest;
5
+ }
6
+ listChannels(...args) {
7
+ const { agentId, options } = resolveAgentArgs(args);
8
+ return this._listChannels(agentId, options);
9
+ }
10
+ _listChannels(agentId, options) {
11
+ return this.rest.get(`/agents/${agentId}/channels`, options);
12
+ }
13
+ getChannel(...args) {
14
+ const { agentId, channelName, options } = resolveChannelArgs(args);
15
+ return this._getChannel(agentId, channelName, options);
16
+ }
17
+ _getChannel(agentId, channelName, options) {
18
+ return this.rest.get(`/agents/${agentId}/channels/${channelName}`, options);
19
+ }
20
+ createChannel(...args) {
21
+ if (typeof args[0] === "string") {
22
+ const [agentId, channelName, body] = args;
23
+ return this._createChannel(agentId, channelName, body);
24
+ }
25
+ const id = args[0];
26
+ const body = args[1];
27
+ return this._createChannel(id.agentId, id.channelName, body);
28
+ }
29
+ _createChannel(agentId, channelName, body) {
30
+ return this.rest.post(`/agents/${agentId}/channels/${channelName}`, body);
31
+ }
32
+ putChannel(...args) {
33
+ if (typeof args[0] === "string") {
34
+ const [agentId, channelName, body] = args;
35
+ return this._putChannel(agentId, channelName, body);
36
+ }
37
+ const id = args[0];
38
+ const body = args[1];
39
+ return this._putChannel(id.agentId, id.channelName, body);
40
+ }
41
+ _putChannel(agentId, channelName, body) {
42
+ return this.rest.put(`/agents/${agentId}/channels/${channelName}`, body);
43
+ }
44
+ archiveChannel(...args) {
45
+ const { agentId, channelName } = resolveChannelArgs(args);
46
+ return this._archiveChannel(agentId, channelName);
47
+ }
48
+ _archiveChannel(agentId, channelName) {
49
+ return this.rest.post(`/agents/${agentId}/channels/${channelName}/archive`, {});
50
+ }
51
+ unarchiveChannel(...args) {
52
+ const { agentId, channelName } = resolveChannelArgs(args);
53
+ return this._unarchiveChannel(agentId, channelName);
54
+ }
55
+ _unarchiveChannel(agentId, channelName) {
56
+ return this.rest.post(`/agents/${agentId}/channels/${channelName}/unarchive`, {});
57
+ }
58
+ listDataSeries(...args) {
59
+ const { agentId, options } = resolveAgentArgs(args);
60
+ return this._listDataSeries(agentId, options);
61
+ }
62
+ _listDataSeries(agentId, params) {
63
+ return this.rest.get(`/agents/${agentId}/data_series`, params);
64
+ }
65
+ }
@@ -0,0 +1,45 @@
1
+ import type { RestClient } from "../http/rest-client.js";
2
+ import type { ConnectionDetails, ConnectionSubscription, ConnectionSubscriptionLog } from "../types/openapi.js";
3
+ export interface ConnectionHistoryParams {
4
+ before?: string;
5
+ after?: string;
6
+ limit?: number;
7
+ default_connection?: boolean;
8
+ }
9
+ export interface SubscriptionHistoryParams {
10
+ before?: string;
11
+ after?: string;
12
+ limit?: number;
13
+ channel: string;
14
+ }
15
+ export declare class ConnectionsApi {
16
+ private readonly rest;
17
+ constructor(rest: RestClient);
18
+ getAgentConnections(agentId: string): Promise<ConnectionDetails[]>;
19
+ getAgentConnections(identifier: {
20
+ agentId: string;
21
+ }): Promise<ConnectionDetails[]>;
22
+ private _getAgentConnections;
23
+ getAgentConnectionHistory(agentId: string, params: ConnectionHistoryParams): Promise<ConnectionDetails[]>;
24
+ getAgentConnectionHistory(identifier: {
25
+ agentId: string;
26
+ }, params: ConnectionHistoryParams): Promise<ConnectionDetails[]>;
27
+ private _getAgentConnectionHistory;
28
+ getAgentSubscriptionHistory(agentId: string, params: SubscriptionHistoryParams): Promise<ConnectionSubscriptionLog[]>;
29
+ getAgentSubscriptionHistory(identifier: {
30
+ agentId: string;
31
+ }, params: SubscriptionHistoryParams): Promise<ConnectionSubscriptionLog[]>;
32
+ private _getAgentSubscriptionHistory;
33
+ getConnection(connectionId: string): Promise<ConnectionDetails>;
34
+ getChannelSubscriptions(agentId: string, channelName: string): Promise<ConnectionSubscription[]>;
35
+ getChannelSubscriptions(identifier: {
36
+ agentId: string;
37
+ channelName: string;
38
+ }): Promise<ConnectionSubscription[]>;
39
+ private _getChannelSubscriptions;
40
+ syncConnection(agentId: string): Promise<unknown>;
41
+ syncConnection(identifier: {
42
+ agentId: string;
43
+ }): Promise<unknown>;
44
+ private _syncConnection;
45
+ }
@@ -0,0 +1,44 @@
1
+ import { resolveAgentArgs, resolveChannelArgs } from "./_args.js";
2
+ export class ConnectionsApi {
3
+ constructor(rest) {
4
+ this.rest = rest;
5
+ }
6
+ getAgentConnections(...args) {
7
+ const { agentId } = resolveAgentArgs(args);
8
+ return this._getAgentConnections(agentId);
9
+ }
10
+ _getAgentConnections(agentId) {
11
+ return this.rest.get(`/agents/${agentId}/wss_connections`);
12
+ }
13
+ getAgentConnectionHistory(...args) {
14
+ const { agentId, options } = resolveAgentArgs(args);
15
+ return this._getAgentConnectionHistory(agentId, options);
16
+ }
17
+ _getAgentConnectionHistory(agentId, params) {
18
+ return this.rest.get(`/agents/${agentId}/wss_connections/history`, params);
19
+ }
20
+ getAgentSubscriptionHistory(...args) {
21
+ const { agentId, options } = resolveAgentArgs(args);
22
+ return this._getAgentSubscriptionHistory(agentId, options);
23
+ }
24
+ _getAgentSubscriptionHistory(agentId, params) {
25
+ return this.rest.get(`/agents/${agentId}/wss_connections/subscriptions/history`, params);
26
+ }
27
+ getConnection(connectionId) {
28
+ return this.rest.get(`/connections/${connectionId}`);
29
+ }
30
+ getChannelSubscriptions(...args) {
31
+ const { agentId, channelName } = resolveChannelArgs(args);
32
+ return this._getChannelSubscriptions(agentId, channelName);
33
+ }
34
+ _getChannelSubscriptions(agentId, channelName) {
35
+ return this.rest.get(`/agents/${agentId}/channels/${channelName}/subscriptions`);
36
+ }
37
+ syncConnection(...args) {
38
+ const { agentId } = resolveAgentArgs(args);
39
+ return this._syncConnection(agentId);
40
+ }
41
+ _syncConnection(agentId) {
42
+ return this.rest.post(`/agents/${agentId}/connection_sync`, {});
43
+ }
44
+ }
@@ -0,0 +1,128 @@
1
+ import type { RestClient } from "../http/rest-client.js";
2
+ import type { CreateMessageRequest, DataSeries, MessageStructure, UpdateMessageRequest } from "../types/openapi.js";
3
+ import type { DooverRequestOptions } from "../client/request-options.js";
4
+ import { type BatchCreateMessageItem, type BatchDeleteMessageItem, type BatchMessageResponse, type BatchUpdateMessageItem } from "../types/batch.js";
5
+ export interface ListMessagesParams {
6
+ before?: string;
7
+ /**
8
+ * Lower-bound cursor (exclusive). With `before` set (or defaulted) it merely
9
+ * floors the window. On its own — `after` set, `before` omitted — it pages
10
+ * *forward*: the server returns the `limit` **oldest** messages strictly
11
+ * newer than the cursor, oldest-first. This is the only way to walk history
12
+ * upward toward "now".
13
+ */
14
+ after?: string;
15
+ limit?: number;
16
+ field_name?: string[];
17
+ /**
18
+ * Result order. `"desc"` (default) returns the server's native newest-first
19
+ * order; `"asc"` reverses the array client-side so the oldest message is at
20
+ * index 0.
21
+ */
22
+ order?: "asc" | "desc";
23
+ /**
24
+ * Opt into paginated timeseries responses (`getTimeseries` only). When true
25
+ * the server returns a `next` cursor alongside `{ results, count }`; pass it
26
+ * back as `before` to page through results.
27
+ */
28
+ paginate?: boolean;
29
+ }
30
+ export interface MessageMutationParams {
31
+ suppress_response?: boolean;
32
+ clear_attachments?: boolean;
33
+ }
34
+ export type MessageBody = CreateMessageRequest | UpdateMessageRequest | FormData;
35
+ export declare class MessagesApi {
36
+ private readonly rest;
37
+ constructor(rest: RestClient);
38
+ listMessages(agentId: string, channelName: string, params?: ListMessagesParams): Promise<MessageStructure[]>;
39
+ listMessages(agentId: string, channelName: string, params: ListMessagesParams, requestOptions: DooverRequestOptions): Promise<MessageStructure[]>;
40
+ listMessages(identifier: {
41
+ agentId: string;
42
+ channelName: string;
43
+ }, params?: ListMessagesParams): Promise<MessageStructure[]>;
44
+ listMessages(identifier: {
45
+ agentId: string;
46
+ channelName: string;
47
+ }, params: ListMessagesParams, requestOptions: DooverRequestOptions): Promise<MessageStructure[]>;
48
+ private _listMessages;
49
+ postMessage(agentId: string, channelName: string, body: MessageBody): Promise<MessageStructure>;
50
+ postMessage(identifier: {
51
+ agentId: string;
52
+ channelName: string;
53
+ }, body: MessageBody): Promise<MessageStructure>;
54
+ private _postMessage;
55
+ getTimeseries(agentId: string, channelName: string, params: ListMessagesParams): Promise<DataSeries>;
56
+ getTimeseries(identifier: {
57
+ agentId: string;
58
+ channelName: string;
59
+ }, params: ListMessagesParams): Promise<DataSeries>;
60
+ private _getTimeseries;
61
+ getMessage(agentId: string, channelName: string, messageId: string): Promise<MessageStructure>;
62
+ getMessage(identifier: {
63
+ agentId: string;
64
+ channelName: string;
65
+ }, messageId: string): Promise<MessageStructure>;
66
+ private _getMessage;
67
+ putMessage(agentId: string, channelName: string, messageId: string, body: MessageBody, params?: MessageMutationParams): Promise<unknown>;
68
+ putMessage(identifier: {
69
+ agentId: string;
70
+ channelName: string;
71
+ }, messageId: string, body: MessageBody, params?: MessageMutationParams): Promise<unknown>;
72
+ private _putMessage;
73
+ patchMessage(agentId: string, channelName: string, messageId: string, body: MessageBody, params?: MessageMutationParams): Promise<unknown>;
74
+ patchMessage(identifier: {
75
+ agentId: string;
76
+ channelName: string;
77
+ }, messageId: string, body: MessageBody, params?: MessageMutationParams): Promise<unknown>;
78
+ private _patchMessage;
79
+ deleteMessage(agentId: string, channelName: string, messageId: string): Promise<unknown>;
80
+ deleteMessage(identifier: {
81
+ agentId: string;
82
+ channelName: string;
83
+ }, messageId: string): Promise<unknown>;
84
+ private _deleteMessage;
85
+ getMessageAttachment(agentId: string, channelName: string, messageId: string, attachmentId: string): Promise<Blob>;
86
+ getMessageAttachment(identifier: {
87
+ agentId: string;
88
+ channelName: string;
89
+ }, messageId: string, attachmentId: string): Promise<Blob>;
90
+ private _getMessageAttachment;
91
+ getInvocationLogs<TLog = unknown>(agentId: string, channelName: string, messageId: string): Promise<TLog[]>;
92
+ getInvocationLogs<TLog = unknown>(identifier: {
93
+ agentId: string;
94
+ channelName: string;
95
+ }, messageId: string): Promise<TLog[]>;
96
+ private _getInvocationLogs;
97
+ /**
98
+ * Create messages across many agents and channels in one request.
99
+ *
100
+ * Supply `message_id` per item where you can: the server's create path is
101
+ * not yet idempotent, so a retry after a lost response can otherwise
102
+ * duplicate the message and double-count the daily summary.
103
+ */
104
+ batchPostMessages(items: BatchCreateMessageItem[]): Promise<BatchMessageResponse>;
105
+ batchPostMessages(items: BatchCreateMessageItem[], requestOptions: DooverRequestOptions): Promise<BatchMessageResponse>;
106
+ /** Merge-patch messages across many agents and channels in one request. */
107
+ batchPatchMessages(items: BatchUpdateMessageItem[]): Promise<BatchMessageResponse>;
108
+ batchPatchMessages(items: BatchUpdateMessageItem[], requestOptions: DooverRequestOptions): Promise<BatchMessageResponse>;
109
+ /** Replace messages across many agents and channels in one request. */
110
+ batchPutMessages(items: BatchUpdateMessageItem[]): Promise<BatchMessageResponse>;
111
+ batchPutMessages(items: BatchUpdateMessageItem[], requestOptions: DooverRequestOptions): Promise<BatchMessageResponse>;
112
+ /**
113
+ * Delete messages across many agents and channels in one request.
114
+ *
115
+ * Deletion is not idempotent server-side yet — a retried delete can
116
+ * decrement the daily summary twice — so retry only items the response
117
+ * reported as failed.
118
+ */
119
+ batchDeleteMessages(items: BatchDeleteMessageItem[]): Promise<BatchMessageResponse>;
120
+ batchDeleteMessages(items: BatchDeleteMessageItem[], requestOptions: DooverRequestOptions): Promise<BatchMessageResponse>;
121
+ /**
122
+ * Shared driver for the four `/agents/messages` verbs. Chunks to the
123
+ * server's item ceiling and sends sequentially, so a long list doesn't
124
+ * reintroduce the burst that batching exists to remove.
125
+ */
126
+ private _batchMessages;
127
+ createMultipartPayload(jsonPayload: Record<string, unknown>, attachments: Array<Blob | File>): FormData;
128
+ }
@@ -0,0 +1,179 @@
1
+ import { addTimestampToMessage, generateSnowflakeIdAtTime } from "../utils/snowflake.js";
2
+ import { resolveChannelArgs } from "./_args.js";
3
+ import { chunkBatchItems, mergeBatchResponses, } from "../types/batch.js";
4
+ function resolveListMessagesParams(params) {
5
+ const order = params?.order ?? "desc";
6
+ const hasAfter = params?.after !== undefined;
7
+ const hasBefore = params?.before !== undefined;
8
+ // The server keys pagination on whichever bound is sent: `before` walks
9
+ // newest-first downward, `after` alone walks oldest-first upward (the N
10
+ // oldest messages strictly newer than the cursor). Sending `after` without
11
+ // `before` is the only way to page forward; sending both, or neither, keeps
12
+ // the newest-first behaviour (defaulting `before` to "now" when unbounded).
13
+ if (hasAfter && !hasBefore) {
14
+ const query = {
15
+ after: params.after,
16
+ limit: params?.limit ?? 10,
17
+ };
18
+ if (params?.field_name !== undefined)
19
+ query.field_name = params.field_name;
20
+ return { query, order, serverAscending: true };
21
+ }
22
+ const query = {
23
+ before: params?.before ?? generateSnowflakeIdAtTime(new Date()),
24
+ limit: params?.limit ?? 10,
25
+ };
26
+ if (hasAfter)
27
+ query.after = params.after;
28
+ if (params?.field_name !== undefined)
29
+ query.field_name = params.field_name;
30
+ return { query, order, serverAscending: false };
31
+ }
32
+ export class MessagesApi {
33
+ constructor(rest) {
34
+ this.rest = rest;
35
+ }
36
+ async listMessages(...args) {
37
+ const { agentId, channelName, options } = resolveChannelArgs(args);
38
+ return this._listMessages(agentId, channelName, options);
39
+ }
40
+ async _listMessages(agentId, channelName, params) {
41
+ const { query, order, serverAscending } = resolveListMessagesParams(params);
42
+ const response = await this.rest.get(`/agents/${agentId}/channels/${channelName}/messages`, query);
43
+ const stamped = response.map(addTimestampToMessage);
44
+ // The server returns newest-first for `before` and oldest-first for a bare
45
+ // `after`; reverse only when that native order differs from what was asked.
46
+ const wantAscending = order === "asc";
47
+ return serverAscending === wantAscending ? stamped : [...stamped].reverse();
48
+ }
49
+ async postMessage(...args) {
50
+ if (typeof args[0] === "string") {
51
+ const [agentId, channelName, body] = args;
52
+ return this._postMessage(agentId, channelName, body);
53
+ }
54
+ const id = args[0];
55
+ const body = args[1];
56
+ return this._postMessage(id.agentId, id.channelName, body);
57
+ }
58
+ async _postMessage(agentId, channelName, body) {
59
+ const response = await this.rest.post(`/agents/${agentId}/channels/${channelName}/messages`, body);
60
+ return addTimestampToMessage(response);
61
+ }
62
+ getTimeseries(...args) {
63
+ const { agentId, channelName, options } = resolveChannelArgs(args);
64
+ return this._getTimeseries(agentId, channelName, options);
65
+ }
66
+ _getTimeseries(agentId, channelName, params) {
67
+ const { order: _order, ...rest } = params;
68
+ return this.rest.get(`/agents/${agentId}/channels/${channelName}/messages/timeseries`, rest);
69
+ }
70
+ async getMessage(...args) {
71
+ if (typeof args[0] === "string") {
72
+ const [agentId, channelName, messageId] = args;
73
+ return this._getMessage(agentId, channelName, messageId);
74
+ }
75
+ const id = args[0];
76
+ const messageId = args[1];
77
+ return this._getMessage(id.agentId, id.channelName, messageId);
78
+ }
79
+ async _getMessage(agentId, channelName, messageId) {
80
+ const response = await this.rest.get(`/agents/${agentId}/channels/${channelName}/messages/${messageId}`);
81
+ return addTimestampToMessage(response);
82
+ }
83
+ putMessage(...args) {
84
+ if (typeof args[0] === "string") {
85
+ const [agentId, channelName, messageId, body, params] = args;
86
+ return this._putMessage(agentId, channelName, messageId, body, params);
87
+ }
88
+ const id = args[0];
89
+ return this._putMessage(id.agentId, id.channelName, args[1], args[2], args[3]);
90
+ }
91
+ _putMessage(agentId, channelName, messageId, body, params) {
92
+ return this.rest.put(`/agents/${agentId}/channels/${channelName}/messages/${messageId}`, body, params);
93
+ }
94
+ patchMessage(...args) {
95
+ if (typeof args[0] === "string") {
96
+ const [agentId, channelName, messageId, body, params] = args;
97
+ return this._patchMessage(agentId, channelName, messageId, body, params);
98
+ }
99
+ const id = args[0];
100
+ return this._patchMessage(id.agentId, id.channelName, args[1], args[2], args[3]);
101
+ }
102
+ _patchMessage(agentId, channelName, messageId, body, params) {
103
+ return this.rest.patch(`/agents/${agentId}/channels/${channelName}/messages/${messageId}`, body, params);
104
+ }
105
+ deleteMessage(...args) {
106
+ if (typeof args[0] === "string") {
107
+ const [agentId, channelName, messageId] = args;
108
+ return this._deleteMessage(agentId, channelName, messageId);
109
+ }
110
+ const id = args[0];
111
+ return this._deleteMessage(id.agentId, id.channelName, args[1]);
112
+ }
113
+ _deleteMessage(agentId, channelName, messageId) {
114
+ return this.rest.delete(`/agents/${agentId}/channels/${channelName}/messages/${messageId}`);
115
+ }
116
+ getMessageAttachment(...args) {
117
+ if (typeof args[0] === "string") {
118
+ const [agentId, channelName, messageId, attachmentId] = args;
119
+ return this._getMessageAttachment(agentId, channelName, messageId, attachmentId);
120
+ }
121
+ const id = args[0];
122
+ return this._getMessageAttachment(id.agentId, id.channelName, args[1], args[2]);
123
+ }
124
+ _getMessageAttachment(agentId, channelName, messageId, attachmentId) {
125
+ return this.rest.get(`/agents/${agentId}/channels/${channelName}/messages/${messageId}/attachments/${attachmentId}`);
126
+ }
127
+ getInvocationLogs(...args) {
128
+ if (typeof args[0] === "string") {
129
+ const [agentId, channelName, messageId] = args;
130
+ return this._getInvocationLogs(agentId, channelName, messageId);
131
+ }
132
+ const id = args[0];
133
+ return this._getInvocationLogs(id.agentId, id.channelName, args[1]);
134
+ }
135
+ _getInvocationLogs(agentId, channelName, messageId) {
136
+ return this.rest.get(`/agents/${agentId}/channels/${channelName}/messages/${messageId}/logs`);
137
+ }
138
+ batchPostMessages(...args) {
139
+ return this._batchMessages("POST", args[0]);
140
+ }
141
+ batchPatchMessages(...args) {
142
+ return this._batchMessages("PATCH", args[0]);
143
+ }
144
+ batchPutMessages(...args) {
145
+ return this._batchMessages("PUT", args[0]);
146
+ }
147
+ batchDeleteMessages(...args) {
148
+ return this._batchMessages("DELETE", args[0]);
149
+ }
150
+ /**
151
+ * Shared driver for the four `/agents/messages` verbs. Chunks to the
152
+ * server's item ceiling and sends sequentially, so a long list doesn't
153
+ * reintroduce the burst that batching exists to remove.
154
+ */
155
+ async _batchMessages(method, items) {
156
+ if (items.length === 0) {
157
+ return { items: [], count: 0, succeeded: 0, failed: 0 };
158
+ }
159
+ const responses = [];
160
+ for (const chunk of chunkBatchItems(items)) {
161
+ // Goes through `request` rather than the verb helpers because DELETE
162
+ // needs a body, which `rest.delete` does not accept.
163
+ responses.push(await this.rest.request({
164
+ path: "/agents/messages",
165
+ method,
166
+ body: { items: chunk },
167
+ }));
168
+ }
169
+ return mergeBatchResponses(responses);
170
+ }
171
+ createMultipartPayload(jsonPayload, attachments) {
172
+ const formData = new FormData();
173
+ formData.set("json_payload", JSON.stringify(jsonPayload));
174
+ attachments.forEach((attachment, index) => {
175
+ formData.set(`attachment-${index}`, attachment);
176
+ });
177
+ return formData;
178
+ }
179
+ }