@loxtep/sdk 0.1.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 (460) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +274 -0
  3. package/dist/auth/index.d.ts +6 -0
  4. package/dist/auth/index.d.ts.map +1 -0
  5. package/dist/auth/index.js +4 -0
  6. package/dist/auth/index.js.map +1 -0
  7. package/dist/auth/jwt.d.ts +10 -0
  8. package/dist/auth/jwt.d.ts.map +1 -0
  9. package/dist/auth/jwt.js +24 -0
  10. package/dist/auth/jwt.js.map +1 -0
  11. package/dist/auth/login.d.ts +49 -0
  12. package/dist/auth/login.d.ts.map +1 -0
  13. package/dist/auth/login.js +131 -0
  14. package/dist/auth/login.js.map +1 -0
  15. package/dist/auth/token-manager.d.ts +30 -0
  16. package/dist/auth/token-manager.d.ts.map +1 -0
  17. package/dist/auth/token-manager.js +61 -0
  18. package/dist/auth/token-manager.js.map +1 -0
  19. package/dist/checkpoint/index.d.ts +6 -0
  20. package/dist/checkpoint/index.d.ts.map +1 -0
  21. package/dist/checkpoint/index.js +5 -0
  22. package/dist/checkpoint/index.js.map +1 -0
  23. package/dist/checkpoint/memory-store.d.ts +6 -0
  24. package/dist/checkpoint/memory-store.d.ts.map +1 -0
  25. package/dist/checkpoint/memory-store.js +16 -0
  26. package/dist/checkpoint/memory-store.js.map +1 -0
  27. package/dist/checkpoint/types.d.ts +14 -0
  28. package/dist/checkpoint/types.d.ts.map +1 -0
  29. package/dist/checkpoint/types.js +5 -0
  30. package/dist/checkpoint/types.js.map +1 -0
  31. package/dist/cli/auth-resolve.d.ts +19 -0
  32. package/dist/cli/auth-resolve.d.ts.map +1 -0
  33. package/dist/cli/auth-resolve.js +25 -0
  34. package/dist/cli/auth-resolve.js.map +1 -0
  35. package/dist/cli/commands/bus-cmd.d.ts +6 -0
  36. package/dist/cli/commands/bus-cmd.d.ts.map +1 -0
  37. package/dist/cli/commands/bus-cmd.js +19 -0
  38. package/dist/cli/commands/bus-cmd.js.map +1 -0
  39. package/dist/cli/commands/config-cmd.d.ts +105 -0
  40. package/dist/cli/commands/config-cmd.d.ts.map +1 -0
  41. package/dist/cli/commands/config-cmd.js +334 -0
  42. package/dist/cli/commands/config-cmd.js.map +1 -0
  43. package/dist/cli/commands/connections-cmd.d.ts +19 -0
  44. package/dist/cli/commands/connections-cmd.d.ts.map +1 -0
  45. package/dist/cli/commands/connections-cmd.js +39 -0
  46. package/dist/cli/commands/connections-cmd.js.map +1 -0
  47. package/dist/cli/commands/data-assets-cmd.d.ts +12 -0
  48. package/dist/cli/commands/data-assets-cmd.d.ts.map +1 -0
  49. package/dist/cli/commands/data-assets-cmd.js +75 -0
  50. package/dist/cli/commands/data-assets-cmd.js.map +1 -0
  51. package/dist/cli/commands/data-contracts-cmd.d.ts +12 -0
  52. package/dist/cli/commands/data-contracts-cmd.d.ts.map +1 -0
  53. package/dist/cli/commands/data-contracts-cmd.js +28 -0
  54. package/dist/cli/commands/data-contracts-cmd.js.map +1 -0
  55. package/dist/cli/commands/data-products-cmd.d.ts +15 -0
  56. package/dist/cli/commands/data-products-cmd.d.ts.map +1 -0
  57. package/dist/cli/commands/data-products-cmd.js +30 -0
  58. package/dist/cli/commands/data-products-cmd.js.map +1 -0
  59. package/dist/cli/commands/domains-cmd.d.ts +12 -0
  60. package/dist/cli/commands/domains-cmd.d.ts.map +1 -0
  61. package/dist/cli/commands/domains-cmd.js +28 -0
  62. package/dist/cli/commands/domains-cmd.js.map +1 -0
  63. package/dist/cli/commands/flows-cmd.d.ts +19 -0
  64. package/dist/cli/commands/flows-cmd.d.ts.map +1 -0
  65. package/dist/cli/commands/flows-cmd.js +37 -0
  66. package/dist/cli/commands/flows-cmd.js.map +1 -0
  67. package/dist/cli/commands/login.d.ts +28 -0
  68. package/dist/cli/commands/login.d.ts.map +1 -0
  69. package/dist/cli/commands/login.js +110 -0
  70. package/dist/cli/commands/login.js.map +1 -0
  71. package/dist/cli/commands/logout.d.ts +5 -0
  72. package/dist/cli/commands/logout.d.ts.map +1 -0
  73. package/dist/cli/commands/logout.js +9 -0
  74. package/dist/cli/commands/logout.js.map +1 -0
  75. package/dist/cli/commands/metrics-cmd.d.ts +15 -0
  76. package/dist/cli/commands/metrics-cmd.d.ts.map +1 -0
  77. package/dist/cli/commands/metrics-cmd.js +21 -0
  78. package/dist/cli/commands/metrics-cmd.js.map +1 -0
  79. package/dist/cli/commands/observe-cmd.d.ts +10 -0
  80. package/dist/cli/commands/observe-cmd.d.ts.map +1 -0
  81. package/dist/cli/commands/observe-cmd.js +10 -0
  82. package/dist/cli/commands/observe-cmd.js.map +1 -0
  83. package/dist/cli/commands/pipelines-cmd.d.ts +17 -0
  84. package/dist/cli/commands/pipelines-cmd.d.ts.map +1 -0
  85. package/dist/cli/commands/pipelines-cmd.js +52 -0
  86. package/dist/cli/commands/pipelines-cmd.js.map +1 -0
  87. package/dist/cli/commands/promises-cmd.d.ts +11 -0
  88. package/dist/cli/commands/promises-cmd.d.ts.map +1 -0
  89. package/dist/cli/commands/promises-cmd.js +53 -0
  90. package/dist/cli/commands/promises-cmd.js.map +1 -0
  91. package/dist/cli/commands/queue-cmd.d.ts +13 -0
  92. package/dist/cli/commands/queue-cmd.d.ts.map +1 -0
  93. package/dist/cli/commands/queue-cmd.js +21 -0
  94. package/dist/cli/commands/queue-cmd.js.map +1 -0
  95. package/dist/cli/commands/standards-cmd.d.ts +12 -0
  96. package/dist/cli/commands/standards-cmd.d.ts.map +1 -0
  97. package/dist/cli/commands/standards-cmd.js +28 -0
  98. package/dist/cli/commands/standards-cmd.js.map +1 -0
  99. package/dist/cli/commands/whoami.d.ts +24 -0
  100. package/dist/cli/commands/whoami.d.ts.map +1 -0
  101. package/dist/cli/commands/whoami.js +46 -0
  102. package/dist/cli/commands/whoami.js.map +1 -0
  103. package/dist/cli/commands/workflows-cmd.d.ts +18 -0
  104. package/dist/cli/commands/workflows-cmd.d.ts.map +1 -0
  105. package/dist/cli/commands/workflows-cmd.js +32 -0
  106. package/dist/cli/commands/workflows-cmd.js.map +1 -0
  107. package/dist/cli/create-cli-client.d.ts +32 -0
  108. package/dist/cli/create-cli-client.d.ts.map +1 -0
  109. package/dist/cli/create-cli-client.js +143 -0
  110. package/dist/cli/create-cli-client.js.map +1 -0
  111. package/dist/cli/credentials.d.ts +25 -0
  112. package/dist/cli/credentials.d.ts.map +1 -0
  113. package/dist/cli/credentials.js +70 -0
  114. package/dist/cli/credentials.js.map +1 -0
  115. package/dist/cli/index.d.ts +8 -0
  116. package/dist/cli/index.d.ts.map +1 -0
  117. package/dist/cli/index.js +424 -0
  118. package/dist/cli/index.js.map +1 -0
  119. package/dist/client/catalog-types.d.ts +22 -0
  120. package/dist/client/catalog-types.d.ts.map +1 -0
  121. package/dist/client/catalog-types.js +5 -0
  122. package/dist/client/catalog-types.js.map +1 -0
  123. package/dist/client/catalog.d.ts +9 -0
  124. package/dist/client/catalog.d.ts.map +1 -0
  125. package/dist/client/catalog.js +29 -0
  126. package/dist/client/catalog.js.map +1 -0
  127. package/dist/client/connection-types.d.ts +98 -0
  128. package/dist/client/connection-types.d.ts.map +1 -0
  129. package/dist/client/connection-types.js +18 -0
  130. package/dist/client/connection-types.js.map +1 -0
  131. package/dist/client/connections.d.ts +18 -0
  132. package/dist/client/connections.d.ts.map +1 -0
  133. package/dist/client/connections.js +66 -0
  134. package/dist/client/connections.js.map +1 -0
  135. package/dist/client/connectors-types.d.ts +61 -0
  136. package/dist/client/connectors-types.d.ts.map +1 -0
  137. package/dist/client/connectors-types.js +6 -0
  138. package/dist/client/connectors-types.js.map +1 -0
  139. package/dist/client/connectors.d.ts +27 -0
  140. package/dist/client/connectors.d.ts.map +1 -0
  141. package/dist/client/connectors.js +71 -0
  142. package/dist/client/connectors.js.map +1 -0
  143. package/dist/client/consumptions-types.d.ts +80 -0
  144. package/dist/client/consumptions-types.d.ts.map +1 -0
  145. package/dist/client/consumptions-types.js +5 -0
  146. package/dist/client/consumptions-types.js.map +1 -0
  147. package/dist/client/consumptions.d.ts +14 -0
  148. package/dist/client/consumptions.d.ts.map +1 -0
  149. package/dist/client/consumptions.js +47 -0
  150. package/dist/client/consumptions.js.map +1 -0
  151. package/dist/client/data-assets-types.d.ts +150 -0
  152. package/dist/client/data-assets-types.d.ts.map +1 -0
  153. package/dist/client/data-assets-types.js +5 -0
  154. package/dist/client/data-assets-types.js.map +1 -0
  155. package/dist/client/data-assets.d.ts +31 -0
  156. package/dist/client/data-assets.d.ts.map +1 -0
  157. package/dist/client/data-assets.js +182 -0
  158. package/dist/client/data-assets.js.map +1 -0
  159. package/dist/client/data-product-resolver.d.ts +92 -0
  160. package/dist/client/data-product-resolver.d.ts.map +1 -0
  161. package/dist/client/data-product-resolver.js +165 -0
  162. package/dist/client/data-product-resolver.js.map +1 -0
  163. package/dist/client/data-products-types.d.ts +182 -0
  164. package/dist/client/data-products-types.d.ts.map +1 -0
  165. package/dist/client/data-products-types.js +5 -0
  166. package/dist/client/data-products-types.js.map +1 -0
  167. package/dist/client/data-products.d.ts +63 -0
  168. package/dist/client/data-products.d.ts.map +1 -0
  169. package/dist/client/data-products.js +461 -0
  170. package/dist/client/data-products.js.map +1 -0
  171. package/dist/client/discovery-types.d.ts +74 -0
  172. package/dist/client/discovery-types.d.ts.map +1 -0
  173. package/dist/client/discovery-types.js +6 -0
  174. package/dist/client/discovery-types.js.map +1 -0
  175. package/dist/client/discovery.d.ts +14 -0
  176. package/dist/client/discovery.d.ts.map +1 -0
  177. package/dist/client/discovery.js +57 -0
  178. package/dist/client/discovery.js.map +1 -0
  179. package/dist/client/domains-types.d.ts +46 -0
  180. package/dist/client/domains-types.d.ts.map +1 -0
  181. package/dist/client/domains-types.js +6 -0
  182. package/dist/client/domains-types.js.map +1 -0
  183. package/dist/client/domains.d.ts +11 -0
  184. package/dist/client/domains.d.ts.map +1 -0
  185. package/dist/client/domains.js +39 -0
  186. package/dist/client/domains.js.map +1 -0
  187. package/dist/client/flow-queue-resolve.d.ts +9 -0
  188. package/dist/client/flow-queue-resolve.d.ts.map +1 -0
  189. package/dist/client/flow-queue-resolve.js +17 -0
  190. package/dist/client/flow-queue-resolve.js.map +1 -0
  191. package/dist/client/flow-types.d.ts +112 -0
  192. package/dist/client/flow-types.d.ts.map +1 -0
  193. package/dist/client/flow-types.js +6 -0
  194. package/dist/client/flow-types.js.map +1 -0
  195. package/dist/client/flows.d.ts +33 -0
  196. package/dist/client/flows.d.ts.map +1 -0
  197. package/dist/client/flows.js +293 -0
  198. package/dist/client/flows.js.map +1 -0
  199. package/dist/client/index.d.ts +28 -0
  200. package/dist/client/index.d.ts.map +1 -0
  201. package/dist/client/index.js +3 -0
  202. package/dist/client/index.js.map +1 -0
  203. package/dist/client/instances-types.d.ts +40 -0
  204. package/dist/client/instances-types.d.ts.map +1 -0
  205. package/dist/client/instances-types.js +6 -0
  206. package/dist/client/instances-types.js.map +1 -0
  207. package/dist/client/instances.d.ts +29 -0
  208. package/dist/client/instances.d.ts.map +1 -0
  209. package/dist/client/instances.js +41 -0
  210. package/dist/client/instances.js.map +1 -0
  211. package/dist/client/loxtep-client.d.ts +111 -0
  212. package/dist/client/loxtep-client.d.ts.map +1 -0
  213. package/dist/client/loxtep-client.js +262 -0
  214. package/dist/client/loxtep-client.js.map +1 -0
  215. package/dist/client/observe-types.d.ts +17 -0
  216. package/dist/client/observe-types.d.ts.map +1 -0
  217. package/dist/client/observe-types.js +5 -0
  218. package/dist/client/observe-types.js.map +1 -0
  219. package/dist/client/observe.d.ts +15 -0
  220. package/dist/client/observe.d.ts.map +1 -0
  221. package/dist/client/observe.js +22 -0
  222. package/dist/client/observe.js.map +1 -0
  223. package/dist/client/pipelines-types.d.ts +3 -0
  224. package/dist/client/pipelines-types.d.ts.map +1 -0
  225. package/dist/client/pipelines-types.js +3 -0
  226. package/dist/client/pipelines-types.js.map +1 -0
  227. package/dist/client/pipelines.d.ts +3 -0
  228. package/dist/client/pipelines.d.ts.map +1 -0
  229. package/dist/client/pipelines.js +3 -0
  230. package/dist/client/pipelines.js.map +1 -0
  231. package/dist/client/procedures-types.d.ts +25 -0
  232. package/dist/client/procedures-types.d.ts.map +1 -0
  233. package/dist/client/procedures-types.js +6 -0
  234. package/dist/client/procedures-types.js.map +1 -0
  235. package/dist/client/procedures.d.ts +19 -0
  236. package/dist/client/procedures.d.ts.map +1 -0
  237. package/dist/client/procedures.js +33 -0
  238. package/dist/client/procedures.js.map +1 -0
  239. package/dist/client/process-intelligence-types.d.ts +45 -0
  240. package/dist/client/process-intelligence-types.d.ts.map +1 -0
  241. package/dist/client/process-intelligence-types.js +6 -0
  242. package/dist/client/process-intelligence-types.js.map +1 -0
  243. package/dist/client/process-intelligence.d.ts +17 -0
  244. package/dist/client/process-intelligence.d.ts.map +1 -0
  245. package/dist/client/process-intelligence.js +50 -0
  246. package/dist/client/process-intelligence.js.map +1 -0
  247. package/dist/client/projects-types.d.ts +79 -0
  248. package/dist/client/projects-types.d.ts.map +1 -0
  249. package/dist/client/projects-types.js +6 -0
  250. package/dist/client/projects-types.js.map +1 -0
  251. package/dist/client/projects.d.ts +19 -0
  252. package/dist/client/projects.d.ts.map +1 -0
  253. package/dist/client/projects.js +53 -0
  254. package/dist/client/projects.js.map +1 -0
  255. package/dist/client/promises-types.d.ts +56 -0
  256. package/dist/client/promises-types.d.ts.map +1 -0
  257. package/dist/client/promises-types.js +6 -0
  258. package/dist/client/promises-types.js.map +1 -0
  259. package/dist/client/promises.d.ts +11 -0
  260. package/dist/client/promises.d.ts.map +1 -0
  261. package/dist/client/promises.js +41 -0
  262. package/dist/client/promises.js.map +1 -0
  263. package/dist/client/quality-types.d.ts +62 -0
  264. package/dist/client/quality-types.d.ts.map +1 -0
  265. package/dist/client/quality-types.js +5 -0
  266. package/dist/client/quality-types.js.map +1 -0
  267. package/dist/client/quality.d.ts +12 -0
  268. package/dist/client/quality.d.ts.map +1 -0
  269. package/dist/client/quality.js +57 -0
  270. package/dist/client/quality.js.map +1 -0
  271. package/dist/client/queue-types.d.ts +84 -0
  272. package/dist/client/queue-types.d.ts.map +1 -0
  273. package/dist/client/queue-types.js +5 -0
  274. package/dist/client/queue-types.js.map +1 -0
  275. package/dist/client/queues.d.ts +61 -0
  276. package/dist/client/queues.d.ts.map +1 -0
  277. package/dist/client/queues.js +138 -0
  278. package/dist/client/queues.js.map +1 -0
  279. package/dist/client/schemas-types.d.ts +27 -0
  280. package/dist/client/schemas-types.d.ts.map +1 -0
  281. package/dist/client/schemas-types.js +5 -0
  282. package/dist/client/schemas-types.js.map +1 -0
  283. package/dist/client/schemas.d.ts +11 -0
  284. package/dist/client/schemas.d.ts.map +1 -0
  285. package/dist/client/schemas.js +22 -0
  286. package/dist/client/schemas.js.map +1 -0
  287. package/dist/client/standards-types.d.ts +45 -0
  288. package/dist/client/standards-types.d.ts.map +1 -0
  289. package/dist/client/standards-types.js +6 -0
  290. package/dist/client/standards-types.js.map +1 -0
  291. package/dist/client/standards.d.ts +11 -0
  292. package/dist/client/standards.d.ts.map +1 -0
  293. package/dist/client/standards.js +41 -0
  294. package/dist/client/standards.js.map +1 -0
  295. package/dist/client/stubs.d.ts +35 -0
  296. package/dist/client/stubs.d.ts.map +1 -0
  297. package/dist/client/stubs.js +30 -0
  298. package/dist/client/stubs.js.map +1 -0
  299. package/dist/client/templates-types.d.ts +70 -0
  300. package/dist/client/templates-types.d.ts.map +1 -0
  301. package/dist/client/templates-types.js +7 -0
  302. package/dist/client/templates-types.js.map +1 -0
  303. package/dist/client/templates.d.ts +12 -0
  304. package/dist/client/templates.d.ts.map +1 -0
  305. package/dist/client/templates.js +38 -0
  306. package/dist/client/templates.js.map +1 -0
  307. package/dist/client/thesaurus-types.d.ts +28 -0
  308. package/dist/client/thesaurus-types.d.ts.map +1 -0
  309. package/dist/client/thesaurus-types.js +5 -0
  310. package/dist/client/thesaurus-types.js.map +1 -0
  311. package/dist/client/thesaurus.d.ts +11 -0
  312. package/dist/client/thesaurus.d.ts.map +1 -0
  313. package/dist/client/thesaurus.js +35 -0
  314. package/dist/client/thesaurus.js.map +1 -0
  315. package/dist/client/types.d.ts +80 -0
  316. package/dist/client/types.d.ts.map +1 -0
  317. package/dist/client/types.js +2 -0
  318. package/dist/client/types.js.map +1 -0
  319. package/dist/client/versions-types.d.ts +47 -0
  320. package/dist/client/versions-types.d.ts.map +1 -0
  321. package/dist/client/versions-types.js +9 -0
  322. package/dist/client/versions-types.js.map +1 -0
  323. package/dist/client/versions.d.ts +14 -0
  324. package/dist/client/versions.d.ts.map +1 -0
  325. package/dist/client/versions.js +14 -0
  326. package/dist/client/versions.js.map +1 -0
  327. package/dist/client/workflows-types.d.ts +56 -0
  328. package/dist/client/workflows-types.d.ts.map +1 -0
  329. package/dist/client/workflows-types.js +6 -0
  330. package/dist/client/workflows-types.js.map +1 -0
  331. package/dist/client/workflows.d.ts +15 -0
  332. package/dist/client/workflows.d.ts.map +1 -0
  333. package/dist/client/workflows.js +50 -0
  334. package/dist/client/workflows.js.map +1 -0
  335. package/dist/config/api-path.d.ts +17 -0
  336. package/dist/config/api-path.d.ts.map +1 -0
  337. package/dist/config/api-path.js +57 -0
  338. package/dist/config/api-path.js.map +1 -0
  339. package/dist/config/index.d.ts +10 -0
  340. package/dist/config/index.d.ts.map +1 -0
  341. package/dist/config/index.js +9 -0
  342. package/dist/config/index.js.map +1 -0
  343. package/dist/config/load.d.ts +12 -0
  344. package/dist/config/load.d.ts.map +1 -0
  345. package/dist/config/load.js +152 -0
  346. package/dist/config/load.js.map +1 -0
  347. package/dist/config/paths.d.ts +5 -0
  348. package/dist/config/paths.d.ts.map +1 -0
  349. package/dist/config/paths.js +11 -0
  350. package/dist/config/paths.js.map +1 -0
  351. package/dist/config/platform-request-url.d.ts +35 -0
  352. package/dist/config/platform-request-url.d.ts.map +1 -0
  353. package/dist/config/platform-request-url.js +100 -0
  354. package/dist/config/platform-request-url.js.map +1 -0
  355. package/dist/config/resolve-sdk-urls.d.ts +39 -0
  356. package/dist/config/resolve-sdk-urls.d.ts.map +1 -0
  357. package/dist/config/resolve-sdk-urls.js +130 -0
  358. package/dist/config/resolve-sdk-urls.js.map +1 -0
  359. package/dist/config/save.d.ts +7 -0
  360. package/dist/config/save.d.ts.map +1 -0
  361. package/dist/config/save.js +26 -0
  362. package/dist/config/save.js.map +1 -0
  363. package/dist/config/streams-partial.d.ts +9 -0
  364. package/dist/config/streams-partial.d.ts.map +1 -0
  365. package/dist/config/streams-partial.js +30 -0
  366. package/dist/config/streams-partial.js.map +1 -0
  367. package/dist/config/types.d.ts +37 -0
  368. package/dist/config/types.d.ts.map +1 -0
  369. package/dist/config/types.js +11 -0
  370. package/dist/config/types.js.map +1 -0
  371. package/dist/errors/auth.d.ts +10 -0
  372. package/dist/errors/auth.d.ts.map +1 -0
  373. package/dist/errors/auth.js +26 -0
  374. package/dist/errors/auth.js.map +1 -0
  375. package/dist/errors/base.d.ts +15 -0
  376. package/dist/errors/base.d.ts.map +1 -0
  377. package/dist/errors/base.js +32 -0
  378. package/dist/errors/base.js.map +1 -0
  379. package/dist/errors/index.d.ts +15 -0
  380. package/dist/errors/index.d.ts.map +1 -0
  381. package/dist/errors/index.js +14 -0
  382. package/dist/errors/index.js.map +1 -0
  383. package/dist/errors/parse-http.d.ts +13 -0
  384. package/dist/errors/parse-http.d.ts.map +1 -0
  385. package/dist/errors/parse-http.js +68 -0
  386. package/dist/errors/parse-http.js.map +1 -0
  387. package/dist/errors/rate-limit.d.ts +17 -0
  388. package/dist/errors/rate-limit.d.ts.map +1 -0
  389. package/dist/errors/rate-limit.js +23 -0
  390. package/dist/errors/rate-limit.js.map +1 -0
  391. package/dist/errors/resource.d.ts +18 -0
  392. package/dist/errors/resource.d.ts.map +1 -0
  393. package/dist/errors/resource.js +32 -0
  394. package/dist/errors/resource.js.map +1 -0
  395. package/dist/errors/streaming.d.ts +19 -0
  396. package/dist/errors/streaming.d.ts.map +1 -0
  397. package/dist/errors/streaming.js +32 -0
  398. package/dist/errors/streaming.js.map +1 -0
  399. package/dist/errors/types.d.ts +44 -0
  400. package/dist/errors/types.d.ts.map +1 -0
  401. package/dist/errors/types.js +2 -0
  402. package/dist/errors/types.js.map +1 -0
  403. package/dist/errors/validation.d.ts +23 -0
  404. package/dist/errors/validation.d.ts.map +1 -0
  405. package/dist/errors/validation.js +37 -0
  406. package/dist/errors/validation.js.map +1 -0
  407. package/dist/http/client.d.ts +51 -0
  408. package/dist/http/client.d.ts.map +1 -0
  409. package/dist/http/client.js +164 -0
  410. package/dist/http/client.js.map +1 -0
  411. package/dist/http/index.d.ts +5 -0
  412. package/dist/http/index.d.ts.map +1 -0
  413. package/dist/http/index.js +3 -0
  414. package/dist/http/index.js.map +1 -0
  415. package/dist/http/signer.d.ts +15 -0
  416. package/dist/http/signer.d.ts.map +1 -0
  417. package/dist/http/signer.js +55 -0
  418. package/dist/http/signer.js.map +1 -0
  419. package/dist/index.d.ts +13 -0
  420. package/dist/index.d.ts.map +1 -0
  421. package/dist/index.js +13 -0
  422. package/dist/index.js.map +1 -0
  423. package/dist/rstreams/configuration.d.ts +11 -0
  424. package/dist/rstreams/configuration.d.ts.map +1 -0
  425. package/dist/rstreams/configuration.js +43 -0
  426. package/dist/rstreams/configuration.js.map +1 -0
  427. package/dist/rstreams/event-bridge.d.ts +16 -0
  428. package/dist/rstreams/event-bridge.d.ts.map +1 -0
  429. package/dist/rstreams/event-bridge.js +45 -0
  430. package/dist/rstreams/event-bridge.js.map +1 -0
  431. package/dist/rstreams/leo-runtime.d.ts +9 -0
  432. package/dist/rstreams/leo-runtime.d.ts.map +1 -0
  433. package/dist/rstreams/leo-runtime.js +14 -0
  434. package/dist/rstreams/leo-runtime.js.map +1 -0
  435. package/dist/streaming/index.d.ts +2 -0
  436. package/dist/streaming/index.d.ts.map +1 -0
  437. package/dist/streaming/index.js +2 -0
  438. package/dist/streaming/index.js.map +1 -0
  439. package/dist/streaming/transformer.d.ts +15 -0
  440. package/dist/streaming/transformer.d.ts.map +1 -0
  441. package/dist/streaming/transformer.js +25 -0
  442. package/dist/streaming/transformer.js.map +1 -0
  443. package/dist/types/generated-api.d.ts +146 -0
  444. package/dist/types/generated-api.d.ts.map +1 -0
  445. package/dist/types/generated-api.js +7 -0
  446. package/dist/types/generated-api.js.map +1 -0
  447. package/dist/types/index.d.ts +5 -0
  448. package/dist/types/index.d.ts.map +1 -0
  449. package/dist/types/index.js +5 -0
  450. package/dist/types/index.js.map +1 -0
  451. package/docs/event-replay-cookbook.md +152 -0
  452. package/docs/getting-started.md +332 -0
  453. package/docs/quick-reference.md +256 -0
  454. package/docs/sdk-bus-rbac-threat-model.md +46 -0
  455. package/docs/sdk-control-vs-data-plane.md +32 -0
  456. package/docs/sdk-ingestion-export-guide.md +480 -0
  457. package/docs/sdk-mcp-mapping.md +20 -0
  458. package/docs/sdk-pairing.md +42 -0
  459. package/docs/sdk-rest-vs-bus.md +131 -0
  460. package/package.json +85 -0
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Data asset (backend: data product) API types. All snake_case per backend conventions.
3
+ */
4
+ /** Pagination metadata from list APIs. */
5
+ export interface PaginationMeta {
6
+ page: number;
7
+ page_size: number;
8
+ total: number;
9
+ total_pages: number;
10
+ has_next: boolean;
11
+ has_prev: boolean;
12
+ }
13
+ /** Filters for data_assets.list(). Maps to GET /dataproducts query params. */
14
+ export interface DataAssetsListFilters {
15
+ page?: number;
16
+ page_size?: number;
17
+ domain_id?: string;
18
+ status?: 'draft' | 'active' | 'deprecated' | 'archived';
19
+ classification?: string;
20
+ owner_user_id?: string;
21
+ search?: string;
22
+ tags?: string[];
23
+ sort_by?: 'name' | 'created_at' | 'updated_at';
24
+ sort_order?: 'asc' | 'desc';
25
+ }
26
+ /** Single data asset (backend: data product). Simplified for SDK; full shape matches API. */
27
+ export interface DataAsset {
28
+ data_product_id: string;
29
+ organization_id: string;
30
+ domain_id: string;
31
+ project_id?: string;
32
+ name: string;
33
+ description: string;
34
+ status: string;
35
+ owner: {
36
+ user_id: string;
37
+ team?: string;
38
+ };
39
+ schema?: Record<string, unknown>;
40
+ ingestion?: Record<string, unknown>;
41
+ storage?: Record<string, unknown>;
42
+ consumption?: Record<string, unknown>;
43
+ governance?: Record<string, unknown>;
44
+ quality?: Record<string, unknown>;
45
+ lineage?: Record<string, unknown>;
46
+ metadata?: Record<string, unknown>;
47
+ created_at: string;
48
+ updated_at: string;
49
+ deleted_at?: string | null;
50
+ created_by?: string;
51
+ updated_by?: string;
52
+ [key: string]: unknown;
53
+ }
54
+ /** Response from data_assets.get() — API returns { success: true, data: DataProduct }. */
55
+ export interface DataAssetGetResponse {
56
+ success: true;
57
+ data: DataAsset;
58
+ }
59
+ /** Response from data_assets.list() — API returns { success: true, data: { items, pagination } }. */
60
+ export interface DataAssetsListResponse {
61
+ success: true;
62
+ data: {
63
+ items: DataAsset[];
64
+ pagination: PaginationMeta;
65
+ };
66
+ }
67
+ /** Options for data_assets.get() — optional query params. */
68
+ export interface DataAssetGetOptions {
69
+ include_schema?: boolean;
70
+ include_quality?: boolean;
71
+ include_lineage?: boolean;
72
+ include_contracts?: boolean;
73
+ }
74
+ /** Glossary term value (definition and optional SKOS-style relations). */
75
+ export interface GlossaryTermValue {
76
+ definition: string;
77
+ alt_labels?: string[];
78
+ broader?: string[];
79
+ narrower?: string[];
80
+ related?: string[];
81
+ }
82
+ /** Lexicon response from data_assets.get_lexicon(id). */
83
+ export interface DataAssetLexicon {
84
+ glossary_terms: Record<string, GlossaryTermValue>;
85
+ field_glossary_map?: Record<string, string[]>;
86
+ }
87
+ /** Search result item (catalog/search API). */
88
+ export interface SearchResultItem {
89
+ id: string;
90
+ type: 'data_product' | 'project' | 'domain';
91
+ name?: string;
92
+ description?: string;
93
+ [key: string]: unknown;
94
+ }
95
+ /** Response from data_assets.search() — catalog search API. */
96
+ export interface DataAssetsSearchResponse {
97
+ success?: boolean;
98
+ results: SearchResultItem[];
99
+ totalCount: number;
100
+ facets?: Record<string, unknown>;
101
+ }
102
+ /** Options for data_assets.stream() — live read from queue. */
103
+ export interface DataAssetStreamOptions {
104
+ from?: string;
105
+ batch_size?: number;
106
+ checkpoint?: string;
107
+ }
108
+ /** Options for data_assets.replay() — time-travel read. */
109
+ export interface DataAssetReplayOptions {
110
+ from_eid?: string;
111
+ to_eid?: string;
112
+ from_timestamp?: string;
113
+ to_timestamp?: string;
114
+ from_beginning?: boolean;
115
+ from_latest?: boolean;
116
+ checkpoint_id?: string;
117
+ auto_checkpoint?: boolean;
118
+ limit?: number;
119
+ }
120
+ /** Single event from stream/replay. */
121
+ export interface StreamEvent {
122
+ event_id?: string;
123
+ payload?: unknown;
124
+ timestamp?: string;
125
+ [key: string]: unknown;
126
+ }
127
+ /** Result of data_assets.query(id, sql). Backend: POST /dataproducts/query or analytics query. */
128
+ export interface DataAssetQueryResult {
129
+ items: Record<string, unknown>[];
130
+ metadata: {
131
+ data_product_id: string;
132
+ data_product_name?: string;
133
+ total_rows?: number;
134
+ returned_rows?: number;
135
+ limit?: number;
136
+ offset?: number;
137
+ query_time_ms?: number;
138
+ };
139
+ }
140
+ /** Single table info from data_assets.list_tables(id). */
141
+ export interface DataAssetTableInfo {
142
+ name: string;
143
+ schema?: string;
144
+ [key: string]: unknown;
145
+ }
146
+ /** Result of data_assets.list_tables(id). Backend: GET /dataproducts/:id/tables. */
147
+ export interface DataAssetListTablesResult {
148
+ items: DataAssetTableInfo[];
149
+ }
150
+ //# sourceMappingURL=data-assets-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-assets-types.d.ts","sourceRoot":"","sources":["../../src/client/data-assets-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Data asset (backend: data product) API types. All snake_case per backend conventions.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=data-assets-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-assets-types.js","sourceRoot":"","sources":["../../src/client/data-assets-types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Data assets API (backend: data products). get, list, search, get_queue_info, get_reader_checkpoint.
3
+ * Customer-facing surface: data_assets.
4
+ */
5
+ import type { LoxtepHttpClient } from '../http/client.js';
6
+ import type { DataAsset, DataAssetsListFilters, DataAssetGetOptions, DataAssetsListResponse, DataAssetsSearchResponse, DataAssetStreamOptions, DataAssetReplayOptions, StreamEvent, DataAssetQueryResult, DataAssetListTablesResult, DataAssetLexicon } from './data-assets-types.js';
7
+ import type { QueueMetadata, ReaderCheckpoint } from './queue-types.js';
8
+ export interface DataAssetsApiDeps {
9
+ get_queue_metadata: (queue_name: string) => Promise<QueueMetadata>;
10
+ get_reader_checkpoint: (queue_name: string, bot_id: string) => Promise<ReaderCheckpoint>;
11
+ }
12
+ /**
13
+ * Create the data_assets API surface (get, list, search, query, list_tables, get_queue_info, get_reader_checkpoint, stream, replay).
14
+ */
15
+ export declare function createDataAssetsApi(http: LoxtepHttpClient, deps?: DataAssetsApiDeps): {
16
+ get: (id: string, options?: DataAssetGetOptions) => Promise<DataAsset>;
17
+ get_lexicon: (id: string) => Promise<DataAssetLexicon>;
18
+ list: (filters?: DataAssetsListFilters) => Promise<DataAssetsListResponse['data']>;
19
+ search: (query: string, filters?: {
20
+ type?: string;
21
+ limit?: number;
22
+ offset?: number;
23
+ }) => Promise<DataAssetsSearchResponse>;
24
+ query: (id: string, sql: string) => Promise<DataAssetQueryResult>;
25
+ list_tables: (id: string) => Promise<DataAssetListTablesResult>;
26
+ get_queue_info: (id: string) => Promise<QueueMetadata>;
27
+ get_reader_checkpoint: (id: string, bot_id: string) => Promise<ReaderCheckpoint>;
28
+ stream: (id: string, options?: DataAssetStreamOptions) => AsyncIterable<StreamEvent>;
29
+ replay: (id: string, options?: DataAssetReplayOptions) => AsyncIterable<StreamEvent>;
30
+ };
31
+ //# sourceMappingURL=data-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-assets.d.ts","sourceRoot":"","sources":["../../src/client/data-assets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAgBxE,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACnE,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,iBAAiB,GACvB;IACD,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACvE,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KACzD,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClE,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAChE,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjF,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC;IACrF,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC;CACtF,CAqLA"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Data assets API (backend: data products). get, list, search, get_queue_info, get_reader_checkpoint.
3
+ * Customer-facing surface: data_assets.
4
+ */
5
+ function buildQueryString(params) {
6
+ const search = new URLSearchParams();
7
+ for (const [k, v] of Object.entries(params)) {
8
+ if (v === undefined || v === null)
9
+ continue;
10
+ if (Array.isArray(v)) {
11
+ search.set(k, v.join(','));
12
+ }
13
+ else {
14
+ search.set(k, String(v));
15
+ }
16
+ }
17
+ const qs = search.toString();
18
+ return qs ? `?${qs}` : '';
19
+ }
20
+ /**
21
+ * Create the data_assets API surface (get, list, search, query, list_tables, get_queue_info, get_reader_checkpoint, stream, replay).
22
+ */
23
+ export function createDataAssetsApi(http, deps) {
24
+ return {
25
+ async get(id, options) {
26
+ const qs = options
27
+ ? buildQueryString({
28
+ include_schema: options.include_schema,
29
+ include_quality: options.include_quality,
30
+ include_lineage: options.include_lineage,
31
+ include_contracts: options.include_contracts,
32
+ })
33
+ : '';
34
+ const res = await http.get(`/dataproducts/${encodeURIComponent(id)}${qs}`);
35
+ return res.data;
36
+ },
37
+ /**
38
+ * Get the glossary/lexicon (definitions) for a data asset.
39
+ * Returns glossary_terms (term -> { definition, alt_labels?, broader?, narrower?, related? }) and field_glossary_map.
40
+ */
41
+ async get_lexicon(id) {
42
+ const asset = await this.get(id);
43
+ const glossary_terms = asset
44
+ .glossary_terms ??
45
+ asset.metadata?.business_glossary ??
46
+ {};
47
+ const field_glossary_map = asset.metadata?.field_glossary_map ?? undefined;
48
+ return { glossary_terms, field_glossary_map };
49
+ },
50
+ async list(filters) {
51
+ const params = {
52
+ page: filters?.page ?? 1,
53
+ page_size: filters?.page_size ?? 100,
54
+ sort_by: filters?.sort_by ?? 'created_at',
55
+ sort_order: filters?.sort_order ?? 'desc',
56
+ };
57
+ if (filters?.domain_id)
58
+ params.domain_id = filters.domain_id;
59
+ if (filters?.status)
60
+ params.status = filters.status;
61
+ if (filters?.classification)
62
+ params.classification = filters.classification;
63
+ if (filters?.owner_user_id)
64
+ params.owner_user_id = filters.owner_user_id;
65
+ if (filters?.search)
66
+ params.search = filters.search;
67
+ if (filters?.tags?.length)
68
+ params.tags = filters.tags.join(',');
69
+ const qs = buildQueryString(params);
70
+ const res = await http.get(`/dataproducts${qs}`);
71
+ return res.data;
72
+ },
73
+ async search(query, filters) {
74
+ const params = {
75
+ q: query,
76
+ type: filters?.type ?? 'data_product',
77
+ limit: filters?.limit ?? 20,
78
+ offset: filters?.offset ?? 0,
79
+ };
80
+ const qs = buildQueryString(params);
81
+ return http.get(`/search${qs}`);
82
+ },
83
+ async query(id, sql) {
84
+ const res = await http.post('/dataproducts/query', { data_product_id: id, sql });
85
+ const payload = res.data;
86
+ if (!payload) {
87
+ return { items: [], metadata: { data_product_id: id } };
88
+ }
89
+ return payload;
90
+ },
91
+ async list_tables(id) {
92
+ const res = await http.get(`/dataproducts/${encodeURIComponent(id)}/tables`);
93
+ const payload = res.data;
94
+ if (!payload) {
95
+ return { items: [] };
96
+ }
97
+ return payload;
98
+ },
99
+ async get_queue_info(id) {
100
+ if (!deps) {
101
+ throw new Error('data_assets.get_queue_info requires queues API; use LoxtepClient which wires it');
102
+ }
103
+ const asset = await this.get(id);
104
+ const queue_name = asset.storage?.rstreams_queue;
105
+ if (!queue_name) {
106
+ return {
107
+ queue_name: '',
108
+ checkpoints: [],
109
+ readers: [],
110
+ writers: [],
111
+ stats: {},
112
+ };
113
+ }
114
+ return deps.get_queue_metadata(queue_name);
115
+ },
116
+ async get_reader_checkpoint(id, bot_id) {
117
+ if (!deps) {
118
+ throw new Error('data_assets.get_reader_checkpoint requires queues API; use LoxtepClient which wires it');
119
+ }
120
+ const asset = await this.get(id);
121
+ const queue_name = asset.storage?.rstreams_queue;
122
+ if (!queue_name) {
123
+ throw new Error(`Data asset ${id} has no rstreams_queue (storage not configured)`);
124
+ }
125
+ return deps.get_reader_checkpoint(queue_name, bot_id);
126
+ },
127
+ async *stream(id, options) {
128
+ const asset = await this.get(id);
129
+ const queue_name = asset.storage?.rstreams_queue;
130
+ if (!queue_name) {
131
+ throw new Error(`Data asset ${id} has no rstreams_queue (storage not configured)`);
132
+ }
133
+ const batch_size = options?.batch_size ?? 100;
134
+ let start = options?.from ?? options?.checkpoint ?? undefined;
135
+ const path = `/observe/trace/${encodeURIComponent(queue_name)}/events`;
136
+ while (true) {
137
+ const qs = buildQueryString({ start, limit: batch_size });
138
+ const res = await http.get(`${path}${qs}`);
139
+ const payload = res.data ?? res;
140
+ const events = payload.events ??
141
+ res.events ??
142
+ [];
143
+ for (const event of events) {
144
+ yield event;
145
+ }
146
+ if (events.length < batch_size)
147
+ break;
148
+ const last = events[events.length - 1];
149
+ start = last.event_id ?? last.id;
150
+ if (!start)
151
+ break;
152
+ }
153
+ },
154
+ async *replay(id, options) {
155
+ const asset = await this.get(id);
156
+ const queue_name = asset.storage?.rstreams_queue;
157
+ if (!queue_name) {
158
+ throw new Error(`Data asset ${id} has no rstreams_queue (storage not configured)`);
159
+ }
160
+ const limit = options?.limit ?? 1000;
161
+ const start = options?.from_beginning
162
+ ? '0'
163
+ : (options?.from_eid ?? options?.from_timestamp ?? options?.checkpoint_id ?? undefined);
164
+ const end = options?.to_eid ?? options?.to_timestamp ?? undefined;
165
+ const path = `/observe/trace/${encodeURIComponent(queue_name)}/events`;
166
+ const qs = buildQueryString({
167
+ start: start ?? undefined,
168
+ end: end ?? undefined,
169
+ limit,
170
+ });
171
+ const res = await http.get(`${path}${qs}`);
172
+ const payload = res.data ?? res;
173
+ const events = payload.events ??
174
+ res.events ??
175
+ [];
176
+ for (const event of events) {
177
+ yield event;
178
+ }
179
+ },
180
+ };
181
+ }
182
+ //# sourceMappingURL=data-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-assets.js","sourceRoot":"","sources":["../../src/client/data-assets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,SAAS,gBAAgB,CAAC,MAA6D;IACrF,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAsB,EACtB,IAAwB;IAgBxB,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,OAA6B;YACjD,MAAM,EAAE,GAAG,OAAO;gBAChB,CAAC,CAAC,gBAAgB,CAAC;oBACf,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;iBAC7C,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAC/C,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,WAAW,CAAC,EAAU;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,cAAc,GACjB,KAA6E;iBAC3E,cAAc;gBAChB,KAAK,CAAC,QAAQ,EAAE,iBAAwD;gBACzE,EAAE,CAAC;YACL,MAAM,kBAAkB,GACrB,KAAK,CAAC,QAAQ,EAAE,kBAA6D,IAAI,SAAS,CAAC;YAC9F,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAA+B;YACxC,MAAM,MAAM,GAA0D;gBACpE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC;gBACxB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG;gBACpC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,YAAY;gBACzC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,MAAM;aAC1C,CAAC;YACF,IAAI,OAAO,EAAE,SAAS;gBAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAC7D,IAAI,OAAO,EAAE,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACpD,IAAI,OAAO,EAAE,cAAc;gBAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAC5E,IAAI,OAAO,EAAE,aAAa;gBAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YACzE,IAAI,OAAO,EAAE,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACpD,IAAI,OAAO,EAAE,IAAI,EAAE,MAAM;gBAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAyB,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACzE,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,MAAM,CACV,KAAa,EACb,OAA4D;YAE5D,MAAM,MAAM,GAAgD;gBAC1D,CAAC,EAAE,KAAK;gBACR,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,cAAc;gBACrC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;aAC7B,CAAC;YACF,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC,GAAG,CAA2B,UAAU,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,GAAW;YACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CACzB,qBAAqB,EACrB,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,EAAE,CAC7B,CAAC;YACF,MAAM,OAAO,GAAI,GAAuC,CAAC,IAAI,CAAC;YAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,EAAU;YAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,SAAS,CACjD,CAAC;YACF,MAAM,OAAO,GAAI,GAA4C,CAAC,IAAI,CAAC;YACnE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACvB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,EAAU;YAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,UAAU,GAAI,KAAK,CAAC,OAAmD,EAAE,cAAc,CAAC;YAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,UAAU,EAAE,EAAE;oBACd,WAAW,EAAE,EAAE;oBACf,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,EAAE;iBACV,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,MAAc;YACpD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,UAAU,GAAI,KAAK,CAAC,OAAmD,EAAE,cAAc,CAAC;YAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,iDAAiD,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,CAAC,MAAM,CAAC,EAAU,EAAE,OAAgC;YACxD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,UAAU,GAAI,KAAK,CAAC,OAAmD,EAAE,cAAc,CAAC;YAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,iDAAiD,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;YAC9C,IAAI,KAAK,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,UAAU,IAAI,SAAS,CAAC;YAC9D,MAAM,IAAI,GAAG,kBAAkB,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC;YACvE,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,GAAG,IAAI,GAAG,EAAE,EAAE,CACf,CAAC;gBACF,MAAM,OAAO,GAAI,GAA6C,CAAC,IAAI,IAAI,GAAG,CAAC;gBAC3E,MAAM,MAAM,GACT,OAAsC,CAAC,MAAM;oBAC7C,GAAkC,CAAC,MAAM;oBAC1C,EAAE,CAAC;gBACL,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU;oBAAE,MAAM;gBACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvC,KAAK,GAAI,IAAoB,CAAC,QAAQ,IAAM,IAAgC,CAAC,EAAa,CAAC;gBAC3F,IAAI,CAAC,KAAK;oBAAE,MAAM;YACpB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,CAAC,MAAM,CAAC,EAAU,EAAE,OAAgC;YACxD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,UAAU,GAAI,KAAK,CAAC,OAAmD,EAAE,cAAc,CAAC;YAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,iDAAiD,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,EAAE,cAAc;gBACnC,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,aAAa,IAAI,SAAS,CAAC,CAAC;YAC1F,MAAM,GAAG,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC;YAClE,MAAM,IAAI,GAAG,kBAAkB,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC;YACvE,MAAM,EAAE,GAAG,gBAAgB,CAAC;gBAC1B,KAAK,EAAE,KAAK,IAAI,SAAS;gBACzB,GAAG,EAAE,GAAG,IAAI,SAAS;gBACrB,KAAK;aACN,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,GAAG,IAAI,GAAG,EAAE,EAAE,CACf,CAAC;YACF,MAAM,OAAO,GAAI,GAA6C,CAAC,IAAI,IAAI,GAAG,CAAC;YAC3E,MAAM,MAAM,GACT,OAAsC,CAAC,MAAM;gBAC7C,GAAkC,CAAC,MAAM;gBAC1C,EAAE,CAAC;YACL,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * DataProductResolver — resolves a data product name or UUID into fully-qualified
3
+ * runtime configuration (queue, bot_id, stream bus resources).
4
+ *
5
+ * Resolution chain:
6
+ * 1. Resolve data product (by UUID direct lookup or name search)
7
+ * 2. Extract runtime bindings (deployment_bindings)
8
+ * 3. Resolve stream config from instance record
9
+ *
10
+ * Results are cached in-memory keyed by both name and ID.
11
+ */
12
+ import type { LoxtepHttpClient } from '../http/client.js';
13
+ import { LoxtepError } from '../errors/base.js';
14
+ export interface ResolvedDataProduct {
15
+ data_product_id: string;
16
+ name: string;
17
+ queue_name: string;
18
+ bot_id: string;
19
+ instance_id: string;
20
+ workflow_id: string;
21
+ deployment_id: string;
22
+ }
23
+ export interface ResolvedStreamConfig {
24
+ Region: string;
25
+ LeoEvent: string;
26
+ LeoStream: string;
27
+ LeoCron: string;
28
+ LeoS3: string;
29
+ LeoKinesisStream: string;
30
+ LeoFirehoseStream: string;
31
+ LeoSettings: string;
32
+ }
33
+ export interface FullResolution {
34
+ dataProduct: ResolvedDataProduct;
35
+ streamConfig: ResolvedStreamConfig;
36
+ }
37
+ /** Thrown when multiple data products match a name search (ambiguous). */
38
+ export declare class AmbiguityError extends LoxtepError {
39
+ readonly matches: Array<{
40
+ data_product_id: string;
41
+ instance_id?: string;
42
+ }>;
43
+ constructor(message: string, matches: Array<{
44
+ data_product_id: string;
45
+ instance_id?: string;
46
+ }>, options?: {
47
+ details?: Record<string, unknown>;
48
+ request_id?: string;
49
+ });
50
+ }
51
+ /**
52
+ * Resolves data product identifiers (name or UUID) into full runtime configuration
53
+ * including queue name, bot_id, and stream bus resources.
54
+ */
55
+ export declare class DataProductResolver {
56
+ private readonly http;
57
+ private readonly clientInstanceId?;
58
+ private cache;
59
+ constructor(http: LoxtepHttpClient, clientInstanceId?: string | undefined);
60
+ /**
61
+ * Full resolution chain: data product → runtime bindings → stream config.
62
+ * Results are cached by both name and ID for subsequent calls.
63
+ */
64
+ resolve(idOrName: string): Promise<FullResolution>;
65
+ /**
66
+ * Invalidate cached resolution. If no argument is provided, clears all cached entries.
67
+ * If a specific name or ID is provided, removes only that entry.
68
+ */
69
+ invalidate(idOrName?: string): void;
70
+ /**
71
+ * Return the first cached stream config (if any resolution has been performed).
72
+ * Used by LoxtepClient.resolve_stream_sdk() to reuse stream config from a prior
73
+ * data product resolution without making additional API calls.
74
+ */
75
+ getCachedStreamConfig(): ResolvedStreamConfig | undefined;
76
+ /**
77
+ * Resolve a data product by UUID (direct GET) or by name (search + exact match).
78
+ * Throws NotFoundError if no match, AmbiguityError if multiple matches.
79
+ */
80
+ private resolveDataProduct;
81
+ /**
82
+ * Extract and validate runtime bindings from a data product record.
83
+ * Throws StreamingError if the data product has not been deployed.
84
+ */
85
+ private extractRuntimeBindings;
86
+ /**
87
+ * Resolve stream bus configuration from the instance record.
88
+ * Calls GET /instances/{id}/stream-config.
89
+ */
90
+ private resolveStreamConfig;
91
+ }
92
+ //# sourceMappingURL=data-product-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-product-resolver.d.ts","sourceRoot":"","sources":["../../src/client/data-product-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,mBAAmB,CAAC;IACjC,YAAY,EAAE,oBAAoB,CAAC;CACpC;AAID,0EAA0E;AAC1E,qBAAa,cAAe,SAAQ,WAAW;IAC7C,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAGzE,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,KAAK,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACjE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAYvE;AAQD;;;GAGG;AACH,qBAAa,mBAAmB;IAI5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAJpC,OAAO,CAAC,KAAK,CAAqC;gBAG/B,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,MAAM,YAAA;IAG5C;;;OAGG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqBxD;;;OAGG;IACH,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAQnC;;;;OAIG;IACH,qBAAqB,IAAI,oBAAoB,GAAG,SAAS;IAOzD;;;OAGG;YACW,kBAAkB;IAyDhC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;;OAGG;YACW,mBAAmB;CAMlC"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * DataProductResolver — resolves a data product name or UUID into fully-qualified
3
+ * runtime configuration (queue, bot_id, stream bus resources).
4
+ *
5
+ * Resolution chain:
6
+ * 1. Resolve data product (by UUID direct lookup or name search)
7
+ * 2. Extract runtime bindings (deployment_bindings)
8
+ * 3. Resolve stream config from instance record
9
+ *
10
+ * Results are cached in-memory keyed by both name and ID.
11
+ */
12
+ import { NotFoundError } from '../errors/resource.js';
13
+ import { StreamingError } from '../errors/streaming.js';
14
+ import { LoxtepError } from '../errors/base.js';
15
+ // ─── Errors ──────────────────────────────────────────────────────────────────
16
+ /** Thrown when multiple data products match a name search (ambiguous). */
17
+ export class AmbiguityError extends LoxtepError {
18
+ matches;
19
+ constructor(message, matches, options) {
20
+ super(message, {
21
+ code: 'AMBIGUITY_ERROR',
22
+ status_code: 409,
23
+ details: options?.details,
24
+ request_id: options?.request_id,
25
+ });
26
+ this.name = 'AmbiguityError';
27
+ this.matches = matches;
28
+ Object.setPrototypeOf(this, AmbiguityError.prototype);
29
+ }
30
+ }
31
+ // ─── UUID detection ──────────────────────────────────────────────────────────
32
+ const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
33
+ // ─── Resolver ────────────────────────────────────────────────────────────────
34
+ /**
35
+ * Resolves data product identifiers (name or UUID) into full runtime configuration
36
+ * including queue name, bot_id, and stream bus resources.
37
+ */
38
+ export class DataProductResolver {
39
+ http;
40
+ clientInstanceId;
41
+ cache = new Map();
42
+ constructor(http, clientInstanceId) {
43
+ this.http = http;
44
+ this.clientInstanceId = clientInstanceId;
45
+ }
46
+ /**
47
+ * Full resolution chain: data product → runtime bindings → stream config.
48
+ * Results are cached by both name and ID for subsequent calls.
49
+ */
50
+ async resolve(idOrName) {
51
+ const cacheKey = idOrName.toLowerCase();
52
+ const cached = this.cache.get(cacheKey);
53
+ if (cached)
54
+ return cached;
55
+ // Step 1: Resolve data product record with runtime bindings
56
+ const dp = await this.resolveDataProduct(idOrName);
57
+ // Step 2: Resolve stream config from instance
58
+ const streamConfig = await this.resolveStreamConfig(dp.instance_id);
59
+ const result = { dataProduct: dp, streamConfig };
60
+ // Cache by the original key, by ID, and by name
61
+ this.cache.set(cacheKey, result);
62
+ this.cache.set(dp.data_product_id.toLowerCase(), result);
63
+ this.cache.set(dp.name.toLowerCase(), result);
64
+ return result;
65
+ }
66
+ /**
67
+ * Invalidate cached resolution. If no argument is provided, clears all cached entries.
68
+ * If a specific name or ID is provided, removes only that entry.
69
+ */
70
+ invalidate(idOrName) {
71
+ if (!idOrName) {
72
+ this.cache.clear();
73
+ return;
74
+ }
75
+ this.cache.delete(idOrName.toLowerCase());
76
+ }
77
+ /**
78
+ * Return the first cached stream config (if any resolution has been performed).
79
+ * Used by LoxtepClient.resolve_stream_sdk() to reuse stream config from a prior
80
+ * data product resolution without making additional API calls.
81
+ */
82
+ getCachedStreamConfig() {
83
+ for (const entry of this.cache.values()) {
84
+ return entry.streamConfig;
85
+ }
86
+ return undefined;
87
+ }
88
+ /**
89
+ * Resolve a data product by UUID (direct GET) or by name (search + exact match).
90
+ * Throws NotFoundError if no match, AmbiguityError if multiple matches.
91
+ */
92
+ async resolveDataProduct(idOrName) {
93
+ const isUuid = UUID_REGEX.test(idOrName);
94
+ if (isUuid) {
95
+ const res = await this.http.get(`/dataproducts/${encodeURIComponent(idOrName)}`);
96
+ return this.extractRuntimeBindings(res.data);
97
+ }
98
+ // Search by name, scoped to instance if configured
99
+ const params = new URLSearchParams({ search: idOrName });
100
+ if (this.clientInstanceId) {
101
+ params.set('instance_id', this.clientInstanceId);
102
+ }
103
+ const qs = params.toString();
104
+ const res = await this.http.get(`/dataproducts?${qs}`);
105
+ const matches = res.data.items.filter(dp => dp.name === idOrName);
106
+ if (matches.length === 0) {
107
+ throw new NotFoundError(`Data product '${idOrName}' not found. Verify the name is correct and that the workflow has been deployed.`, 'data_product', idOrName, {
108
+ details: {
109
+ searched_name: idOrName,
110
+ instance_id: this.clientInstanceId ?? null,
111
+ hint: 'Check the data product name or use the UUID directly. Ensure the workflow containing this data product has been deployed.',
112
+ },
113
+ });
114
+ }
115
+ if (matches.length > 1) {
116
+ const matchInfo = matches.map(dp => ({
117
+ data_product_id: dp.data_product_id,
118
+ instance_id: dp.deployment_bindings?.instance_id,
119
+ }));
120
+ throw new AmbiguityError(`Multiple data products match name '${idOrName}'. Specify an instance_id in the client config or use the data product UUID directly.`, matchInfo, {
121
+ details: {
122
+ searched_name: idOrName,
123
+ match_count: matches.length,
124
+ matches: matchInfo,
125
+ hint: 'Set instance_id in LoxtepClient options to scope the search, or use the data_product_id UUID.',
126
+ },
127
+ });
128
+ }
129
+ return this.extractRuntimeBindings(matches[0]);
130
+ }
131
+ /**
132
+ * Extract and validate runtime bindings from a data product record.
133
+ * Throws StreamingError if the data product has not been deployed.
134
+ */
135
+ extractRuntimeBindings(dp) {
136
+ const bindings = dp.deployment_bindings;
137
+ if (!bindings?.queue_name || !bindings?.bot_id || !bindings?.instance_id) {
138
+ throw new StreamingError(`Data product '${dp.name}' (${dp.data_product_id}) is not deployed. Deploy the workflow first.`, {
139
+ details: {
140
+ data_product_id: dp.data_product_id,
141
+ name: dp.name,
142
+ hint: "Use 'deploy_workflow' or 'deploy_project' to deploy the workflow containing this data product.",
143
+ },
144
+ });
145
+ }
146
+ return {
147
+ data_product_id: dp.data_product_id,
148
+ name: dp.name,
149
+ queue_name: bindings.queue_name,
150
+ bot_id: bindings.bot_id,
151
+ instance_id: bindings.instance_id,
152
+ workflow_id: dp.workflow_id ?? '',
153
+ deployment_id: bindings.deployment_id,
154
+ };
155
+ }
156
+ /**
157
+ * Resolve stream bus configuration from the instance record.
158
+ * Calls GET /instances/{id}/stream-config.
159
+ */
160
+ async resolveStreamConfig(instanceId) {
161
+ const res = await this.http.get(`/instances/${encodeURIComponent(instanceId)}/stream-config`);
162
+ return res.data;
163
+ }
164
+ }
165
+ //# sourceMappingURL=data-product-resolver.js.map