@finatic/client 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE +39 -0
  3. package/README.md +188 -363
  4. package/dist/index.d.ts +7335 -1579
  5. package/dist/index.js +8124 -6102
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +8067 -6079
  8. package/dist/index.mjs.map +1 -1
  9. package/package.json +69 -33
  10. package/dist/custom/FinaticConnect.d.ts +0 -19
  11. package/dist/custom/FinaticConnect.d.ts.map +0 -1
  12. package/dist/custom/FinaticConnect.js +0 -24
  13. package/dist/custom/FinaticConnect.js.map +0 -1
  14. package/dist/custom/index.d.ts +0 -8
  15. package/dist/custom/index.d.ts.map +0 -1
  16. package/dist/custom/index.js +0 -20
  17. package/dist/custom/index.js.map +0 -1
  18. package/dist/custom/utils/logger-patch.d.ts +0 -13
  19. package/dist/custom/utils/logger-patch.d.ts.map +0 -1
  20. package/dist/custom/utils/logger-patch.js +0 -72
  21. package/dist/custom/utils/logger-patch.js.map +0 -1
  22. package/dist/custom/wrappers/brokers.d.ts +0 -17
  23. package/dist/custom/wrappers/brokers.d.ts.map +0 -1
  24. package/dist/custom/wrappers/brokers.js +0 -22
  25. package/dist/custom/wrappers/brokers.js.map +0 -1
  26. package/dist/custom/wrappers/market-data.d.ts +0 -13
  27. package/dist/custom/wrappers/market-data.d.ts.map +0 -1
  28. package/dist/custom/wrappers/market-data.js +0 -19
  29. package/dist/custom/wrappers/market-data.js.map +0 -1
  30. package/dist/custom/wrappers/session.d.ts +0 -16
  31. package/dist/custom/wrappers/session.d.ts.map +0 -1
  32. package/dist/custom/wrappers/session.js +0 -21
  33. package/dist/custom/wrappers/session.js.map +0 -1
  34. package/dist/generated/FinaticConnect.d.ts +0 -282
  35. package/dist/generated/FinaticConnect.d.ts.map +0 -1
  36. package/dist/generated/FinaticConnect.js +0 -890
  37. package/dist/generated/FinaticConnect.js.map +0 -1
  38. package/dist/generated/api/brokers-api.d.ts +0 -1126
  39. package/dist/generated/api/brokers-api.d.ts.map +0 -1
  40. package/dist/generated/api/brokers-api.js +0 -1430
  41. package/dist/generated/api/brokers-api.js.map +0 -1
  42. package/dist/generated/api/market-data-api.d.ts +0 -118
  43. package/dist/generated/api/market-data-api.d.ts.map +0 -1
  44. package/dist/generated/api/market-data-api.js +0 -155
  45. package/dist/generated/api/market-data-api.js.map +0 -1
  46. package/dist/generated/api/session-api.d.ts +0 -395
  47. package/dist/generated/api/session-api.d.ts.map +0 -1
  48. package/dist/generated/api/session-api.js +0 -577
  49. package/dist/generated/api/session-api.js.map +0 -1
  50. package/dist/generated/api.d.ts +0 -14
  51. package/dist/generated/api.d.ts.map +0 -1
  52. package/dist/generated/api.js +0 -31
  53. package/dist/generated/api.js.map +0 -1
  54. package/dist/generated/base.d.ts +0 -43
  55. package/dist/generated/base.d.ts.map +0 -1
  56. package/dist/generated/base.js +0 -48
  57. package/dist/generated/base.js.map +0 -1
  58. package/dist/generated/common.d.ts +0 -29
  59. package/dist/generated/common.d.ts.map +0 -1
  60. package/dist/generated/common.js +0 -110
  61. package/dist/generated/common.js.map +0 -1
  62. package/dist/generated/config.d.ts +0 -89
  63. package/dist/generated/config.d.ts.map +0 -1
  64. package/dist/generated/config.js +0 -85
  65. package/dist/generated/config.js.map +0 -1
  66. package/dist/generated/configuration.d.ts +0 -99
  67. package/dist/generated/configuration.d.ts.map +0 -1
  68. package/dist/generated/configuration.js +0 -50
  69. package/dist/generated/configuration.js.map +0 -1
  70. package/dist/generated/models/account-status.d.ts +0 -16
  71. package/dist/generated/models/account-status.d.ts.map +0 -1
  72. package/dist/generated/models/account-status.js +0 -22
  73. package/dist/generated/models/account-status.js.map +0 -1
  74. package/dist/generated/models/account-type.d.ts +0 -19
  75. package/dist/generated/models/account-type.d.ts.map +0 -1
  76. package/dist/generated/models/account-type.js +0 -25
  77. package/dist/generated/models/account-type.js.map +0 -1
  78. package/dist/generated/models/accountnumber.d.ts +0 -14
  79. package/dist/generated/models/accountnumber.d.ts.map +0 -1
  80. package/dist/generated/models/accountnumber.js +0 -16
  81. package/dist/generated/models/accountnumber.js.map +0 -1
  82. package/dist/generated/models/accounts.d.ts +0 -34
  83. package/dist/generated/models/accounts.d.ts.map +0 -1
  84. package/dist/generated/models/accounts.js +0 -16
  85. package/dist/generated/models/accounts.js.map +0 -1
  86. package/dist/generated/models/asset-type.d.ts +0 -18
  87. package/dist/generated/models/asset-type.d.ts.map +0 -1
  88. package/dist/generated/models/asset-type.js +0 -24
  89. package/dist/generated/models/asset-type.js.map +0 -1
  90. package/dist/generated/models/balances.d.ts +0 -28
  91. package/dist/generated/models/balances.d.ts.map +0 -1
  92. package/dist/generated/models/balances.js +0 -16
  93. package/dist/generated/models/balances.js.map +0 -1
  94. package/dist/generated/models/broker-connection-request.d.ts +0 -24
  95. package/dist/generated/models/broker-connection-request.d.ts.map +0 -1
  96. package/dist/generated/models/broker-connection-request.js +0 -16
  97. package/dist/generated/models/broker-connection-request.js.map +0 -1
  98. package/dist/generated/models/broker-connection-update-request.d.ts +0 -22
  99. package/dist/generated/models/broker-connection-update-request.d.ts.map +0 -1
  100. package/dist/generated/models/broker-connection-update-request.js +0 -16
  101. package/dist/generated/models/broker-connection-update-request.js.map +0 -1
  102. package/dist/generated/models/broker-info.d.ts +0 -29
  103. package/dist/generated/models/broker-info.d.ts.map +0 -1
  104. package/dist/generated/models/broker-info.js +0 -16
  105. package/dist/generated/models/broker-info.js.map +0 -1
  106. package/dist/generated/models/broker-permissions.d.ts +0 -25
  107. package/dist/generated/models/broker-permissions.d.ts.map +0 -1
  108. package/dist/generated/models/broker-permissions.js +0 -16
  109. package/dist/generated/models/broker-permissions.js.map +0 -1
  110. package/dist/generated/models/cancel-order-api-v1-brokers-orders-order-id-delete-request.d.ts +0 -26
  111. package/dist/generated/models/cancel-order-api-v1-brokers-orders-order-id-delete-request.d.ts.map +0 -1
  112. package/dist/generated/models/cancel-order-api-v1-brokers-orders-order-id-delete-request.js +0 -16
  113. package/dist/generated/models/cancel-order-api-v1-brokers-orders-order-id-delete-request.js.map +0 -1
  114. package/dist/generated/models/day-tif.d.ts +0 -21
  115. package/dist/generated/models/day-tif.d.ts.map +0 -1
  116. package/dist/generated/models/day-tif.js +0 -21
  117. package/dist/generated/models/day-tif.js.map +0 -1
  118. package/dist/generated/models/direct-auth-request.d.ts +0 -25
  119. package/dist/generated/models/direct-auth-request.d.ts.map +0 -1
  120. package/dist/generated/models/direct-auth-request.js +0 -16
  121. package/dist/generated/models/direct-auth-request.js.map +0 -1
  122. package/dist/generated/models/disconnect-action-result.d.ts +0 -20
  123. package/dist/generated/models/disconnect-action-result.d.ts.map +0 -1
  124. package/dist/generated/models/disconnect-action-result.js +0 -16
  125. package/dist/generated/models/disconnect-action-result.js.map +0 -1
  126. package/dist/generated/models/finatic-apiwarning.d.ts +0 -24
  127. package/dist/generated/models/finatic-apiwarning.d.ts.map +0 -1
  128. package/dist/generated/models/finatic-apiwarning.js +0 -16
  129. package/dist/generated/models/finatic-apiwarning.js.map +0 -1
  130. package/dist/generated/models/finatic-error.d.ts +0 -26
  131. package/dist/generated/models/finatic-error.d.ts.map +0 -1
  132. package/dist/generated/models/finatic-error.js +0 -16
  133. package/dist/generated/models/finatic-error.js.map +0 -1
  134. package/dist/generated/models/finatic-response-disconnect-action-result.d.ts +0 -38
  135. package/dist/generated/models/finatic-response-disconnect-action-result.d.ts.map +0 -1
  136. package/dist/generated/models/finatic-response-disconnect-action-result.js +0 -16
  137. package/dist/generated/models/finatic-response-disconnect-action-result.js.map +0 -1
  138. package/dist/generated/models/finatic-response-list-accounts.d.ts +0 -38
  139. package/dist/generated/models/finatic-response-list-accounts.d.ts.map +0 -1
  140. package/dist/generated/models/finatic-response-list-accounts.js +0 -16
  141. package/dist/generated/models/finatic-response-list-accounts.js.map +0 -1
  142. package/dist/generated/models/finatic-response-list-balances.d.ts +0 -38
  143. package/dist/generated/models/finatic-response-list-balances.d.ts.map +0 -1
  144. package/dist/generated/models/finatic-response-list-balances.js +0 -16
  145. package/dist/generated/models/finatic-response-list-balances.js.map +0 -1
  146. package/dist/generated/models/finatic-response-list-broker-info.d.ts +0 -38
  147. package/dist/generated/models/finatic-response-list-broker-info.d.ts.map +0 -1
  148. package/dist/generated/models/finatic-response-list-broker-info.js +0 -16
  149. package/dist/generated/models/finatic-response-list-broker-info.js.map +0 -1
  150. package/dist/generated/models/finatic-response-list-dict.d.ts +0 -41
  151. package/dist/generated/models/finatic-response-list-dict.d.ts.map +0 -1
  152. package/dist/generated/models/finatic-response-list-dict.js +0 -16
  153. package/dist/generated/models/finatic-response-list-dict.js.map +0 -1
  154. package/dist/generated/models/finatic-response-list-futures-historical-row.d.ts +0 -38
  155. package/dist/generated/models/finatic-response-list-futures-historical-row.d.ts.map +0 -1
  156. package/dist/generated/models/finatic-response-list-futures-historical-row.js +0 -16
  157. package/dist/generated/models/finatic-response-list-futures-historical-row.js.map +0 -1
  158. package/dist/generated/models/finatic-response-list-order-event-response.d.ts +0 -38
  159. package/dist/generated/models/finatic-response-list-order-event-response.d.ts.map +0 -1
  160. package/dist/generated/models/finatic-response-list-order-event-response.js +0 -16
  161. package/dist/generated/models/finatic-response-list-order-event-response.js.map +0 -1
  162. package/dist/generated/models/finatic-response-list-order-fill-response.d.ts +0 -38
  163. package/dist/generated/models/finatic-response-list-order-fill-response.d.ts.map +0 -1
  164. package/dist/generated/models/finatic-response-list-order-fill-response.js +0 -16
  165. package/dist/generated/models/finatic-response-list-order-fill-response.js.map +0 -1
  166. package/dist/generated/models/finatic-response-list-order-group-response.d.ts +0 -38
  167. package/dist/generated/models/finatic-response-list-order-group-response.d.ts.map +0 -1
  168. package/dist/generated/models/finatic-response-list-order-group-response.js +0 -16
  169. package/dist/generated/models/finatic-response-list-order-group-response.js.map +0 -1
  170. package/dist/generated/models/finatic-response-list-order-response.d.ts +0 -38
  171. package/dist/generated/models/finatic-response-list-order-response.d.ts.map +0 -1
  172. package/dist/generated/models/finatic-response-list-order-response.js +0 -16
  173. package/dist/generated/models/finatic-response-list-order-response.js.map +0 -1
  174. package/dist/generated/models/finatic-response-list-position-lot-fill-response.d.ts +0 -38
  175. package/dist/generated/models/finatic-response-list-position-lot-fill-response.d.ts.map +0 -1
  176. package/dist/generated/models/finatic-response-list-position-lot-fill-response.js +0 -16
  177. package/dist/generated/models/finatic-response-list-position-lot-fill-response.js.map +0 -1
  178. package/dist/generated/models/finatic-response-list-position-lot-response.d.ts +0 -38
  179. package/dist/generated/models/finatic-response-list-position-lot-response.d.ts.map +0 -1
  180. package/dist/generated/models/finatic-response-list-position-lot-response.js +0 -16
  181. package/dist/generated/models/finatic-response-list-position-lot-response.js.map +0 -1
  182. package/dist/generated/models/finatic-response-list-position-response.d.ts +0 -38
  183. package/dist/generated/models/finatic-response-list-position-response.d.ts.map +0 -1
  184. package/dist/generated/models/finatic-response-list-position-response.js +0 -16
  185. package/dist/generated/models/finatic-response-list-position-response.js.map +0 -1
  186. package/dist/generated/models/finatic-response-list-user-broker-connections.d.ts +0 -38
  187. package/dist/generated/models/finatic-response-list-user-broker-connections.d.ts.map +0 -1
  188. package/dist/generated/models/finatic-response-list-user-broker-connections.js +0 -16
  189. package/dist/generated/models/finatic-response-list-user-broker-connections.js.map +0 -1
  190. package/dist/generated/models/finatic-response-order-action-result.d.ts +0 -38
  191. package/dist/generated/models/finatic-response-order-action-result.d.ts.map +0 -1
  192. package/dist/generated/models/finatic-response-order-action-result.js +0 -16
  193. package/dist/generated/models/finatic-response-order-action-result.js.map +0 -1
  194. package/dist/generated/models/finatic-response-portal-url-response.d.ts +0 -18
  195. package/dist/generated/models/finatic-response-portal-url-response.d.ts.map +0 -1
  196. package/dist/generated/models/finatic-response-portal-url-response.js +0 -16
  197. package/dist/generated/models/finatic-response-portal-url-response.js.map +0 -1
  198. package/dist/generated/models/finatic-response-session-response-data.d.ts +0 -18
  199. package/dist/generated/models/finatic-response-session-response-data.d.ts.map +0 -1
  200. package/dist/generated/models/finatic-response-session-response-data.js +0 -16
  201. package/dist/generated/models/finatic-response-session-response-data.js.map +0 -1
  202. package/dist/generated/models/finatic-response-session-user-response.d.ts +0 -18
  203. package/dist/generated/models/finatic-response-session-user-response.d.ts.map +0 -1
  204. package/dist/generated/models/finatic-response-session-user-response.js +0 -16
  205. package/dist/generated/models/finatic-response-session-user-response.js.map +0 -1
  206. package/dist/generated/models/finatic-response-test-webhook-response.d.ts +0 -18
  207. package/dist/generated/models/finatic-response-test-webhook-response.d.ts.map +0 -1
  208. package/dist/generated/models/finatic-response-test-webhook-response.js +0 -16
  209. package/dist/generated/models/finatic-response-test-webhook-response.js.map +0 -1
  210. package/dist/generated/models/finatic-response-token-data.d.ts +0 -18
  211. package/dist/generated/models/finatic-response-token-data.d.ts.map +0 -1
  212. package/dist/generated/models/finatic-response-token-data.js +0 -16
  213. package/dist/generated/models/finatic-response-token-data.js.map +0 -1
  214. package/dist/generated/models/finatic-response-token-response-data.d.ts +0 -18
  215. package/dist/generated/models/finatic-response-token-response-data.d.ts.map +0 -1
  216. package/dist/generated/models/finatic-response-token-response-data.js +0 -16
  217. package/dist/generated/models/finatic-response-token-response-data.js.map +0 -1
  218. package/dist/generated/models/finatic-response-user-broker-connections.d.ts +0 -34
  219. package/dist/generated/models/finatic-response-user-broker-connections.d.ts.map +0 -1
  220. package/dist/generated/models/finatic-response-user-broker-connections.js +0 -16
  221. package/dist/generated/models/finatic-response-user-broker-connections.js.map +0 -1
  222. package/dist/generated/models/finaticapi-api-v1-routers-session-session-router-test-webhook-request.d.ts +0 -24
  223. package/dist/generated/models/finaticapi-api-v1-routers-session-session-router-test-webhook-request.d.ts.map +0 -1
  224. package/dist/generated/models/finaticapi-api-v1-routers-session-session-router-test-webhook-request.js +0 -16
  225. package/dist/generated/models/finaticapi-api-v1-routers-session-session-router-test-webhook-request.js.map +0 -1
  226. package/dist/generated/models/finaticapi-core-standard-models-abstract-responses-finatic-response.d.ts +0 -40
  227. package/dist/generated/models/finaticapi-core-standard-models-abstract-responses-finatic-response.d.ts.map +0 -1
  228. package/dist/generated/models/finaticapi-core-standard-models-abstract-responses-finatic-response.js +0 -16
  229. package/dist/generated/models/finaticapi-core-standard-models-abstract-responses-finatic-response.js.map +0 -1
  230. package/dist/generated/models/finaticapi-core-standard-models-finatic-response.d.ts +0 -20
  231. package/dist/generated/models/finaticapi-core-standard-models-finatic-response.d.ts.map +0 -1
  232. package/dist/generated/models/finaticapi-core-standard-models-finatic-response.js +0 -16
  233. package/dist/generated/models/finaticapi-core-standard-models-finatic-response.js.map +0 -1
  234. package/dist/generated/models/foktif.d.ts +0 -21
  235. package/dist/generated/models/foktif.d.ts.map +0 -1
  236. package/dist/generated/models/foktif.js +0 -21
  237. package/dist/generated/models/foktif.js.map +0 -1
  238. package/dist/generated/models/futures-historical-row.d.ts +0 -27
  239. package/dist/generated/models/futures-historical-row.d.ts.map +0 -1
  240. package/dist/generated/models/futures-historical-row.js +0 -16
  241. package/dist/generated/models/futures-historical-row.js.map +0 -1
  242. package/dist/generated/models/gtctif.d.ts +0 -21
  243. package/dist/generated/models/gtctif.d.ts.map +0 -1
  244. package/dist/generated/models/gtctif.js +0 -21
  245. package/dist/generated/models/gtctif.js.map +0 -1
  246. package/dist/generated/models/gtdtif.d.ts +0 -25
  247. package/dist/generated/models/gtdtif.d.ts.map +0 -1
  248. package/dist/generated/models/gtdtif.js +0 -21
  249. package/dist/generated/models/gtdtif.js.map +0 -1
  250. package/dist/generated/models/httpvalidation-error.d.ts +0 -16
  251. package/dist/generated/models/httpvalidation-error.d.ts.map +0 -1
  252. package/dist/generated/models/httpvalidation-error.js +0 -16
  253. package/dist/generated/models/httpvalidation-error.js.map +0 -1
  254. package/dist/generated/models/index.d.ts +0 -108
  255. package/dist/generated/models/index.d.ts.map +0 -1
  256. package/dist/generated/models/index.js +0 -125
  257. package/dist/generated/models/index.js.map +0 -1
  258. package/dist/generated/models/ioctif.d.ts +0 -21
  259. package/dist/generated/models/ioctif.d.ts.map +0 -1
  260. package/dist/generated/models/ioctif.js +0 -21
  261. package/dist/generated/models/ioctif.js.map +0 -1
  262. package/dist/generated/models/limit-order-modify-query-params.d.ts +0 -32
  263. package/dist/generated/models/limit-order-modify-query-params.d.ts.map +0 -1
  264. package/dist/generated/models/limit-order-modify-query-params.js +0 -21
  265. package/dist/generated/models/limit-order-modify-query-params.js.map +0 -1
  266. package/dist/generated/models/market-order-modify-query-params.d.ts +0 -31
  267. package/dist/generated/models/market-order-modify-query-params.d.ts.map +0 -1
  268. package/dist/generated/models/market-order-modify-query-params.js +0 -21
  269. package/dist/generated/models/market-order-modify-query-params.js.map +0 -1
  270. package/dist/generated/models/modify-order-api-v1-brokers-orders-order-id-patch-request.d.ts +0 -26
  271. package/dist/generated/models/modify-order-api-v1-brokers-orders-order-id-patch-request.d.ts.map +0 -1
  272. package/dist/generated/models/modify-order-api-v1-brokers-orders-order-id-patch-request.js +0 -16
  273. package/dist/generated/models/modify-order-api-v1-brokers-orders-order-id-patch-request.js.map +0 -1
  274. package/dist/generated/models/ninja-trader-limit-order-modify-query-params.d.ts +0 -38
  275. package/dist/generated/models/ninja-trader-limit-order-modify-query-params.d.ts.map +0 -1
  276. package/dist/generated/models/ninja-trader-limit-order-modify-query-params.js +0 -21
  277. package/dist/generated/models/ninja-trader-limit-order-modify-query-params.js.map +0 -1
  278. package/dist/generated/models/ninja-trader-limit-order-place-query-params.d.ts +0 -44
  279. package/dist/generated/models/ninja-trader-limit-order-place-query-params.d.ts.map +0 -1
  280. package/dist/generated/models/ninja-trader-limit-order-place-query-params.js +0 -30
  281. package/dist/generated/models/ninja-trader-limit-order-place-query-params.js.map +0 -1
  282. package/dist/generated/models/ninja-trader-market-order-modify-query-params.d.ts +0 -37
  283. package/dist/generated/models/ninja-trader-market-order-modify-query-params.d.ts.map +0 -1
  284. package/dist/generated/models/ninja-trader-market-order-modify-query-params.js +0 -21
  285. package/dist/generated/models/ninja-trader-market-order-modify-query-params.js.map +0 -1
  286. package/dist/generated/models/ninja-trader-market-order-place-query-params.d.ts +0 -43
  287. package/dist/generated/models/ninja-trader-market-order-place-query-params.d.ts.map +0 -1
  288. package/dist/generated/models/ninja-trader-market-order-place-query-params.js +0 -30
  289. package/dist/generated/models/ninja-trader-market-order-place-query-params.js.map +0 -1
  290. package/dist/generated/models/ninja-trader-order-cancel-query-params.d.ts +0 -26
  291. package/dist/generated/models/ninja-trader-order-cancel-query-params.d.ts.map +0 -1
  292. package/dist/generated/models/ninja-trader-order-cancel-query-params.js +0 -16
  293. package/dist/generated/models/ninja-trader-order-cancel-query-params.js.map +0 -1
  294. package/dist/generated/models/ninja-trader-order-cancel-request.d.ts +0 -21
  295. package/dist/generated/models/ninja-trader-order-cancel-request.d.ts.map +0 -1
  296. package/dist/generated/models/ninja-trader-order-cancel-request.js +0 -21
  297. package/dist/generated/models/ninja-trader-order-cancel-request.js.map +0 -1
  298. package/dist/generated/models/ninja-trader-order-modify-request.d.ts +0 -21
  299. package/dist/generated/models/ninja-trader-order-modify-request.d.ts.map +0 -1
  300. package/dist/generated/models/ninja-trader-order-modify-request.js +0 -21
  301. package/dist/generated/models/ninja-trader-order-modify-request.js.map +0 -1
  302. package/dist/generated/models/ninja-trader-order-place-request.d.ts +0 -24
  303. package/dist/generated/models/ninja-trader-order-place-request.d.ts.map +0 -1
  304. package/dist/generated/models/ninja-trader-order-place-request.js +0 -21
  305. package/dist/generated/models/ninja-trader-order-place-request.js.map +0 -1
  306. package/dist/generated/models/ninja-trader-stop-order-modify-query-params.d.ts +0 -38
  307. package/dist/generated/models/ninja-trader-stop-order-modify-query-params.d.ts.map +0 -1
  308. package/dist/generated/models/ninja-trader-stop-order-modify-query-params.js +0 -21
  309. package/dist/generated/models/ninja-trader-stop-order-modify-query-params.js.map +0 -1
  310. package/dist/generated/models/ninja-trader-stop-order-place-query-params.d.ts +0 -44
  311. package/dist/generated/models/ninja-trader-stop-order-place-query-params.d.ts.map +0 -1
  312. package/dist/generated/models/ninja-trader-stop-order-place-query-params.js +0 -30
  313. package/dist/generated/models/ninja-trader-stop-order-place-query-params.js.map +0 -1
  314. package/dist/generated/models/ninja-trader-trailing-stop-order-modify-query-params.d.ts +0 -38
  315. package/dist/generated/models/ninja-trader-trailing-stop-order-modify-query-params.d.ts.map +0 -1
  316. package/dist/generated/models/ninja-trader-trailing-stop-order-modify-query-params.js +0 -21
  317. package/dist/generated/models/ninja-trader-trailing-stop-order-modify-query-params.js.map +0 -1
  318. package/dist/generated/models/ninja-trader-trailing-stop-order-place-query-params.d.ts +0 -44
  319. package/dist/generated/models/ninja-trader-trailing-stop-order-place-query-params.d.ts.map +0 -1
  320. package/dist/generated/models/ninja-trader-trailing-stop-order-place-query-params.js +0 -30
  321. package/dist/generated/models/ninja-trader-trailing-stop-order-place-query-params.js.map +0 -1
  322. package/dist/generated/models/order-action-result.d.ts +0 -21
  323. package/dist/generated/models/order-action-result.d.ts.map +0 -1
  324. package/dist/generated/models/order-action-result.js +0 -16
  325. package/dist/generated/models/order-action-result.js.map +0 -1
  326. package/dist/generated/models/order-cancel-query-params.d.ts +0 -22
  327. package/dist/generated/models/order-cancel-query-params.d.ts.map +0 -1
  328. package/dist/generated/models/order-cancel-query-params.js +0 -16
  329. package/dist/generated/models/order-cancel-query-params.js.map +0 -1
  330. package/dist/generated/models/order-event-response.d.ts +0 -25
  331. package/dist/generated/models/order-event-response.d.ts.map +0 -1
  332. package/dist/generated/models/order-event-response.js +0 -16
  333. package/dist/generated/models/order-event-response.js.map +0 -1
  334. package/dist/generated/models/order-fill-response.d.ts +0 -24
  335. package/dist/generated/models/order-fill-response.d.ts.map +0 -1
  336. package/dist/generated/models/order-fill-response.js +0 -16
  337. package/dist/generated/models/order-fill-response.js.map +0 -1
  338. package/dist/generated/models/order-group-order.d.ts +0 -24
  339. package/dist/generated/models/order-group-order.d.ts.map +0 -1
  340. package/dist/generated/models/order-group-order.js +0 -16
  341. package/dist/generated/models/order-group-order.js.map +0 -1
  342. package/dist/generated/models/order-group-response.d.ts +0 -24
  343. package/dist/generated/models/order-group-response.d.ts.map +0 -1
  344. package/dist/generated/models/order-group-response.js +0 -16
  345. package/dist/generated/models/order-group-response.js.map +0 -1
  346. package/dist/generated/models/order-leg.d.ts +0 -22
  347. package/dist/generated/models/order-leg.d.ts.map +0 -1
  348. package/dist/generated/models/order-leg.js +0 -16
  349. package/dist/generated/models/order-leg.js.map +0 -1
  350. package/dist/generated/models/order-response.d.ts +0 -27
  351. package/dist/generated/models/order-response.d.ts.map +0 -1
  352. package/dist/generated/models/order-response.js +0 -16
  353. package/dist/generated/models/order-response.js.map +0 -1
  354. package/dist/generated/models/order-side.d.ts +0 -16
  355. package/dist/generated/models/order-side.d.ts.map +0 -1
  356. package/dist/generated/models/order-side.js +0 -22
  357. package/dist/generated/models/order-side.js.map +0 -1
  358. package/dist/generated/models/order-status.d.ts +0 -23
  359. package/dist/generated/models/order-status.d.ts.map +0 -1
  360. package/dist/generated/models/order-status.js +0 -29
  361. package/dist/generated/models/order-status.js.map +0 -1
  362. package/dist/generated/models/order.d.ts +0 -28
  363. package/dist/generated/models/order.d.ts.map +0 -1
  364. package/dist/generated/models/order.js +0 -16
  365. package/dist/generated/models/order.js.map +0 -1
  366. package/dist/generated/models/order1.d.ts +0 -28
  367. package/dist/generated/models/order1.d.ts.map +0 -1
  368. package/dist/generated/models/order1.js +0 -16
  369. package/dist/generated/models/order1.js.map +0 -1
  370. package/dist/generated/models/order2.d.ts +0 -28
  371. package/dist/generated/models/order2.d.ts.map +0 -1
  372. package/dist/generated/models/order2.js +0 -16
  373. package/dist/generated/models/order2.js.map +0 -1
  374. package/dist/generated/models/order3.d.ts +0 -28
  375. package/dist/generated/models/order3.d.ts.map +0 -1
  376. package/dist/generated/models/order3.js +0 -16
  377. package/dist/generated/models/order3.js.map +0 -1
  378. package/dist/generated/models/order4.d.ts +0 -28
  379. package/dist/generated/models/order4.d.ts.map +0 -1
  380. package/dist/generated/models/order4.js +0 -16
  381. package/dist/generated/models/order4.js.map +0 -1
  382. package/dist/generated/models/order5.d.ts +0 -28
  383. package/dist/generated/models/order5.d.ts.map +0 -1
  384. package/dist/generated/models/order5.js +0 -16
  385. package/dist/generated/models/order5.js.map +0 -1
  386. package/dist/generated/models/place-order-api-v1-brokers-orders-post-request.d.ts +0 -26
  387. package/dist/generated/models/place-order-api-v1-brokers-orders-post-request.d.ts.map +0 -1
  388. package/dist/generated/models/place-order-api-v1-brokers-orders-post-request.js +0 -16
  389. package/dist/generated/models/place-order-api-v1-brokers-orders-post-request.js.map +0 -1
  390. package/dist/generated/models/portal-url-response.d.ts +0 -21
  391. package/dist/generated/models/portal-url-response.d.ts.map +0 -1
  392. package/dist/generated/models/portal-url-response.js +0 -16
  393. package/dist/generated/models/portal-url-response.js.map +0 -1
  394. package/dist/generated/models/position-lot-fill-response.d.ts +0 -23
  395. package/dist/generated/models/position-lot-fill-response.d.ts.map +0 -1
  396. package/dist/generated/models/position-lot-fill-response.js +0 -16
  397. package/dist/generated/models/position-lot-fill-response.js.map +0 -1
  398. package/dist/generated/models/position-lot-response.d.ts +0 -27
  399. package/dist/generated/models/position-lot-response.d.ts.map +0 -1
  400. package/dist/generated/models/position-lot-response.js +0 -16
  401. package/dist/generated/models/position-lot-response.js.map +0 -1
  402. package/dist/generated/models/position-response.d.ts +0 -62
  403. package/dist/generated/models/position-response.d.ts.map +0 -1
  404. package/dist/generated/models/position-response.js +0 -16
  405. package/dist/generated/models/position-response.js.map +0 -1
  406. package/dist/generated/models/position-status.d.ts +0 -16
  407. package/dist/generated/models/position-status.d.ts.map +0 -1
  408. package/dist/generated/models/position-status.js +0 -22
  409. package/dist/generated/models/position-status.js.map +0 -1
  410. package/dist/generated/models/public-account-type-enum.d.ts +0 -17
  411. package/dist/generated/models/public-account-type-enum.d.ts.map +0 -1
  412. package/dist/generated/models/public-account-type-enum.js +0 -23
  413. package/dist/generated/models/public-account-type-enum.js.map +0 -1
  414. package/dist/generated/models/public-asset-type-enum.d.ts +0 -20
  415. package/dist/generated/models/public-asset-type-enum.d.ts.map +0 -1
  416. package/dist/generated/models/public-asset-type-enum.js +0 -26
  417. package/dist/generated/models/public-asset-type-enum.js.map +0 -1
  418. package/dist/generated/models/public-connection-status-enum.d.ts +0 -20
  419. package/dist/generated/models/public-connection-status-enum.d.ts.map +0 -1
  420. package/dist/generated/models/public-connection-status-enum.js +0 -26
  421. package/dist/generated/models/public-connection-status-enum.js.map +0 -1
  422. package/dist/generated/models/public-order-side-enum.d.ts +0 -16
  423. package/dist/generated/models/public-order-side-enum.d.ts.map +0 -1
  424. package/dist/generated/models/public-order-side-enum.js +0 -22
  425. package/dist/generated/models/public-order-side-enum.js.map +0 -1
  426. package/dist/generated/models/public-order-status-enum.d.ts +0 -24
  427. package/dist/generated/models/public-order-status-enum.d.ts.map +0 -1
  428. package/dist/generated/models/public-order-status-enum.js +0 -30
  429. package/dist/generated/models/public-order-status-enum.js.map +0 -1
  430. package/dist/generated/models/public-position-status-enum.d.ts +0 -17
  431. package/dist/generated/models/public-position-status-enum.d.ts.map +0 -1
  432. package/dist/generated/models/public-position-status-enum.js +0 -23
  433. package/dist/generated/models/public-position-status-enum.js.map +0 -1
  434. package/dist/generated/models/robinhood-limit-order-place-query-params.d.ts +0 -37
  435. package/dist/generated/models/robinhood-limit-order-place-query-params.d.ts.map +0 -1
  436. package/dist/generated/models/robinhood-limit-order-place-query-params.js +0 -30
  437. package/dist/generated/models/robinhood-limit-order-place-query-params.js.map +0 -1
  438. package/dist/generated/models/robinhood-market-order-place-query-params.d.ts +0 -36
  439. package/dist/generated/models/robinhood-market-order-place-query-params.d.ts.map +0 -1
  440. package/dist/generated/models/robinhood-market-order-place-query-params.js +0 -30
  441. package/dist/generated/models/robinhood-market-order-place-query-params.js.map +0 -1
  442. package/dist/generated/models/robinhood-order-cancel-request.d.ts +0 -21
  443. package/dist/generated/models/robinhood-order-cancel-request.d.ts.map +0 -1
  444. package/dist/generated/models/robinhood-order-cancel-request.js +0 -21
  445. package/dist/generated/models/robinhood-order-cancel-request.js.map +0 -1
  446. package/dist/generated/models/robinhood-order-modify-request.d.ts +0 -21
  447. package/dist/generated/models/robinhood-order-modify-request.d.ts.map +0 -1
  448. package/dist/generated/models/robinhood-order-modify-request.js +0 -21
  449. package/dist/generated/models/robinhood-order-modify-request.js.map +0 -1
  450. package/dist/generated/models/robinhood-order-place-request.d.ts +0 -24
  451. package/dist/generated/models/robinhood-order-place-request.d.ts.map +0 -1
  452. package/dist/generated/models/robinhood-order-place-request.js +0 -21
  453. package/dist/generated/models/robinhood-order-place-request.js.map +0 -1
  454. package/dist/generated/models/robinhood-stop-order-place-query-params.d.ts +0 -37
  455. package/dist/generated/models/robinhood-stop-order-place-query-params.d.ts.map +0 -1
  456. package/dist/generated/models/robinhood-stop-order-place-query-params.js +0 -30
  457. package/dist/generated/models/robinhood-stop-order-place-query-params.js.map +0 -1
  458. package/dist/generated/models/robinhood-trailing-stop-order-place-query-params.d.ts +0 -37
  459. package/dist/generated/models/robinhood-trailing-stop-order-place-query-params.d.ts.map +0 -1
  460. package/dist/generated/models/robinhood-trailing-stop-order-place-query-params.js +0 -30
  461. package/dist/generated/models/robinhood-trailing-stop-order-place-query-params.js.map +0 -1
  462. package/dist/generated/models/session-link-request.d.ts +0 -19
  463. package/dist/generated/models/session-link-request.d.ts.map +0 -1
  464. package/dist/generated/models/session-link-request.js +0 -16
  465. package/dist/generated/models/session-link-request.js.map +0 -1
  466. package/dist/generated/models/session-response-data.d.ts +0 -39
  467. package/dist/generated/models/session-response-data.d.ts.map +0 -1
  468. package/dist/generated/models/session-response-data.js +0 -16
  469. package/dist/generated/models/session-response-data.js.map +0 -1
  470. package/dist/generated/models/session-start-request.d.ts +0 -18
  471. package/dist/generated/models/session-start-request.d.ts.map +0 -1
  472. package/dist/generated/models/session-start-request.js +0 -16
  473. package/dist/generated/models/session-start-request.js.map +0 -1
  474. package/dist/generated/models/session-status.d.ts +0 -22
  475. package/dist/generated/models/session-status.d.ts.map +0 -1
  476. package/dist/generated/models/session-status.js +0 -28
  477. package/dist/generated/models/session-status.js.map +0 -1
  478. package/dist/generated/models/session-user-response.d.ts +0 -45
  479. package/dist/generated/models/session-user-response.d.ts.map +0 -1
  480. package/dist/generated/models/session-user-response.js +0 -16
  481. package/dist/generated/models/session-user-response.js.map +0 -1
  482. package/dist/generated/models/stop-order-modify-query-params.d.ts +0 -32
  483. package/dist/generated/models/stop-order-modify-query-params.d.ts.map +0 -1
  484. package/dist/generated/models/stop-order-modify-query-params.js +0 -21
  485. package/dist/generated/models/stop-order-modify-query-params.js.map +0 -1
  486. package/dist/generated/models/tasty-trade-limit-order-modify-query-params.d.ts +0 -38
  487. package/dist/generated/models/tasty-trade-limit-order-modify-query-params.d.ts.map +0 -1
  488. package/dist/generated/models/tasty-trade-limit-order-modify-query-params.js +0 -21
  489. package/dist/generated/models/tasty-trade-limit-order-modify-query-params.js.map +0 -1
  490. package/dist/generated/models/tasty-trade-limit-order-place-query-params.d.ts +0 -55
  491. package/dist/generated/models/tasty-trade-limit-order-place-query-params.d.ts.map +0 -1
  492. package/dist/generated/models/tasty-trade-limit-order-place-query-params.js +0 -40
  493. package/dist/generated/models/tasty-trade-limit-order-place-query-params.js.map +0 -1
  494. package/dist/generated/models/tasty-trade-market-order-modify-query-params.d.ts +0 -37
  495. package/dist/generated/models/tasty-trade-market-order-modify-query-params.d.ts.map +0 -1
  496. package/dist/generated/models/tasty-trade-market-order-modify-query-params.js +0 -21
  497. package/dist/generated/models/tasty-trade-market-order-modify-query-params.js.map +0 -1
  498. package/dist/generated/models/tasty-trade-market-order-place-query-params.d.ts +0 -54
  499. package/dist/generated/models/tasty-trade-market-order-place-query-params.d.ts.map +0 -1
  500. package/dist/generated/models/tasty-trade-market-order-place-query-params.js +0 -40
  501. package/dist/generated/models/tasty-trade-market-order-place-query-params.js.map +0 -1
  502. package/dist/generated/models/tasty-trade-order-cancel-query-params.d.ts +0 -26
  503. package/dist/generated/models/tasty-trade-order-cancel-query-params.d.ts.map +0 -1
  504. package/dist/generated/models/tasty-trade-order-cancel-query-params.js +0 -16
  505. package/dist/generated/models/tasty-trade-order-cancel-query-params.js.map +0 -1
  506. package/dist/generated/models/tasty-trade-order-cancel-request.d.ts +0 -21
  507. package/dist/generated/models/tasty-trade-order-cancel-request.d.ts.map +0 -1
  508. package/dist/generated/models/tasty-trade-order-cancel-request.js +0 -21
  509. package/dist/generated/models/tasty-trade-order-cancel-request.js.map +0 -1
  510. package/dist/generated/models/tasty-trade-order-modify-request.d.ts +0 -21
  511. package/dist/generated/models/tasty-trade-order-modify-request.d.ts.map +0 -1
  512. package/dist/generated/models/tasty-trade-order-modify-request.js +0 -21
  513. package/dist/generated/models/tasty-trade-order-modify-request.js.map +0 -1
  514. package/dist/generated/models/tasty-trade-order-place-request.d.ts +0 -24
  515. package/dist/generated/models/tasty-trade-order-place-request.d.ts.map +0 -1
  516. package/dist/generated/models/tasty-trade-order-place-request.js +0 -21
  517. package/dist/generated/models/tasty-trade-order-place-request.js.map +0 -1
  518. package/dist/generated/models/tasty-trade-stop-order-modify-query-params.d.ts +0 -38
  519. package/dist/generated/models/tasty-trade-stop-order-modify-query-params.d.ts.map +0 -1
  520. package/dist/generated/models/tasty-trade-stop-order-modify-query-params.js +0 -21
  521. package/dist/generated/models/tasty-trade-stop-order-modify-query-params.js.map +0 -1
  522. package/dist/generated/models/tasty-trade-stop-order-place-query-params.d.ts +0 -55
  523. package/dist/generated/models/tasty-trade-stop-order-place-query-params.d.ts.map +0 -1
  524. package/dist/generated/models/tasty-trade-stop-order-place-query-params.js +0 -40
  525. package/dist/generated/models/tasty-trade-stop-order-place-query-params.js.map +0 -1
  526. package/dist/generated/models/tasty-trade-trailing-stop-order-modify-query-params.d.ts +0 -38
  527. package/dist/generated/models/tasty-trade-trailing-stop-order-modify-query-params.d.ts.map +0 -1
  528. package/dist/generated/models/tasty-trade-trailing-stop-order-modify-query-params.js +0 -21
  529. package/dist/generated/models/tasty-trade-trailing-stop-order-modify-query-params.js.map +0 -1
  530. package/dist/generated/models/tasty-trade-trailing-stop-order-place-query-params.d.ts +0 -55
  531. package/dist/generated/models/tasty-trade-trailing-stop-order-place-query-params.d.ts.map +0 -1
  532. package/dist/generated/models/tasty-trade-trailing-stop-order-place-query-params.js +0 -40
  533. package/dist/generated/models/tasty-trade-trailing-stop-order-place-query-params.js.map +0 -1
  534. package/dist/generated/models/test-webhook-response.d.ts +0 -35
  535. package/dist/generated/models/test-webhook-response.d.ts.map +0 -1
  536. package/dist/generated/models/test-webhook-response.js +0 -16
  537. package/dist/generated/models/test-webhook-response.js.map +0 -1
  538. package/dist/generated/models/timeinforce.d.ts +0 -31
  539. package/dist/generated/models/timeinforce.d.ts.map +0 -1
  540. package/dist/generated/models/timeinforce.js +0 -16
  541. package/dist/generated/models/timeinforce.js.map +0 -1
  542. package/dist/generated/models/token-data.d.ts +0 -45
  543. package/dist/generated/models/token-data.d.ts.map +0 -1
  544. package/dist/generated/models/token-data.js +0 -16
  545. package/dist/generated/models/token-data.js.map +0 -1
  546. package/dist/generated/models/token-response-data.d.ts +0 -25
  547. package/dist/generated/models/token-response-data.d.ts.map +0 -1
  548. package/dist/generated/models/token-response-data.js +0 -16
  549. package/dist/generated/models/token-response-data.js.map +0 -1
  550. package/dist/generated/models/trailing-stop-order-modify-query-params.d.ts +0 -32
  551. package/dist/generated/models/trailing-stop-order-modify-query-params.d.ts.map +0 -1
  552. package/dist/generated/models/trailing-stop-order-modify-query-params.js +0 -21
  553. package/dist/generated/models/trailing-stop-order-modify-query-params.js.map +0 -1
  554. package/dist/generated/models/user-broker-connections.d.ts +0 -28
  555. package/dist/generated/models/user-broker-connections.d.ts.map +0 -1
  556. package/dist/generated/models/user-broker-connections.js +0 -16
  557. package/dist/generated/models/user-broker-connections.js.map +0 -1
  558. package/dist/generated/models/validation-error-loc-inner.d.ts +0 -14
  559. package/dist/generated/models/validation-error-loc-inner.d.ts.map +0 -1
  560. package/dist/generated/models/validation-error-loc-inner.js +0 -16
  561. package/dist/generated/models/validation-error-loc-inner.js.map +0 -1
  562. package/dist/generated/models/validation-error.d.ts +0 -18
  563. package/dist/generated/models/validation-error.d.ts.map +0 -1
  564. package/dist/generated/models/validation-error.js +0 -16
  565. package/dist/generated/models/validation-error.js.map +0 -1
  566. package/dist/generated/portal/PortalUI.d.ts +0 -28
  567. package/dist/generated/portal/PortalUI.d.ts.map +0 -1
  568. package/dist/generated/portal/PortalUI.js +0 -139
  569. package/dist/generated/portal/PortalUI.js.map +0 -1
  570. package/dist/generated/utils/cache.d.ts +0 -16
  571. package/dist/generated/utils/cache.d.ts.map +0 -1
  572. package/dist/generated/utils/cache.js +0 -56
  573. package/dist/generated/utils/cache.js.map +0 -1
  574. package/dist/generated/utils/enum-coercion.d.ts +0 -24
  575. package/dist/generated/utils/enum-coercion.d.ts.map +0 -1
  576. package/dist/generated/utils/enum-coercion.js +0 -49
  577. package/dist/generated/utils/enum-coercion.js.map +0 -1
  578. package/dist/generated/utils/error-handling.d.ts +0 -35
  579. package/dist/generated/utils/error-handling.d.ts.map +0 -1
  580. package/dist/generated/utils/error-handling.js +0 -75
  581. package/dist/generated/utils/error-handling.js.map +0 -1
  582. package/dist/generated/utils/events.d.ts +0 -18
  583. package/dist/generated/utils/events.d.ts.map +0 -1
  584. package/dist/generated/utils/events.js +0 -60
  585. package/dist/generated/utils/events.js.map +0 -1
  586. package/dist/generated/utils/index.d.ts +0 -17
  587. package/dist/generated/utils/index.d.ts.map +0 -1
  588. package/dist/generated/utils/index.js +0 -33
  589. package/dist/generated/utils/index.js.map +0 -1
  590. package/dist/generated/utils/interceptors.d.ts +0 -40
  591. package/dist/generated/utils/interceptors.d.ts.map +0 -1
  592. package/dist/generated/utils/interceptors.js +0 -76
  593. package/dist/generated/utils/interceptors.js.map +0 -1
  594. package/dist/generated/utils/logger.d.ts +0 -21
  595. package/dist/generated/utils/logger.d.ts.map +0 -1
  596. package/dist/generated/utils/logger.js +0 -292
  597. package/dist/generated/utils/logger.js.map +0 -1
  598. package/dist/generated/utils/plain-object.d.ts +0 -22
  599. package/dist/generated/utils/plain-object.d.ts.map +0 -1
  600. package/dist/generated/utils/plain-object.js +0 -51
  601. package/dist/generated/utils/plain-object.js.map +0 -1
  602. package/dist/generated/utils/request-id.d.ts +0 -10
  603. package/dist/generated/utils/request-id.d.ts.map +0 -1
  604. package/dist/generated/utils/request-id.js +0 -24
  605. package/dist/generated/utils/request-id.js.map +0 -1
  606. package/dist/generated/utils/retry.d.ts +0 -20
  607. package/dist/generated/utils/retry.d.ts.map +0 -1
  608. package/dist/generated/utils/retry.js +0 -83
  609. package/dist/generated/utils/retry.js.map +0 -1
  610. package/dist/generated/utils/url-utils.d.ts +0 -23
  611. package/dist/generated/utils/url-utils.d.ts.map +0 -1
  612. package/dist/generated/utils/url-utils.js +0 -64
  613. package/dist/generated/utils/url-utils.js.map +0 -1
  614. package/dist/generated/utils/validation.d.ts +0 -20
  615. package/dist/generated/utils/validation.d.ts.map +0 -1
  616. package/dist/generated/utils/validation.js +0 -103
  617. package/dist/generated/utils/validation.js.map +0 -1
  618. package/dist/generated/wrappers/brokers.d.ts +0 -1107
  619. package/dist/generated/wrappers/brokers.d.ts.map +0 -1
  620. package/dist/generated/wrappers/brokers.js +0 -3076
  621. package/dist/generated/wrappers/brokers.js.map +0 -1
  622. package/dist/generated/wrappers/index.d.ts +0 -8
  623. package/dist/generated/wrappers/index.d.ts.map +0 -1
  624. package/dist/generated/wrappers/index.js +0 -13
  625. package/dist/generated/wrappers/index.js.map +0 -1
  626. package/dist/generated/wrappers/market-data.d.ts +0 -37
  627. package/dist/generated/wrappers/market-data.d.ts.map +0 -1
  628. package/dist/generated/wrappers/market-data.js +0 -134
  629. package/dist/generated/wrappers/market-data.js.map +0 -1
  630. package/dist/generated/wrappers/session.d.ts +0 -394
  631. package/dist/generated/wrappers/session.d.ts.map +0 -1
  632. package/dist/generated/wrappers/session.js +0 -1232
  633. package/dist/generated/wrappers/session.js.map +0 -1
  634. package/dist/index.d.ts.map +0 -1
  635. package/dist/types/core/client/ApiClient.d.ts +0 -270
  636. package/dist/types/core/client/FinaticConnect.d.ts +0 -332
  637. package/dist/types/core/portal/PortalUI.d.ts +0 -37
  638. package/dist/types/index.d.ts +0 -12
  639. package/dist/types/lib/logger/index.d.ts +0 -2
  640. package/dist/types/lib/logger/logger.d.ts +0 -4
  641. package/dist/types/lib/logger/logger.types.d.ts +0 -28
  642. package/dist/types/mocks/MockApiClient.d.ts +0 -171
  643. package/dist/types/mocks/MockDataProvider.d.ts +0 -139
  644. package/dist/types/mocks/MockFactory.d.ts +0 -53
  645. package/dist/types/mocks/utils.d.ts +0 -24
  646. package/dist/types/themes/portalPresets.d.ts +0 -9
  647. package/dist/types/types/api/auth.d.ts +0 -93
  648. package/dist/types/types/api/broker.d.ts +0 -421
  649. package/dist/types/types/api/core.d.ts +0 -46
  650. package/dist/types/types/api/errors.d.ts +0 -31
  651. package/dist/types/types/api/orders.d.ts +0 -39
  652. package/dist/types/types/api/portfolio.d.ts +0 -55
  653. package/dist/types/types/common/pagination.d.ts +0 -33
  654. package/dist/types/types/connect.d.ts +0 -58
  655. package/dist/types/types/index.d.ts +0 -13
  656. package/dist/types/types/portal.d.ts +0 -204
  657. package/dist/types/types/ui/theme.d.ts +0 -104
  658. package/dist/types/utils/brokerUtils.d.ts +0 -30
  659. package/dist/types/utils/errors.d.ts +0 -45
  660. package/dist/types/utils/events.d.ts +0 -12
  661. package/dist/types/utils/themeUtils.d.ts +0 -34
  662. package/src/core/client/ApiClient.ts +0 -2004
  663. package/src/core/client/FinaticConnect.ts +0 -1606
  664. package/src/core/portal/PortalUI.ts +0 -335
  665. package/src/index.d.ts +0 -23
  666. package/src/index.ts +0 -100
  667. package/src/lib/logger/index.ts +0 -3
  668. package/src/lib/logger/logger.ts +0 -332
  669. package/src/lib/logger/logger.types.ts +0 -34
  670. package/src/mocks/MockApiClient.ts +0 -1058
  671. package/src/mocks/MockDataProvider.ts +0 -986
  672. package/src/mocks/MockFactory.ts +0 -97
  673. package/src/mocks/utils.ts +0 -133
  674. package/src/themes/portalPresets.ts +0 -1307
  675. package/src/types/api/auth.ts +0 -112
  676. package/src/types/api/broker.ts +0 -461
  677. package/src/types/api/core.ts +0 -53
  678. package/src/types/api/errors.ts +0 -35
  679. package/src/types/api/orders.ts +0 -45
  680. package/src/types/api/portfolio.ts +0 -59
  681. package/src/types/common/pagination.ts +0 -164
  682. package/src/types/connect.ts +0 -56
  683. package/src/types/index.ts +0 -25
  684. package/src/types/portal.ts +0 -214
  685. package/src/types/ui/theme.ts +0 -105
  686. package/src/utils/brokerUtils.ts +0 -104
  687. package/src/utils/errors.ts +0 -104
  688. package/src/utils/events.ts +0 -66
  689. package/src/utils/themeUtils.ts +0 -165
@@ -1,3076 +0,0 @@
1
- "use strict";
2
- /**
3
- * Generated wrapper functions for brokers operations (Phase 2A).
4
- *
5
- * This file is regenerated on each run - do not edit directly.
6
- * For custom logic, edit src/custom/wrappers/brokers.ts instead.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BrokersWrapper = void 0;
10
- const request_id_1 = require("../utils/request-id");
11
- const retry_1 = require("../utils/retry");
12
- const logger_1 = require("../utils/logger");
13
- const error_handling_1 = require("../utils/error-handling");
14
- const cache_1 = require("../utils/cache");
15
- const interceptors_1 = require("../utils/interceptors");
16
- const enum_coercion_1 = require("../utils/enum-coercion");
17
- const plain_object_1 = require("../utils/plain-object");
18
- const models_1 = require("../models");
19
- const models_2 = require("../models");
20
- const models_3 = require("../models");
21
- const models_4 = require("../models");
22
- const models_5 = require("../models");
23
- /**
24
- * Brokers wrapper functions.
25
- * Provides simplified method names and response unwrapping.
26
- */
27
- class BrokersWrapper {
28
- constructor(api, config, sdkConfig) {
29
- this.api = api;
30
- if (config !== undefined) {
31
- this.config = config;
32
- }
33
- if (sdkConfig !== undefined) {
34
- this.sdkConfig = sdkConfig;
35
- }
36
- this.logger = (0, logger_1.getLogger)(sdkConfig);
37
- }
38
- // Session context setters (called by session management)
39
- setSessionContext(sessionId, companyId, csrfToken) {
40
- this.sessionId = sessionId;
41
- this.companyId = companyId;
42
- this.csrfToken = csrfToken;
43
- }
44
- // Utility methods (Phase 2A)
45
- _generateRequestId() {
46
- return (0, request_id_1.generateRequestId)();
47
- }
48
- async _retryApiCall(fn) {
49
- return (0, retry_1.retryApiCall)(fn);
50
- }
51
- _handleError(error, requestId) {
52
- return (0, error_handling_1.handleError)(error, requestId);
53
- }
54
- /**
55
- * Get Brokers
56
- *
57
- * Get all available brokers.
58
- *
59
- * This is a fast operation that returns a cached list of available brokers.
60
- * The list is loaded once at startup and never changes during runtime.
61
- *
62
- * Returns
63
- * -------
64
- * FinaticResponse[list[BrokerInfo]]
65
- * list of available brokers with their metadata.
66
-
67
- * @param params {GetBrokersParams} Input parameters object (empty for methods with no parameters)
68
- * @returns {Promise<GetBrokersResponse>} Standard response with success/Error/Warning structure
69
- *
70
- * Generated from: GET /api/v1/brokers/
71
- * @methodId get_brokers_api_v1_brokers__get
72
- * @category brokers
73
- * @example
74
- * ```typescript-client
75
- * // Example with no parameters
76
- * const result = await finatic.getBrokers({});
77
- *
78
- * // Access the response data
79
- * if (result.success) {
80
- * console.log('Data:', result.success.data);
81
- * }
82
- * ```
83
- */
84
- async getBrokers(params) {
85
- // Phase 2C: Extract individual params from input params object
86
- // No parameters to extract
87
- // Generate request ID
88
- const requestId = this._generateRequestId();
89
- // Input validation (Phase 2B: zod)
90
- if (this.sdkConfig?.validationEnabled) {
91
- // TODO: Generate validation schema from endpoint parameters
92
- // const validationSchema = z.object({ ... });
93
- // validateParams(validationSchema, params, this.sdkConfig);
94
- }
95
- // Check cache (Phase 2B: optional caching)
96
- const shouldCache = true;
97
- const cache = (0, cache_1.getCache)(this.sdkConfig);
98
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
99
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/', params, this.sdkConfig);
100
- const cached = cache.get(cacheKey);
101
- if (cached) {
102
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
103
- return cached;
104
- }
105
- }
106
- // Structured logging (Phase 2B: pino)
107
- this.logger.debug('Get Brokers', {
108
- request_id: requestId,
109
- method: 'GET',
110
- path: '/api/v1/brokers/',
111
- params: params,
112
- action: 'getBrokers',
113
- });
114
- try {
115
- const response = await (0, retry_1.retryApiCall)(async () => {
116
- const apiResponse = await this.api.getBrokersApiV1BrokersGet({
117
- headers: { 'x-request-id': requestId },
118
- });
119
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
120
- }, {}, this.sdkConfig);
121
- // Phase 2C: Unwrap API response and transform to standard response structure
122
- const responseData = response && typeof response === 'object' && 'data' in response
123
- ? response.data
124
- : response;
125
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
126
- throw new Error('Unexpected response shape: missing data');
127
- }
128
- const apiData = responseData.data;
129
- const warnings = Array.isArray(responseData.warnings)
130
- ? responseData.warnings
131
- : undefined;
132
- const meta = responseData.meta;
133
- // Build standard response structure
134
- const standardResponse = {
135
- success: {
136
- data: (0, plain_object_1.convertToPlainObject)(apiData),
137
- ...(meta ? { meta } : {}),
138
- },
139
- ...(warnings && warnings.length > 0
140
- ? {
141
- Warning: warnings.map((w) => ({
142
- message: w.message || String(w),
143
- code: w.code,
144
- details: w.details || w,
145
- })),
146
- }
147
- : {}),
148
- };
149
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
150
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/', params, this.sdkConfig);
151
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
152
- }
153
- this.logger.debug('Get Brokers completed', {
154
- request_id: requestId,
155
- action: 'getBrokers',
156
- });
157
- // Phase 2C: Return standard response structure (already plain objects)
158
- return standardResponse;
159
- }
160
- catch (error) {
161
- try {
162
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
163
- }
164
- catch { }
165
- this.logger.error('Get Brokers failed', error, {
166
- request_id: requestId,
167
- action: 'getBrokers',
168
- });
169
- // Phase 2C: Extract error details from Axios errors or generic errors
170
- let errorMessage = error instanceof Error ? error.message : String(error);
171
- let errorCode = 'UNKNOWN_ERROR';
172
- let errorStatus;
173
- let errorDetails = {};
174
- // Handle Axios errors (from OpenAPI generator)
175
- if (error?.isAxiosError || error?.response) {
176
- const axiosError = error;
177
- errorStatus = axiosError.response?.status;
178
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
179
- errorMessage =
180
- axiosError.response?.data?.message ||
181
- axiosError.response?.statusText ||
182
- axiosError.message ||
183
- errorMessage;
184
- errorDetails = {
185
- status: errorStatus,
186
- statusText: axiosError.response?.statusText,
187
- responseData: axiosError.response?.data,
188
- requestUrl: axiosError.config?.url,
189
- requestMethod: axiosError.config?.method,
190
- };
191
- }
192
- else if (error instanceof Error) {
193
- errorCode = error?.code || 'UNKNOWN_ERROR';
194
- errorDetails = {
195
- stack: error.stack,
196
- name: error.name,
197
- };
198
- }
199
- else {
200
- errorDetails = { error };
201
- }
202
- // Phase 2C: Return standard error response structure
203
- const errorResponse = {
204
- success: {
205
- data: null,
206
- },
207
- Error: {
208
- message: errorMessage,
209
- code: errorCode,
210
- status: errorStatus,
211
- details: errorDetails,
212
- },
213
- };
214
- return errorResponse;
215
- }
216
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
217
- // TODO Phase 2D: Add orphaned method detection
218
- // TODO Phase 2D: Add advanced convenience methods
219
- }
220
- /**
221
- * List Broker Connections
222
- *
223
- * List all broker connections for the current user.
224
- *
225
- * This endpoint is accessible from the portal and uses session-only authentication.
226
- * Returns connections that the user has any permissions for.
227
-
228
- * @param params {ListBrokerConnectionsParams} Input parameters object (empty for methods with no parameters)
229
- * @returns {Promise<ListBrokerConnectionsResponse>} Standard response with success/Error/Warning structure
230
- *
231
- * Generated from: GET /api/v1/brokers/connections
232
- * @methodId list_broker_connections_api_v1_brokers_connections_get
233
- * @category brokers
234
- * @example
235
- * ```typescript-client
236
- * // Example with no parameters
237
- * const result = await finatic.listBrokerConnections({});
238
- *
239
- * // Access the response data
240
- * if (result.success) {
241
- * console.log('Data:', result.success.data);
242
- * }
243
- * ```
244
- */
245
- async listBrokerConnections(params) {
246
- // Authentication check
247
- if (!this.sessionId) {
248
- throw new Error('Session not initialized. Call startSession() first.');
249
- }
250
- // Phase 2C: Extract individual params from input params object
251
- // No parameters to extract
252
- // Generate request ID
253
- const requestId = this._generateRequestId();
254
- // Input validation (Phase 2B: zod)
255
- if (this.sdkConfig?.validationEnabled) {
256
- // TODO: Generate validation schema from endpoint parameters
257
- // const validationSchema = z.object({ ... });
258
- // validateParams(validationSchema, params, this.sdkConfig);
259
- }
260
- // Check cache (Phase 2B: optional caching)
261
- const shouldCache = true;
262
- const cache = (0, cache_1.getCache)(this.sdkConfig);
263
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
264
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/connections', params, this.sdkConfig);
265
- const cached = cache.get(cacheKey);
266
- if (cached) {
267
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
268
- return cached;
269
- }
270
- }
271
- // Structured logging (Phase 2B: pino)
272
- this.logger.debug('List Broker Connections', {
273
- request_id: requestId,
274
- method: 'GET',
275
- path: '/api/v1/brokers/connections',
276
- params: params,
277
- action: 'listBrokerConnections',
278
- });
279
- try {
280
- const response = await (0, retry_1.retryApiCall)(async () => {
281
- const apiResponse = await this.api.listBrokerConnectionsApiV1BrokersConnectionsGet({
282
- headers: {
283
- 'x-session-id': this.sessionId,
284
- 'x-company-id': this.companyId,
285
- 'x-csrf-token': this.csrfToken,
286
- 'x-request-id': requestId,
287
- },
288
- });
289
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
290
- }, {}, this.sdkConfig);
291
- // Phase 2C: Unwrap API response and transform to standard response structure
292
- const responseData = response && typeof response === 'object' && 'data' in response
293
- ? response.data
294
- : response;
295
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
296
- throw new Error('Unexpected response shape: missing data');
297
- }
298
- const apiData = responseData.data;
299
- const warnings = Array.isArray(responseData.warnings)
300
- ? responseData.warnings
301
- : undefined;
302
- const meta = responseData.meta;
303
- // Build standard response structure
304
- const standardResponse = {
305
- success: {
306
- data: (0, plain_object_1.convertToPlainObject)(apiData),
307
- ...(meta ? { meta } : {}),
308
- },
309
- ...(warnings && warnings.length > 0
310
- ? {
311
- Warning: warnings.map((w) => ({
312
- message: w.message || String(w),
313
- code: w.code,
314
- details: w.details || w,
315
- })),
316
- }
317
- : {}),
318
- };
319
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
320
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/connections', params, this.sdkConfig);
321
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
322
- }
323
- this.logger.debug('List Broker Connections completed', {
324
- request_id: requestId,
325
- action: 'listBrokerConnections',
326
- });
327
- // Phase 2C: Return standard response structure (already plain objects)
328
- return standardResponse;
329
- }
330
- catch (error) {
331
- try {
332
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
333
- }
334
- catch { }
335
- this.logger.error('List Broker Connections failed', error, {
336
- request_id: requestId,
337
- action: 'listBrokerConnections',
338
- });
339
- // Phase 2C: Extract error details from Axios errors or generic errors
340
- let errorMessage = error instanceof Error ? error.message : String(error);
341
- let errorCode = 'UNKNOWN_ERROR';
342
- let errorStatus;
343
- let errorDetails = {};
344
- // Handle Axios errors (from OpenAPI generator)
345
- if (error?.isAxiosError || error?.response) {
346
- const axiosError = error;
347
- errorStatus = axiosError.response?.status;
348
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
349
- errorMessage =
350
- axiosError.response?.data?.message ||
351
- axiosError.response?.statusText ||
352
- axiosError.message ||
353
- errorMessage;
354
- errorDetails = {
355
- status: errorStatus,
356
- statusText: axiosError.response?.statusText,
357
- responseData: axiosError.response?.data,
358
- requestUrl: axiosError.config?.url,
359
- requestMethod: axiosError.config?.method,
360
- };
361
- }
362
- else if (error instanceof Error) {
363
- errorCode = error?.code || 'UNKNOWN_ERROR';
364
- errorDetails = {
365
- stack: error.stack,
366
- name: error.name,
367
- };
368
- }
369
- else {
370
- errorDetails = { error };
371
- }
372
- // Phase 2C: Return standard error response structure
373
- const errorResponse = {
374
- success: {
375
- data: null,
376
- },
377
- Error: {
378
- message: errorMessage,
379
- code: errorCode,
380
- status: errorStatus,
381
- details: errorDetails,
382
- },
383
- };
384
- return errorResponse;
385
- }
386
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
387
- // TODO Phase 2D: Add orphaned method detection
388
- // TODO Phase 2D: Add advanced convenience methods
389
- }
390
- /**
391
- * Disconnect Company From Broker
392
- *
393
- * Remove a company's access to a broker connection.
394
- *
395
- * If the company is the only one with access, the entire connection is deleted.
396
- * If other companies have access, only the company's access is removed.
397
-
398
- * @param params {DisconnectCompanyFromBrokerParams} Input parameters object
399
- * @returns {Promise<DisconnectCompanyFromBrokerResponse>} Standard response with success/Error/Warning structure
400
- *
401
- * Generated from: DELETE /api/v1/brokers/disconnect-company/{connection_id}
402
- * @methodId disconnect_company_from_broker_api_v1_brokers_disconnect_company__connection_id__delete
403
- * @category brokers
404
- * @example
405
- * ```typescript-client
406
- * // Minimal example with required parameters only
407
- * const result = await finatic.disconnectCompanyFromBroker({
408
- connectionId: 'id-123'
409
- * });
410
- *
411
- * // Access the response data
412
- * if (result.success) {
413
- * console.log('Data:', result.success.data);
414
- * } else if (result.Error) {
415
- * console.error('Error:', result.Error.message);
416
- * }
417
- * ```
418
- */
419
- async disconnectCompanyFromBroker(params) {
420
- // Authentication check
421
- if (!this.sessionId) {
422
- throw new Error('Session not initialized. Call startSession() first.');
423
- }
424
- // Phase 2C: Extract individual params from input params object
425
- const connectionId = params.connectionId;
426
- // Generate request ID
427
- const requestId = this._generateRequestId();
428
- // Input validation (Phase 2B: zod)
429
- if (this.sdkConfig?.validationEnabled) {
430
- // TODO: Generate validation schema from endpoint parameters
431
- // const validationSchema = z.object({ ... });
432
- // validateParams(validationSchema, params, this.sdkConfig);
433
- }
434
- // Check cache (Phase 2B: optional caching)
435
- const shouldCache = true;
436
- const cache = (0, cache_1.getCache)(this.sdkConfig);
437
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
438
- const cacheKey = (0, cache_1.generateCacheKey)('DELETE', '/api/v1/brokers/disconnect-company/{connection_id}', params, this.sdkConfig);
439
- const cached = cache.get(cacheKey);
440
- if (cached) {
441
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
442
- return cached;
443
- }
444
- }
445
- // Structured logging (Phase 2B: pino)
446
- this.logger.debug('Disconnect Company From Broker', {
447
- request_id: requestId,
448
- method: 'DELETE',
449
- path: '/api/v1/brokers/disconnect-company/{connection_id}',
450
- params: params,
451
- action: 'disconnectCompanyFromBroker',
452
- });
453
- try {
454
- const response = await (0, retry_1.retryApiCall)(async () => {
455
- const apiResponse = await this.api.disconnectCompanyFromBrokerApiV1BrokersDisconnectCompanyConnectionIdDelete({ connectionId: connectionId }, {
456
- headers: {
457
- 'x-session-id': this.sessionId,
458
- 'x-company-id': this.companyId,
459
- 'x-csrf-token': this.csrfToken,
460
- 'x-request-id': requestId,
461
- },
462
- });
463
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
464
- }, {}, this.sdkConfig);
465
- // Phase 2C: Unwrap API response and transform to standard response structure
466
- const responseData = response && typeof response === 'object' && 'data' in response
467
- ? response.data
468
- : response;
469
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
470
- throw new Error('Unexpected response shape: missing data');
471
- }
472
- const apiData = responseData.data;
473
- const warnings = Array.isArray(responseData.warnings)
474
- ? responseData.warnings
475
- : undefined;
476
- const meta = responseData.meta;
477
- // Build standard response structure
478
- const standardResponse = {
479
- success: {
480
- data: (0, plain_object_1.convertToPlainObject)(apiData),
481
- ...(meta ? { meta } : {}),
482
- },
483
- ...(warnings && warnings.length > 0
484
- ? {
485
- Warning: warnings.map((w) => ({
486
- message: w.message || String(w),
487
- code: w.code,
488
- details: w.details || w,
489
- })),
490
- }
491
- : {}),
492
- };
493
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
494
- const cacheKey = (0, cache_1.generateCacheKey)('DELETE', '/api/v1/brokers/disconnect-company/{connection_id}', params, this.sdkConfig);
495
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
496
- }
497
- this.logger.debug('Disconnect Company From Broker completed', {
498
- request_id: requestId,
499
- action: 'disconnectCompanyFromBroker',
500
- });
501
- // Phase 2C: Return standard response structure (already plain objects)
502
- return standardResponse;
503
- }
504
- catch (error) {
505
- try {
506
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
507
- }
508
- catch { }
509
- this.logger.error('Disconnect Company From Broker failed', error, {
510
- request_id: requestId,
511
- action: 'disconnectCompanyFromBroker',
512
- });
513
- // Phase 2C: Extract error details from Axios errors or generic errors
514
- let errorMessage = error instanceof Error ? error.message : String(error);
515
- let errorCode = 'UNKNOWN_ERROR';
516
- let errorStatus;
517
- let errorDetails = {};
518
- // Handle Axios errors (from OpenAPI generator)
519
- if (error?.isAxiosError || error?.response) {
520
- const axiosError = error;
521
- errorStatus = axiosError.response?.status;
522
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
523
- errorMessage =
524
- axiosError.response?.data?.message ||
525
- axiosError.response?.statusText ||
526
- axiosError.message ||
527
- errorMessage;
528
- errorDetails = {
529
- status: errorStatus,
530
- statusText: axiosError.response?.statusText,
531
- responseData: axiosError.response?.data,
532
- requestUrl: axiosError.config?.url,
533
- requestMethod: axiosError.config?.method,
534
- };
535
- }
536
- else if (error instanceof Error) {
537
- errorCode = error?.code || 'UNKNOWN_ERROR';
538
- errorDetails = {
539
- stack: error.stack,
540
- name: error.name,
541
- };
542
- }
543
- else {
544
- errorDetails = { error };
545
- }
546
- // Phase 2C: Return standard error response structure
547
- const errorResponse = {
548
- success: {
549
- data: null,
550
- },
551
- Error: {
552
- message: errorMessage,
553
- code: errorCode,
554
- status: errorStatus,
555
- details: errorDetails,
556
- },
557
- };
558
- return errorResponse;
559
- }
560
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
561
- // TODO Phase 2D: Add orphaned method detection
562
- // TODO Phase 2D: Add advanced convenience methods
563
- }
564
- /**
565
- * Get Orders
566
- *
567
- * Get orders for all authorized broker connections.
568
- *
569
- * This endpoint is accessible from the portal and uses session-only authentication.
570
- * Returns orders from connections the company has read access to.
571
-
572
- * @param params {GetOrdersParams} Input parameters object
573
- * @returns {Promise<GetOrdersResponse>} Standard response with success/Error/Warning structure
574
- *
575
- * Generated from: GET /api/v1/brokers/data/orders
576
- * @methodId get_orders_api_v1_brokers_data_orders_get
577
- * @category brokers
578
- * @example
579
- * ```typescript-client
580
- * // Example with no parameters
581
- * const result = await finatic.getOrders({});
582
- *
583
- * // Access the response data
584
- * if (result.success) {
585
- * console.log('Data:', result.success.data);
586
- * }
587
- * ```
588
- * @example
589
- * ```typescript-client
590
- * // Full example with optional parameters
591
- * const result = await finatic.getOrders({
592
- brokerId: 'id-123',
593
- connectionId: 'id-123',
594
- accountId: 'id-123'
595
- * });
596
- *
597
- * // Handle response with warnings
598
- * if (result.success) {
599
- * console.log('Data:', result.success.data);
600
- * if (result.Warning && result.Warning.length > 0) {
601
- * console.warn('Warnings:', result.Warning);
602
- * }
603
- * } else if (result.Error) {
604
- * console.error('Error:', result.Error.message, result.Error.code);
605
- * }
606
- * ```
607
- */
608
- async getOrders(params) {
609
- // Authentication check
610
- if (!this.sessionId) {
611
- throw new Error('Session not initialized. Call startSession() first.');
612
- }
613
- // Phase 2C: Extract individual params from input params object
614
- const brokerId = params.brokerId;
615
- const connectionId = params.connectionId;
616
- const accountId = params.accountId;
617
- const symbol = params.symbol;
618
- let orderStatus = params.orderStatus !== undefined
619
- ? (0, enum_coercion_1.coerceEnumValue)(params.orderStatus, models_4.PublicOrderStatusEnum, 'orderStatus')
620
- : undefined;
621
- let side = params.side !== undefined
622
- ? (0, enum_coercion_1.coerceEnumValue)(params.side, models_3.PublicOrderSideEnum, 'side')
623
- : undefined;
624
- let assetType = params.assetType !== undefined
625
- ? (0, enum_coercion_1.coerceEnumValue)(params.assetType, models_2.PublicAssetTypeEnum, 'assetType')
626
- : undefined;
627
- const limit = params.limit;
628
- const offset = params.offset;
629
- const createdAfter = params.createdAfter;
630
- const createdBefore = params.createdBefore;
631
- const withMetadata = params.withMetadata;
632
- // Generate request ID
633
- const requestId = this._generateRequestId();
634
- // Input validation (Phase 2B: zod)
635
- if (this.sdkConfig?.validationEnabled) {
636
- // TODO: Generate validation schema from endpoint parameters
637
- // const validationSchema = z.object({ ... });
638
- // validateParams(validationSchema, params, this.sdkConfig);
639
- }
640
- // Check cache (Phase 2B: optional caching)
641
- const shouldCache = true;
642
- const cache = (0, cache_1.getCache)(this.sdkConfig);
643
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
644
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/orders', params, this.sdkConfig);
645
- const cached = cache.get(cacheKey);
646
- if (cached) {
647
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
648
- return cached;
649
- }
650
- }
651
- // Structured logging (Phase 2B: pino)
652
- this.logger.debug('Get Orders', {
653
- request_id: requestId,
654
- method: 'GET',
655
- path: '/api/v1/brokers/data/orders',
656
- params: params,
657
- action: 'getOrders',
658
- });
659
- try {
660
- const response = await (0, retry_1.retryApiCall)(async () => {
661
- const apiResponse = await this.api.getOrdersApiV1BrokersDataOrdersGet({
662
- ...(brokerId !== undefined ? { brokerId: brokerId } : {}),
663
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
664
- ...(accountId !== undefined ? { accountId: accountId } : {}),
665
- ...(symbol !== undefined ? { symbol: symbol } : {}),
666
- ...(orderStatus !== undefined ? { orderStatus: orderStatus } : {}),
667
- ...(side !== undefined ? { side: side } : {}),
668
- ...(assetType !== undefined ? { assetType: assetType } : {}),
669
- ...(limit !== undefined ? { limit: limit } : {}),
670
- ...(offset !== undefined ? { offset: offset } : {}),
671
- ...(createdAfter !== undefined ? { createdAfter: createdAfter } : {}),
672
- ...(createdBefore !== undefined ? { createdBefore: createdBefore } : {}),
673
- ...(withMetadata !== undefined ? { withMetadata: withMetadata } : {}),
674
- }, {
675
- headers: {
676
- 'x-session-id': this.sessionId,
677
- 'x-company-id': this.companyId,
678
- 'x-csrf-token': this.csrfToken,
679
- 'x-request-id': requestId,
680
- },
681
- });
682
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
683
- }, {}, this.sdkConfig);
684
- // Phase 2C: Unwrap API response and transform to standard response structure
685
- const responseData = response && typeof response === 'object' && 'data' in response
686
- ? response.data
687
- : response;
688
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
689
- throw new Error('Unexpected response shape: missing data');
690
- }
691
- const apiData = responseData.data;
692
- const warnings = Array.isArray(responseData.warnings)
693
- ? responseData.warnings
694
- : undefined;
695
- const meta = responseData.meta;
696
- // Build standard response structure
697
- const standardResponse = {
698
- success: {
699
- data: (0, plain_object_1.convertToPlainObject)(apiData),
700
- ...(meta ? { meta } : {}),
701
- },
702
- ...(warnings && warnings.length > 0
703
- ? {
704
- Warning: warnings.map((w) => ({
705
- message: w.message || String(w),
706
- code: w.code,
707
- details: w.details || w,
708
- })),
709
- }
710
- : {}),
711
- };
712
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
713
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/orders', params, this.sdkConfig);
714
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
715
- }
716
- this.logger.debug('Get Orders completed', {
717
- request_id: requestId,
718
- action: 'getOrders',
719
- });
720
- // Phase 2C: Return standard response structure (already plain objects)
721
- return standardResponse;
722
- }
723
- catch (error) {
724
- try {
725
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
726
- }
727
- catch { }
728
- this.logger.error('Get Orders failed', error, {
729
- request_id: requestId,
730
- action: 'getOrders',
731
- });
732
- // Phase 2C: Extract error details from Axios errors or generic errors
733
- let errorMessage = error instanceof Error ? error.message : String(error);
734
- let errorCode = 'UNKNOWN_ERROR';
735
- let errorStatus;
736
- let errorDetails = {};
737
- // Handle Axios errors (from OpenAPI generator)
738
- if (error?.isAxiosError || error?.response) {
739
- const axiosError = error;
740
- errorStatus = axiosError.response?.status;
741
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
742
- errorMessage =
743
- axiosError.response?.data?.message ||
744
- axiosError.response?.statusText ||
745
- axiosError.message ||
746
- errorMessage;
747
- errorDetails = {
748
- status: errorStatus,
749
- statusText: axiosError.response?.statusText,
750
- responseData: axiosError.response?.data,
751
- requestUrl: axiosError.config?.url,
752
- requestMethod: axiosError.config?.method,
753
- };
754
- }
755
- else if (error instanceof Error) {
756
- errorCode = error?.code || 'UNKNOWN_ERROR';
757
- errorDetails = {
758
- stack: error.stack,
759
- name: error.name,
760
- };
761
- }
762
- else {
763
- errorDetails = { error };
764
- }
765
- // Phase 2C: Return standard error response structure
766
- const errorResponse = {
767
- success: {
768
- data: null,
769
- },
770
- Error: {
771
- message: errorMessage,
772
- code: errorCode,
773
- status: errorStatus,
774
- details: errorDetails,
775
- },
776
- };
777
- return errorResponse;
778
- }
779
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
780
- // TODO Phase 2D: Add orphaned method detection
781
- // TODO Phase 2D: Add advanced convenience methods
782
- }
783
- /**
784
- * Get Positions
785
- *
786
- * Get positions for all authorized broker connections.
787
- *
788
- * This endpoint is accessible from the portal and uses session-only authentication.
789
- * Returns positions from connections the company has read access to.
790
-
791
- * @param params {GetPositionsParams} Input parameters object
792
- * @returns {Promise<GetPositionsResponse>} Standard response with success/Error/Warning structure
793
- *
794
- * Generated from: GET /api/v1/brokers/data/positions
795
- * @methodId get_positions_api_v1_brokers_data_positions_get
796
- * @category brokers
797
- * @example
798
- * ```typescript-client
799
- * // Example with no parameters
800
- * const result = await finatic.getPositions({});
801
- *
802
- * // Access the response data
803
- * if (result.success) {
804
- * console.log('Data:', result.success.data);
805
- * }
806
- * ```
807
- * @example
808
- * ```typescript-client
809
- * // Full example with optional parameters
810
- * const result = await finatic.getPositions({
811
- brokerId: 'id-123',
812
- connectionId: 'id-123',
813
- accountId: 'id-123'
814
- * });
815
- *
816
- * // Handle response with warnings
817
- * if (result.success) {
818
- * console.log('Data:', result.success.data);
819
- * if (result.Warning && result.Warning.length > 0) {
820
- * console.warn('Warnings:', result.Warning);
821
- * }
822
- * } else if (result.Error) {
823
- * console.error('Error:', result.Error.message, result.Error.code);
824
- * }
825
- * ```
826
- */
827
- async getPositions(params) {
828
- // Authentication check
829
- if (!this.sessionId) {
830
- throw new Error('Session not initialized. Call startSession() first.');
831
- }
832
- // Phase 2C: Extract individual params from input params object
833
- const brokerId = params.brokerId;
834
- const connectionId = params.connectionId;
835
- const accountId = params.accountId;
836
- const symbol = params.symbol;
837
- let side = params.side !== undefined
838
- ? (0, enum_coercion_1.coerceEnumValue)(params.side, models_3.PublicOrderSideEnum, 'side')
839
- : undefined;
840
- let assetType = params.assetType !== undefined
841
- ? (0, enum_coercion_1.coerceEnumValue)(params.assetType, models_2.PublicAssetTypeEnum, 'assetType')
842
- : undefined;
843
- let positionStatus = params.positionStatus !== undefined
844
- ? (0, enum_coercion_1.coerceEnumValue)(params.positionStatus, models_5.PublicPositionStatusEnum, 'positionStatus')
845
- : undefined;
846
- const limit = params.limit;
847
- const offset = params.offset;
848
- const updatedAfter = params.updatedAfter;
849
- const updatedBefore = params.updatedBefore;
850
- const withMetadata = params.withMetadata;
851
- // Generate request ID
852
- const requestId = this._generateRequestId();
853
- // Input validation (Phase 2B: zod)
854
- if (this.sdkConfig?.validationEnabled) {
855
- // TODO: Generate validation schema from endpoint parameters
856
- // const validationSchema = z.object({ ... });
857
- // validateParams(validationSchema, params, this.sdkConfig);
858
- }
859
- // Check cache (Phase 2B: optional caching)
860
- const shouldCache = true;
861
- const cache = (0, cache_1.getCache)(this.sdkConfig);
862
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
863
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/positions', params, this.sdkConfig);
864
- const cached = cache.get(cacheKey);
865
- if (cached) {
866
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
867
- return cached;
868
- }
869
- }
870
- // Structured logging (Phase 2B: pino)
871
- this.logger.debug('Get Positions', {
872
- request_id: requestId,
873
- method: 'GET',
874
- path: '/api/v1/brokers/data/positions',
875
- params: params,
876
- action: 'getPositions',
877
- });
878
- try {
879
- const response = await (0, retry_1.retryApiCall)(async () => {
880
- const apiResponse = await this.api.getPositionsApiV1BrokersDataPositionsGet({
881
- ...(brokerId !== undefined ? { brokerId: brokerId } : {}),
882
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
883
- ...(accountId !== undefined ? { accountId: accountId } : {}),
884
- ...(symbol !== undefined ? { symbol: symbol } : {}),
885
- ...(side !== undefined ? { side: side } : {}),
886
- ...(assetType !== undefined ? { assetType: assetType } : {}),
887
- ...(positionStatus !== undefined ? { positionStatus: positionStatus } : {}),
888
- ...(limit !== undefined ? { limit: limit } : {}),
889
- ...(offset !== undefined ? { offset: offset } : {}),
890
- ...(updatedAfter !== undefined ? { updatedAfter: updatedAfter } : {}),
891
- ...(updatedBefore !== undefined ? { updatedBefore: updatedBefore } : {}),
892
- ...(withMetadata !== undefined ? { withMetadata: withMetadata } : {}),
893
- }, {
894
- headers: {
895
- 'x-session-id': this.sessionId,
896
- 'x-company-id': this.companyId,
897
- 'x-csrf-token': this.csrfToken,
898
- 'x-request-id': requestId,
899
- },
900
- });
901
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
902
- }, {}, this.sdkConfig);
903
- // Phase 2C: Unwrap API response and transform to standard response structure
904
- const responseData = response && typeof response === 'object' && 'data' in response
905
- ? response.data
906
- : response;
907
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
908
- throw new Error('Unexpected response shape: missing data');
909
- }
910
- const apiData = responseData.data;
911
- const warnings = Array.isArray(responseData.warnings)
912
- ? responseData.warnings
913
- : undefined;
914
- const meta = responseData.meta;
915
- // Build standard response structure
916
- const standardResponse = {
917
- success: {
918
- data: (0, plain_object_1.convertToPlainObject)(apiData),
919
- ...(meta ? { meta } : {}),
920
- },
921
- ...(warnings && warnings.length > 0
922
- ? {
923
- Warning: warnings.map((w) => ({
924
- message: w.message || String(w),
925
- code: w.code,
926
- details: w.details || w,
927
- })),
928
- }
929
- : {}),
930
- };
931
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
932
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/positions', params, this.sdkConfig);
933
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
934
- }
935
- this.logger.debug('Get Positions completed', {
936
- request_id: requestId,
937
- action: 'getPositions',
938
- });
939
- // Phase 2C: Return standard response structure (already plain objects)
940
- return standardResponse;
941
- }
942
- catch (error) {
943
- try {
944
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
945
- }
946
- catch { }
947
- this.logger.error('Get Positions failed', error, {
948
- request_id: requestId,
949
- action: 'getPositions',
950
- });
951
- // Phase 2C: Extract error details from Axios errors or generic errors
952
- let errorMessage = error instanceof Error ? error.message : String(error);
953
- let errorCode = 'UNKNOWN_ERROR';
954
- let errorStatus;
955
- let errorDetails = {};
956
- // Handle Axios errors (from OpenAPI generator)
957
- if (error?.isAxiosError || error?.response) {
958
- const axiosError = error;
959
- errorStatus = axiosError.response?.status;
960
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
961
- errorMessage =
962
- axiosError.response?.data?.message ||
963
- axiosError.response?.statusText ||
964
- axiosError.message ||
965
- errorMessage;
966
- errorDetails = {
967
- status: errorStatus,
968
- statusText: axiosError.response?.statusText,
969
- responseData: axiosError.response?.data,
970
- requestUrl: axiosError.config?.url,
971
- requestMethod: axiosError.config?.method,
972
- };
973
- }
974
- else if (error instanceof Error) {
975
- errorCode = error?.code || 'UNKNOWN_ERROR';
976
- errorDetails = {
977
- stack: error.stack,
978
- name: error.name,
979
- };
980
- }
981
- else {
982
- errorDetails = { error };
983
- }
984
- // Phase 2C: Return standard error response structure
985
- const errorResponse = {
986
- success: {
987
- data: null,
988
- },
989
- Error: {
990
- message: errorMessage,
991
- code: errorCode,
992
- status: errorStatus,
993
- details: errorDetails,
994
- },
995
- };
996
- return errorResponse;
997
- }
998
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
999
- // TODO Phase 2D: Add orphaned method detection
1000
- // TODO Phase 2D: Add advanced convenience methods
1001
- }
1002
- /**
1003
- * Get Balances
1004
- *
1005
- * Get balances for all authorized broker connections.
1006
- *
1007
- * This endpoint is accessible from the portal and uses session-only authentication.
1008
- * Returns balances from connections the company has read access to.
1009
-
1010
- * @param params {GetBalancesParams} Input parameters object
1011
- * @returns {Promise<GetBalancesResponse>} Standard response with success/Error/Warning structure
1012
- *
1013
- * Generated from: GET /api/v1/brokers/data/balances
1014
- * @methodId get_balances_api_v1_brokers_data_balances_get
1015
- * @category brokers
1016
- * @example
1017
- * ```typescript-client
1018
- * // Example with no parameters
1019
- * const result = await finatic.getBalances({});
1020
- *
1021
- * // Access the response data
1022
- * if (result.success) {
1023
- * console.log('Data:', result.success.data);
1024
- * }
1025
- * ```
1026
- * @example
1027
- * ```typescript-client
1028
- * // Full example with optional parameters
1029
- * const result = await finatic.getBalances({
1030
- brokerId: 'id-123',
1031
- connectionId: 'id-123',
1032
- accountId: 'id-123'
1033
- * });
1034
- *
1035
- * // Handle response with warnings
1036
- * if (result.success) {
1037
- * console.log('Data:', result.success.data);
1038
- * if (result.Warning && result.Warning.length > 0) {
1039
- * console.warn('Warnings:', result.Warning);
1040
- * }
1041
- * } else if (result.Error) {
1042
- * console.error('Error:', result.Error.message, result.Error.code);
1043
- * }
1044
- * ```
1045
- */
1046
- async getBalances(params) {
1047
- // Authentication check
1048
- if (!this.sessionId) {
1049
- throw new Error('Session not initialized. Call startSession() first.');
1050
- }
1051
- // Phase 2C: Extract individual params from input params object
1052
- const brokerId = params.brokerId;
1053
- const connectionId = params.connectionId;
1054
- const accountId = params.accountId;
1055
- const isEndOfDaySnapshot = params.isEndOfDaySnapshot;
1056
- const limit = params.limit;
1057
- const offset = params.offset;
1058
- const balanceCreatedAfter = params.balanceCreatedAfter;
1059
- const balanceCreatedBefore = params.balanceCreatedBefore;
1060
- const withMetadata = params.withMetadata;
1061
- // Generate request ID
1062
- const requestId = this._generateRequestId();
1063
- // Input validation (Phase 2B: zod)
1064
- if (this.sdkConfig?.validationEnabled) {
1065
- // TODO: Generate validation schema from endpoint parameters
1066
- // const validationSchema = z.object({ ... });
1067
- // validateParams(validationSchema, params, this.sdkConfig);
1068
- }
1069
- // Check cache (Phase 2B: optional caching)
1070
- const shouldCache = true;
1071
- const cache = (0, cache_1.getCache)(this.sdkConfig);
1072
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1073
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/balances', params, this.sdkConfig);
1074
- const cached = cache.get(cacheKey);
1075
- if (cached) {
1076
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
1077
- return cached;
1078
- }
1079
- }
1080
- // Structured logging (Phase 2B: pino)
1081
- this.logger.debug('Get Balances', {
1082
- request_id: requestId,
1083
- method: 'GET',
1084
- path: '/api/v1/brokers/data/balances',
1085
- params: params,
1086
- action: 'getBalances',
1087
- });
1088
- try {
1089
- const response = await (0, retry_1.retryApiCall)(async () => {
1090
- const apiResponse = await this.api.getBalancesApiV1BrokersDataBalancesGet({
1091
- ...(brokerId !== undefined ? { brokerId: brokerId } : {}),
1092
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
1093
- ...(accountId !== undefined ? { accountId: accountId } : {}),
1094
- ...(isEndOfDaySnapshot !== undefined
1095
- ? { isEndOfDaySnapshot: isEndOfDaySnapshot }
1096
- : {}),
1097
- ...(limit !== undefined ? { limit: limit } : {}),
1098
- ...(offset !== undefined ? { offset: offset } : {}),
1099
- ...(balanceCreatedAfter !== undefined
1100
- ? { balanceCreatedAfter: balanceCreatedAfter }
1101
- : {}),
1102
- ...(balanceCreatedBefore !== undefined
1103
- ? { balanceCreatedBefore: balanceCreatedBefore }
1104
- : {}),
1105
- ...(withMetadata !== undefined ? { withMetadata: withMetadata } : {}),
1106
- }, {
1107
- headers: {
1108
- 'x-session-id': this.sessionId,
1109
- 'x-company-id': this.companyId,
1110
- 'x-csrf-token': this.csrfToken,
1111
- 'x-request-id': requestId,
1112
- },
1113
- });
1114
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
1115
- }, {}, this.sdkConfig);
1116
- // Phase 2C: Unwrap API response and transform to standard response structure
1117
- const responseData = response && typeof response === 'object' && 'data' in response
1118
- ? response.data
1119
- : response;
1120
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
1121
- throw new Error('Unexpected response shape: missing data');
1122
- }
1123
- const apiData = responseData.data;
1124
- const warnings = Array.isArray(responseData.warnings)
1125
- ? responseData.warnings
1126
- : undefined;
1127
- const meta = responseData.meta;
1128
- // Build standard response structure
1129
- const standardResponse = {
1130
- success: {
1131
- data: (0, plain_object_1.convertToPlainObject)(apiData),
1132
- ...(meta ? { meta } : {}),
1133
- },
1134
- ...(warnings && warnings.length > 0
1135
- ? {
1136
- Warning: warnings.map((w) => ({
1137
- message: w.message || String(w),
1138
- code: w.code,
1139
- details: w.details || w,
1140
- })),
1141
- }
1142
- : {}),
1143
- };
1144
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1145
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/balances', params, this.sdkConfig);
1146
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
1147
- }
1148
- this.logger.debug('Get Balances completed', {
1149
- request_id: requestId,
1150
- action: 'getBalances',
1151
- });
1152
- // Phase 2C: Return standard response structure (already plain objects)
1153
- return standardResponse;
1154
- }
1155
- catch (error) {
1156
- try {
1157
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
1158
- }
1159
- catch { }
1160
- this.logger.error('Get Balances failed', error, {
1161
- request_id: requestId,
1162
- action: 'getBalances',
1163
- });
1164
- // Phase 2C: Extract error details from Axios errors or generic errors
1165
- let errorMessage = error instanceof Error ? error.message : String(error);
1166
- let errorCode = 'UNKNOWN_ERROR';
1167
- let errorStatus;
1168
- let errorDetails = {};
1169
- // Handle Axios errors (from OpenAPI generator)
1170
- if (error?.isAxiosError || error?.response) {
1171
- const axiosError = error;
1172
- errorStatus = axiosError.response?.status;
1173
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
1174
- errorMessage =
1175
- axiosError.response?.data?.message ||
1176
- axiosError.response?.statusText ||
1177
- axiosError.message ||
1178
- errorMessage;
1179
- errorDetails = {
1180
- status: errorStatus,
1181
- statusText: axiosError.response?.statusText,
1182
- responseData: axiosError.response?.data,
1183
- requestUrl: axiosError.config?.url,
1184
- requestMethod: axiosError.config?.method,
1185
- };
1186
- }
1187
- else if (error instanceof Error) {
1188
- errorCode = error?.code || 'UNKNOWN_ERROR';
1189
- errorDetails = {
1190
- stack: error.stack,
1191
- name: error.name,
1192
- };
1193
- }
1194
- else {
1195
- errorDetails = { error };
1196
- }
1197
- // Phase 2C: Return standard error response structure
1198
- const errorResponse = {
1199
- success: {
1200
- data: null,
1201
- },
1202
- Error: {
1203
- message: errorMessage,
1204
- code: errorCode,
1205
- status: errorStatus,
1206
- details: errorDetails,
1207
- },
1208
- };
1209
- return errorResponse;
1210
- }
1211
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
1212
- // TODO Phase 2D: Add orphaned method detection
1213
- // TODO Phase 2D: Add advanced convenience methods
1214
- }
1215
- /**
1216
- * Get Accounts
1217
- *
1218
- * Get accounts for all authorized broker connections.
1219
- *
1220
- * This endpoint is accessible from the portal and uses session-only authentication.
1221
- * Returns accounts from connections the company has read access to.
1222
-
1223
- * @param params {GetAccountsParams} Input parameters object
1224
- * @returns {Promise<GetAccountsResponse>} Standard response with success/Error/Warning structure
1225
- *
1226
- * Generated from: GET /api/v1/brokers/data/accounts
1227
- * @methodId get_accounts_api_v1_brokers_data_accounts_get
1228
- * @category brokers
1229
- * @example
1230
- * ```typescript-client
1231
- * // Example with no parameters
1232
- * const result = await finatic.getAccounts({});
1233
- *
1234
- * // Access the response data
1235
- * if (result.success) {
1236
- * console.log('Data:', result.success.data);
1237
- * }
1238
- * ```
1239
- * @example
1240
- * ```typescript-client
1241
- * // Full example with optional parameters
1242
- * const result = await finatic.getAccounts({
1243
- brokerId: 'id-123',
1244
- connectionId: 'id-123',
1245
- accountType: 'cash'
1246
- * });
1247
- *
1248
- * // Handle response with warnings
1249
- * if (result.success) {
1250
- * console.log('Data:', result.success.data);
1251
- * if (result.Warning && result.Warning.length > 0) {
1252
- * console.warn('Warnings:', result.Warning);
1253
- * }
1254
- * } else if (result.Error) {
1255
- * console.error('Error:', result.Error.message, result.Error.code);
1256
- * }
1257
- * ```
1258
- */
1259
- async getAccounts(params) {
1260
- // Authentication check
1261
- if (!this.sessionId) {
1262
- throw new Error('Session not initialized. Call startSession() first.');
1263
- }
1264
- // Phase 2C: Extract individual params from input params object
1265
- const brokerId = params.brokerId;
1266
- const connectionId = params.connectionId;
1267
- let accountType = params.accountType !== undefined
1268
- ? (0, enum_coercion_1.coerceEnumValue)(params.accountType, models_1.PublicAccountTypeEnum, 'accountType')
1269
- : undefined;
1270
- const status = params.status;
1271
- const currency = params.currency;
1272
- const limit = params.limit;
1273
- const offset = params.offset;
1274
- const withMetadata = params.withMetadata;
1275
- // Generate request ID
1276
- const requestId = this._generateRequestId();
1277
- // Input validation (Phase 2B: zod)
1278
- if (this.sdkConfig?.validationEnabled) {
1279
- // TODO: Generate validation schema from endpoint parameters
1280
- // const validationSchema = z.object({ ... });
1281
- // validateParams(validationSchema, params, this.sdkConfig);
1282
- }
1283
- // Check cache (Phase 2B: optional caching)
1284
- const shouldCache = true;
1285
- const cache = (0, cache_1.getCache)(this.sdkConfig);
1286
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1287
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/accounts', params, this.sdkConfig);
1288
- const cached = cache.get(cacheKey);
1289
- if (cached) {
1290
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
1291
- return cached;
1292
- }
1293
- }
1294
- // Structured logging (Phase 2B: pino)
1295
- this.logger.debug('Get Accounts', {
1296
- request_id: requestId,
1297
- method: 'GET',
1298
- path: '/api/v1/brokers/data/accounts',
1299
- params: params,
1300
- action: 'getAccounts',
1301
- });
1302
- try {
1303
- const response = await (0, retry_1.retryApiCall)(async () => {
1304
- const apiResponse = await this.api.getAccountsApiV1BrokersDataAccountsGet({
1305
- ...(brokerId !== undefined ? { brokerId: brokerId } : {}),
1306
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
1307
- ...(accountType !== undefined ? { accountType: accountType } : {}),
1308
- ...(status !== undefined ? { status: status } : {}),
1309
- ...(currency !== undefined ? { currency: currency } : {}),
1310
- ...(limit !== undefined ? { limit: limit } : {}),
1311
- ...(offset !== undefined ? { offset: offset } : {}),
1312
- ...(withMetadata !== undefined ? { withMetadata: withMetadata } : {}),
1313
- }, {
1314
- headers: {
1315
- 'x-session-id': this.sessionId,
1316
- 'x-company-id': this.companyId,
1317
- 'x-csrf-token': this.csrfToken,
1318
- 'x-request-id': requestId,
1319
- },
1320
- });
1321
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
1322
- }, {}, this.sdkConfig);
1323
- // Phase 2C: Unwrap API response and transform to standard response structure
1324
- const responseData = response && typeof response === 'object' && 'data' in response
1325
- ? response.data
1326
- : response;
1327
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
1328
- throw new Error('Unexpected response shape: missing data');
1329
- }
1330
- const apiData = responseData.data;
1331
- const warnings = Array.isArray(responseData.warnings)
1332
- ? responseData.warnings
1333
- : undefined;
1334
- const meta = responseData.meta;
1335
- // Build standard response structure
1336
- const standardResponse = {
1337
- success: {
1338
- data: (0, plain_object_1.convertToPlainObject)(apiData),
1339
- ...(meta ? { meta } : {}),
1340
- },
1341
- ...(warnings && warnings.length > 0
1342
- ? {
1343
- Warning: warnings.map((w) => ({
1344
- message: w.message || String(w),
1345
- code: w.code,
1346
- details: w.details || w,
1347
- })),
1348
- }
1349
- : {}),
1350
- };
1351
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1352
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/accounts', params, this.sdkConfig);
1353
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
1354
- }
1355
- this.logger.debug('Get Accounts completed', {
1356
- request_id: requestId,
1357
- action: 'getAccounts',
1358
- });
1359
- // Phase 2C: Return standard response structure (already plain objects)
1360
- return standardResponse;
1361
- }
1362
- catch (error) {
1363
- try {
1364
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
1365
- }
1366
- catch { }
1367
- this.logger.error('Get Accounts failed', error, {
1368
- request_id: requestId,
1369
- action: 'getAccounts',
1370
- });
1371
- // Phase 2C: Extract error details from Axios errors or generic errors
1372
- let errorMessage = error instanceof Error ? error.message : String(error);
1373
- let errorCode = 'UNKNOWN_ERROR';
1374
- let errorStatus;
1375
- let errorDetails = {};
1376
- // Handle Axios errors (from OpenAPI generator)
1377
- if (error?.isAxiosError || error?.response) {
1378
- const axiosError = error;
1379
- errorStatus = axiosError.response?.status;
1380
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
1381
- errorMessage =
1382
- axiosError.response?.data?.message ||
1383
- axiosError.response?.statusText ||
1384
- axiosError.message ||
1385
- errorMessage;
1386
- errorDetails = {
1387
- status: errorStatus,
1388
- statusText: axiosError.response?.statusText,
1389
- responseData: axiosError.response?.data,
1390
- requestUrl: axiosError.config?.url,
1391
- requestMethod: axiosError.config?.method,
1392
- };
1393
- }
1394
- else if (error instanceof Error) {
1395
- errorCode = error?.code || 'UNKNOWN_ERROR';
1396
- errorDetails = {
1397
- stack: error.stack,
1398
- name: error.name,
1399
- };
1400
- }
1401
- else {
1402
- errorDetails = { error };
1403
- }
1404
- // Phase 2C: Return standard error response structure
1405
- const errorResponse = {
1406
- success: {
1407
- data: null,
1408
- },
1409
- Error: {
1410
- message: errorMessage,
1411
- code: errorCode,
1412
- status: errorStatus,
1413
- details: errorDetails,
1414
- },
1415
- };
1416
- return errorResponse;
1417
- }
1418
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
1419
- // TODO Phase 2D: Add orphaned method detection
1420
- // TODO Phase 2D: Add advanced convenience methods
1421
- }
1422
- /**
1423
- * Get Order Fills
1424
- *
1425
- * Get order fills for a specific order.
1426
- *
1427
- * This endpoint returns all execution fills for the specified order.
1428
-
1429
- * @param params {GetOrderFillsParams} Input parameters object
1430
- * @returns {Promise<GetOrderFillsResponse>} Standard response with success/Error/Warning structure
1431
- *
1432
- * Generated from: GET /api/v1/brokers/data/orders/{order_id}/fills
1433
- * @methodId get_order_fills_api_v1_brokers_data_orders__order_id__fills_get
1434
- * @category brokers
1435
- * @example
1436
- * ```typescript-client
1437
- * // Minimal example with required parameters only
1438
- * const result = await finatic.getOrderFills({
1439
- orderId: 'id-123'
1440
- * });
1441
- *
1442
- * // Access the response data
1443
- * if (result.success) {
1444
- * console.log('Data:', result.success.data);
1445
- * } else if (result.Error) {
1446
- * console.error('Error:', result.Error.message);
1447
- * }
1448
- * ```
1449
- * @example
1450
- * ```typescript-client
1451
- * // Full example with optional parameters
1452
- * const result = await finatic.getOrderFills({
1453
- orderId: 'id-123',
1454
- connectionId: 'id-123',
1455
- limit: 10,
1456
- offset: 0
1457
- * });
1458
- *
1459
- * // Handle response with warnings
1460
- * if (result.success) {
1461
- * console.log('Data:', result.success.data);
1462
- * if (result.Warning && result.Warning.length > 0) {
1463
- * console.warn('Warnings:', result.Warning);
1464
- * }
1465
- * } else if (result.Error) {
1466
- * console.error('Error:', result.Error.message, result.Error.code);
1467
- * }
1468
- * ```
1469
- */
1470
- async getOrderFills(params) {
1471
- // Authentication check
1472
- if (!this.sessionId) {
1473
- throw new Error('Session not initialized. Call startSession() first.');
1474
- }
1475
- // Phase 2C: Extract individual params from input params object
1476
- const orderId = params.orderId;
1477
- const connectionId = params.connectionId;
1478
- const limit = params.limit;
1479
- const offset = params.offset;
1480
- // Generate request ID
1481
- const requestId = this._generateRequestId();
1482
- // Input validation (Phase 2B: zod)
1483
- if (this.sdkConfig?.validationEnabled) {
1484
- // TODO: Generate validation schema from endpoint parameters
1485
- // const validationSchema = z.object({ ... });
1486
- // validateParams(validationSchema, params, this.sdkConfig);
1487
- }
1488
- // Check cache (Phase 2B: optional caching)
1489
- const shouldCache = true;
1490
- const cache = (0, cache_1.getCache)(this.sdkConfig);
1491
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1492
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/orders/{order_id}/fills', params, this.sdkConfig);
1493
- const cached = cache.get(cacheKey);
1494
- if (cached) {
1495
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
1496
- return cached;
1497
- }
1498
- }
1499
- // Structured logging (Phase 2B: pino)
1500
- this.logger.debug('Get Order Fills', {
1501
- request_id: requestId,
1502
- method: 'GET',
1503
- path: '/api/v1/brokers/data/orders/{order_id}/fills',
1504
- params: params,
1505
- action: 'getOrderFills',
1506
- });
1507
- try {
1508
- const response = await (0, retry_1.retryApiCall)(async () => {
1509
- const apiResponse = await this.api.getOrderFillsApiV1BrokersDataOrdersOrderIdFillsGet({
1510
- orderId: orderId,
1511
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
1512
- ...(limit !== undefined ? { limit: limit } : {}),
1513
- ...(offset !== undefined ? { offset: offset } : {}),
1514
- }, {
1515
- headers: {
1516
- 'x-session-id': this.sessionId,
1517
- 'x-company-id': this.companyId,
1518
- 'x-csrf-token': this.csrfToken,
1519
- 'x-request-id': requestId,
1520
- },
1521
- });
1522
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
1523
- }, {}, this.sdkConfig);
1524
- // Phase 2C: Unwrap API response and transform to standard response structure
1525
- const responseData = response && typeof response === 'object' && 'data' in response
1526
- ? response.data
1527
- : response;
1528
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
1529
- throw new Error('Unexpected response shape: missing data');
1530
- }
1531
- const apiData = responseData.data;
1532
- const warnings = Array.isArray(responseData.warnings)
1533
- ? responseData.warnings
1534
- : undefined;
1535
- const meta = responseData.meta;
1536
- // Build standard response structure
1537
- const standardResponse = {
1538
- success: {
1539
- data: (0, plain_object_1.convertToPlainObject)(apiData),
1540
- ...(meta ? { meta } : {}),
1541
- },
1542
- ...(warnings && warnings.length > 0
1543
- ? {
1544
- Warning: warnings.map((w) => ({
1545
- message: w.message || String(w),
1546
- code: w.code,
1547
- details: w.details || w,
1548
- })),
1549
- }
1550
- : {}),
1551
- };
1552
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1553
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/orders/{order_id}/fills', params, this.sdkConfig);
1554
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
1555
- }
1556
- this.logger.debug('Get Order Fills completed', {
1557
- request_id: requestId,
1558
- action: 'getOrderFills',
1559
- });
1560
- // Phase 2C: Return standard response structure (already plain objects)
1561
- return standardResponse;
1562
- }
1563
- catch (error) {
1564
- try {
1565
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
1566
- }
1567
- catch { }
1568
- this.logger.error('Get Order Fills failed', error, {
1569
- request_id: requestId,
1570
- action: 'getOrderFills',
1571
- });
1572
- // Phase 2C: Extract error details from Axios errors or generic errors
1573
- let errorMessage = error instanceof Error ? error.message : String(error);
1574
- let errorCode = 'UNKNOWN_ERROR';
1575
- let errorStatus;
1576
- let errorDetails = {};
1577
- // Handle Axios errors (from OpenAPI generator)
1578
- if (error?.isAxiosError || error?.response) {
1579
- const axiosError = error;
1580
- errorStatus = axiosError.response?.status;
1581
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
1582
- errorMessage =
1583
- axiosError.response?.data?.message ||
1584
- axiosError.response?.statusText ||
1585
- axiosError.message ||
1586
- errorMessage;
1587
- errorDetails = {
1588
- status: errorStatus,
1589
- statusText: axiosError.response?.statusText,
1590
- responseData: axiosError.response?.data,
1591
- requestUrl: axiosError.config?.url,
1592
- requestMethod: axiosError.config?.method,
1593
- };
1594
- }
1595
- else if (error instanceof Error) {
1596
- errorCode = error?.code || 'UNKNOWN_ERROR';
1597
- errorDetails = {
1598
- stack: error.stack,
1599
- name: error.name,
1600
- };
1601
- }
1602
- else {
1603
- errorDetails = { error };
1604
- }
1605
- // Phase 2C: Return standard error response structure
1606
- const errorResponse = {
1607
- success: {
1608
- data: null,
1609
- },
1610
- Error: {
1611
- message: errorMessage,
1612
- code: errorCode,
1613
- status: errorStatus,
1614
- details: errorDetails,
1615
- },
1616
- };
1617
- return errorResponse;
1618
- }
1619
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
1620
- // TODO Phase 2D: Add orphaned method detection
1621
- // TODO Phase 2D: Add advanced convenience methods
1622
- }
1623
- /**
1624
- * Get Order Events
1625
- *
1626
- * Get order events for a specific order.
1627
- *
1628
- * This endpoint returns all lifecycle events for the specified order.
1629
-
1630
- * @param params {GetOrderEventsParams} Input parameters object
1631
- * @returns {Promise<GetOrderEventsResponse>} Standard response with success/Error/Warning structure
1632
- *
1633
- * Generated from: GET /api/v1/brokers/data/orders/{order_id}/events
1634
- * @methodId get_order_events_api_v1_brokers_data_orders__order_id__events_get
1635
- * @category brokers
1636
- * @example
1637
- * ```typescript-client
1638
- * // Minimal example with required parameters only
1639
- * const result = await finatic.getOrderEvents({
1640
- orderId: 'id-123'
1641
- * });
1642
- *
1643
- * // Access the response data
1644
- * if (result.success) {
1645
- * console.log('Data:', result.success.data);
1646
- * } else if (result.Error) {
1647
- * console.error('Error:', result.Error.message);
1648
- * }
1649
- * ```
1650
- * @example
1651
- * ```typescript-client
1652
- * // Full example with optional parameters
1653
- * const result = await finatic.getOrderEvents({
1654
- orderId: 'id-123',
1655
- connectionId: 'id-123',
1656
- limit: 10,
1657
- offset: 0
1658
- * });
1659
- *
1660
- * // Handle response with warnings
1661
- * if (result.success) {
1662
- * console.log('Data:', result.success.data);
1663
- * if (result.Warning && result.Warning.length > 0) {
1664
- * console.warn('Warnings:', result.Warning);
1665
- * }
1666
- * } else if (result.Error) {
1667
- * console.error('Error:', result.Error.message, result.Error.code);
1668
- * }
1669
- * ```
1670
- */
1671
- async getOrderEvents(params) {
1672
- // Authentication check
1673
- if (!this.sessionId) {
1674
- throw new Error('Session not initialized. Call startSession() first.');
1675
- }
1676
- // Phase 2C: Extract individual params from input params object
1677
- const orderId = params.orderId;
1678
- const connectionId = params.connectionId;
1679
- const limit = params.limit;
1680
- const offset = params.offset;
1681
- // Generate request ID
1682
- const requestId = this._generateRequestId();
1683
- // Input validation (Phase 2B: zod)
1684
- if (this.sdkConfig?.validationEnabled) {
1685
- // TODO: Generate validation schema from endpoint parameters
1686
- // const validationSchema = z.object({ ... });
1687
- // validateParams(validationSchema, params, this.sdkConfig);
1688
- }
1689
- // Check cache (Phase 2B: optional caching)
1690
- const shouldCache = true;
1691
- const cache = (0, cache_1.getCache)(this.sdkConfig);
1692
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1693
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/orders/{order_id}/events', params, this.sdkConfig);
1694
- const cached = cache.get(cacheKey);
1695
- if (cached) {
1696
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
1697
- return cached;
1698
- }
1699
- }
1700
- // Structured logging (Phase 2B: pino)
1701
- this.logger.debug('Get Order Events', {
1702
- request_id: requestId,
1703
- method: 'GET',
1704
- path: '/api/v1/brokers/data/orders/{order_id}/events',
1705
- params: params,
1706
- action: 'getOrderEvents',
1707
- });
1708
- try {
1709
- const response = await (0, retry_1.retryApiCall)(async () => {
1710
- const apiResponse = await this.api.getOrderEventsApiV1BrokersDataOrdersOrderIdEventsGet({
1711
- orderId: orderId,
1712
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
1713
- ...(limit !== undefined ? { limit: limit } : {}),
1714
- ...(offset !== undefined ? { offset: offset } : {}),
1715
- }, {
1716
- headers: {
1717
- 'x-session-id': this.sessionId,
1718
- 'x-company-id': this.companyId,
1719
- 'x-csrf-token': this.csrfToken,
1720
- 'x-request-id': requestId,
1721
- },
1722
- });
1723
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
1724
- }, {}, this.sdkConfig);
1725
- // Phase 2C: Unwrap API response and transform to standard response structure
1726
- const responseData = response && typeof response === 'object' && 'data' in response
1727
- ? response.data
1728
- : response;
1729
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
1730
- throw new Error('Unexpected response shape: missing data');
1731
- }
1732
- const apiData = responseData.data;
1733
- const warnings = Array.isArray(responseData.warnings)
1734
- ? responseData.warnings
1735
- : undefined;
1736
- const meta = responseData.meta;
1737
- // Build standard response structure
1738
- const standardResponse = {
1739
- success: {
1740
- data: (0, plain_object_1.convertToPlainObject)(apiData),
1741
- ...(meta ? { meta } : {}),
1742
- },
1743
- ...(warnings && warnings.length > 0
1744
- ? {
1745
- Warning: warnings.map((w) => ({
1746
- message: w.message || String(w),
1747
- code: w.code,
1748
- details: w.details || w,
1749
- })),
1750
- }
1751
- : {}),
1752
- };
1753
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1754
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/orders/{order_id}/events', params, this.sdkConfig);
1755
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
1756
- }
1757
- this.logger.debug('Get Order Events completed', {
1758
- request_id: requestId,
1759
- action: 'getOrderEvents',
1760
- });
1761
- // Phase 2C: Return standard response structure (already plain objects)
1762
- return standardResponse;
1763
- }
1764
- catch (error) {
1765
- try {
1766
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
1767
- }
1768
- catch { }
1769
- this.logger.error('Get Order Events failed', error, {
1770
- request_id: requestId,
1771
- action: 'getOrderEvents',
1772
- });
1773
- // Phase 2C: Extract error details from Axios errors or generic errors
1774
- let errorMessage = error instanceof Error ? error.message : String(error);
1775
- let errorCode = 'UNKNOWN_ERROR';
1776
- let errorStatus;
1777
- let errorDetails = {};
1778
- // Handle Axios errors (from OpenAPI generator)
1779
- if (error?.isAxiosError || error?.response) {
1780
- const axiosError = error;
1781
- errorStatus = axiosError.response?.status;
1782
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
1783
- errorMessage =
1784
- axiosError.response?.data?.message ||
1785
- axiosError.response?.statusText ||
1786
- axiosError.message ||
1787
- errorMessage;
1788
- errorDetails = {
1789
- status: errorStatus,
1790
- statusText: axiosError.response?.statusText,
1791
- responseData: axiosError.response?.data,
1792
- requestUrl: axiosError.config?.url,
1793
- requestMethod: axiosError.config?.method,
1794
- };
1795
- }
1796
- else if (error instanceof Error) {
1797
- errorCode = error?.code || 'UNKNOWN_ERROR';
1798
- errorDetails = {
1799
- stack: error.stack,
1800
- name: error.name,
1801
- };
1802
- }
1803
- else {
1804
- errorDetails = { error };
1805
- }
1806
- // Phase 2C: Return standard error response structure
1807
- const errorResponse = {
1808
- success: {
1809
- data: null,
1810
- },
1811
- Error: {
1812
- message: errorMessage,
1813
- code: errorCode,
1814
- status: errorStatus,
1815
- details: errorDetails,
1816
- },
1817
- };
1818
- return errorResponse;
1819
- }
1820
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
1821
- // TODO Phase 2D: Add orphaned method detection
1822
- // TODO Phase 2D: Add advanced convenience methods
1823
- }
1824
- /**
1825
- * Get Order Groups
1826
- *
1827
- * Get order groups.
1828
- *
1829
- * This endpoint returns order groups that contain multiple orders.
1830
-
1831
- * @param params {GetOrderGroupsParams} Input parameters object
1832
- * @returns {Promise<GetOrderGroupsResponse>} Standard response with success/Error/Warning structure
1833
- *
1834
- * Generated from: GET /api/v1/brokers/data/orders/groups
1835
- * @methodId get_order_groups_api_v1_brokers_data_orders_groups_get
1836
- * @category brokers
1837
- * @example
1838
- * ```typescript-client
1839
- * // Example with no parameters
1840
- * const result = await finatic.getOrderGroups({});
1841
- *
1842
- * // Access the response data
1843
- * if (result.success) {
1844
- * console.log('Data:', result.success.data);
1845
- * }
1846
- * ```
1847
- * @example
1848
- * ```typescript-client
1849
- * // Full example with optional parameters
1850
- * const result = await finatic.getOrderGroups({
1851
- brokerId: 'id-123',
1852
- connectionId: 'id-123',
1853
- limit: 10
1854
- * });
1855
- *
1856
- * // Handle response with warnings
1857
- * if (result.success) {
1858
- * console.log('Data:', result.success.data);
1859
- * if (result.Warning && result.Warning.length > 0) {
1860
- * console.warn('Warnings:', result.Warning);
1861
- * }
1862
- * } else if (result.Error) {
1863
- * console.error('Error:', result.Error.message, result.Error.code);
1864
- * }
1865
- * ```
1866
- */
1867
- async getOrderGroups(params) {
1868
- // Authentication check
1869
- if (!this.sessionId) {
1870
- throw new Error('Session not initialized. Call startSession() first.');
1871
- }
1872
- // Phase 2C: Extract individual params from input params object
1873
- const brokerId = params.brokerId;
1874
- const connectionId = params.connectionId;
1875
- const limit = params.limit;
1876
- const offset = params.offset;
1877
- const createdAfter = params.createdAfter;
1878
- const createdBefore = params.createdBefore;
1879
- // Generate request ID
1880
- const requestId = this._generateRequestId();
1881
- // Input validation (Phase 2B: zod)
1882
- if (this.sdkConfig?.validationEnabled) {
1883
- // TODO: Generate validation schema from endpoint parameters
1884
- // const validationSchema = z.object({ ... });
1885
- // validateParams(validationSchema, params, this.sdkConfig);
1886
- }
1887
- // Check cache (Phase 2B: optional caching)
1888
- const shouldCache = true;
1889
- const cache = (0, cache_1.getCache)(this.sdkConfig);
1890
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1891
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/orders/groups', params, this.sdkConfig);
1892
- const cached = cache.get(cacheKey);
1893
- if (cached) {
1894
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
1895
- return cached;
1896
- }
1897
- }
1898
- // Structured logging (Phase 2B: pino)
1899
- this.logger.debug('Get Order Groups', {
1900
- request_id: requestId,
1901
- method: 'GET',
1902
- path: '/api/v1/brokers/data/orders/groups',
1903
- params: params,
1904
- action: 'getOrderGroups',
1905
- });
1906
- try {
1907
- const response = await (0, retry_1.retryApiCall)(async () => {
1908
- const apiResponse = await this.api.getOrderGroupsApiV1BrokersDataOrdersGroupsGet({
1909
- ...(brokerId !== undefined ? { brokerId: brokerId } : {}),
1910
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
1911
- ...(limit !== undefined ? { limit: limit } : {}),
1912
- ...(offset !== undefined ? { offset: offset } : {}),
1913
- ...(createdAfter !== undefined ? { createdAfter: createdAfter } : {}),
1914
- ...(createdBefore !== undefined ? { createdBefore: createdBefore } : {}),
1915
- }, {
1916
- headers: {
1917
- 'x-session-id': this.sessionId,
1918
- 'x-company-id': this.companyId,
1919
- 'x-csrf-token': this.csrfToken,
1920
- 'x-request-id': requestId,
1921
- },
1922
- });
1923
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
1924
- }, {}, this.sdkConfig);
1925
- // Phase 2C: Unwrap API response and transform to standard response structure
1926
- const responseData = response && typeof response === 'object' && 'data' in response
1927
- ? response.data
1928
- : response;
1929
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
1930
- throw new Error('Unexpected response shape: missing data');
1931
- }
1932
- const apiData = responseData.data;
1933
- const warnings = Array.isArray(responseData.warnings)
1934
- ? responseData.warnings
1935
- : undefined;
1936
- const meta = responseData.meta;
1937
- // Build standard response structure
1938
- const standardResponse = {
1939
- success: {
1940
- data: (0, plain_object_1.convertToPlainObject)(apiData),
1941
- ...(meta ? { meta } : {}),
1942
- },
1943
- ...(warnings && warnings.length > 0
1944
- ? {
1945
- Warning: warnings.map((w) => ({
1946
- message: w.message || String(w),
1947
- code: w.code,
1948
- details: w.details || w,
1949
- })),
1950
- }
1951
- : {}),
1952
- };
1953
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
1954
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/orders/groups', params, this.sdkConfig);
1955
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
1956
- }
1957
- this.logger.debug('Get Order Groups completed', {
1958
- request_id: requestId,
1959
- action: 'getOrderGroups',
1960
- });
1961
- // Phase 2C: Return standard response structure (already plain objects)
1962
- return standardResponse;
1963
- }
1964
- catch (error) {
1965
- try {
1966
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
1967
- }
1968
- catch { }
1969
- this.logger.error('Get Order Groups failed', error, {
1970
- request_id: requestId,
1971
- action: 'getOrderGroups',
1972
- });
1973
- // Phase 2C: Extract error details from Axios errors or generic errors
1974
- let errorMessage = error instanceof Error ? error.message : String(error);
1975
- let errorCode = 'UNKNOWN_ERROR';
1976
- let errorStatus;
1977
- let errorDetails = {};
1978
- // Handle Axios errors (from OpenAPI generator)
1979
- if (error?.isAxiosError || error?.response) {
1980
- const axiosError = error;
1981
- errorStatus = axiosError.response?.status;
1982
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
1983
- errorMessage =
1984
- axiosError.response?.data?.message ||
1985
- axiosError.response?.statusText ||
1986
- axiosError.message ||
1987
- errorMessage;
1988
- errorDetails = {
1989
- status: errorStatus,
1990
- statusText: axiosError.response?.statusText,
1991
- responseData: axiosError.response?.data,
1992
- requestUrl: axiosError.config?.url,
1993
- requestMethod: axiosError.config?.method,
1994
- };
1995
- }
1996
- else if (error instanceof Error) {
1997
- errorCode = error?.code || 'UNKNOWN_ERROR';
1998
- errorDetails = {
1999
- stack: error.stack,
2000
- name: error.name,
2001
- };
2002
- }
2003
- else {
2004
- errorDetails = { error };
2005
- }
2006
- // Phase 2C: Return standard error response structure
2007
- const errorResponse = {
2008
- success: {
2009
- data: null,
2010
- },
2011
- Error: {
2012
- message: errorMessage,
2013
- code: errorCode,
2014
- status: errorStatus,
2015
- details: errorDetails,
2016
- },
2017
- };
2018
- return errorResponse;
2019
- }
2020
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
2021
- // TODO Phase 2D: Add orphaned method detection
2022
- // TODO Phase 2D: Add advanced convenience methods
2023
- }
2024
- /**
2025
- * Get Position Lots
2026
- *
2027
- * Get position lots (tax lots for positions).
2028
- *
2029
- * This endpoint returns tax lots for positions, which are used for tax reporting.
2030
- * Each lot tracks when a position was opened/closed and at what prices.
2031
-
2032
- * @param params {GetPositionLotsParams} Input parameters object
2033
- * @returns {Promise<GetPositionLotsResponse>} Standard response with success/Error/Warning structure
2034
- *
2035
- * Generated from: GET /api/v1/brokers/data/positions/lots
2036
- * @methodId get_position_lots_api_v1_brokers_data_positions_lots_get
2037
- * @category brokers
2038
- * @example
2039
- * ```typescript-client
2040
- * // Example with no parameters
2041
- * const result = await finatic.getPositionLots({});
2042
- *
2043
- * // Access the response data
2044
- * if (result.success) {
2045
- * console.log('Data:', result.success.data);
2046
- * }
2047
- * ```
2048
- * @example
2049
- * ```typescript-client
2050
- * // Full example with optional parameters
2051
- * const result = await finatic.getPositionLots({
2052
- brokerId: 'id-123',
2053
- connectionId: 'id-123',
2054
- accountId: 'id-123'
2055
- * });
2056
- *
2057
- * // Handle response with warnings
2058
- * if (result.success) {
2059
- * console.log('Data:', result.success.data);
2060
- * if (result.Warning && result.Warning.length > 0) {
2061
- * console.warn('Warnings:', result.Warning);
2062
- * }
2063
- * } else if (result.Error) {
2064
- * console.error('Error:', result.Error.message, result.Error.code);
2065
- * }
2066
- * ```
2067
- */
2068
- async getPositionLots(params) {
2069
- // Authentication check
2070
- if (!this.sessionId) {
2071
- throw new Error('Session not initialized. Call startSession() first.');
2072
- }
2073
- // Phase 2C: Extract individual params from input params object
2074
- const brokerId = params.brokerId;
2075
- const connectionId = params.connectionId;
2076
- const accountId = params.accountId;
2077
- const symbol = params.symbol;
2078
- const positionId = params.positionId;
2079
- const limit = params.limit;
2080
- const offset = params.offset;
2081
- // Generate request ID
2082
- const requestId = this._generateRequestId();
2083
- // Input validation (Phase 2B: zod)
2084
- if (this.sdkConfig?.validationEnabled) {
2085
- // TODO: Generate validation schema from endpoint parameters
2086
- // const validationSchema = z.object({ ... });
2087
- // validateParams(validationSchema, params, this.sdkConfig);
2088
- }
2089
- // Check cache (Phase 2B: optional caching)
2090
- const shouldCache = true;
2091
- const cache = (0, cache_1.getCache)(this.sdkConfig);
2092
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2093
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/positions/lots', params, this.sdkConfig);
2094
- const cached = cache.get(cacheKey);
2095
- if (cached) {
2096
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
2097
- return cached;
2098
- }
2099
- }
2100
- // Structured logging (Phase 2B: pino)
2101
- this.logger.debug('Get Position Lots', {
2102
- request_id: requestId,
2103
- method: 'GET',
2104
- path: '/api/v1/brokers/data/positions/lots',
2105
- params: params,
2106
- action: 'getPositionLots',
2107
- });
2108
- try {
2109
- const response = await (0, retry_1.retryApiCall)(async () => {
2110
- const apiResponse = await this.api.getPositionLotsApiV1BrokersDataPositionsLotsGet({
2111
- ...(brokerId !== undefined ? { brokerId: brokerId } : {}),
2112
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
2113
- ...(accountId !== undefined ? { accountId: accountId } : {}),
2114
- ...(symbol !== undefined ? { symbol: symbol } : {}),
2115
- ...(positionId !== undefined ? { positionId: positionId } : {}),
2116
- ...(limit !== undefined ? { limit: limit } : {}),
2117
- ...(offset !== undefined ? { offset: offset } : {}),
2118
- }, {
2119
- headers: {
2120
- 'x-session-id': this.sessionId,
2121
- 'x-company-id': this.companyId,
2122
- 'x-csrf-token': this.csrfToken,
2123
- 'x-request-id': requestId,
2124
- },
2125
- });
2126
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
2127
- }, {}, this.sdkConfig);
2128
- // Phase 2C: Unwrap API response and transform to standard response structure
2129
- const responseData = response && typeof response === 'object' && 'data' in response
2130
- ? response.data
2131
- : response;
2132
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
2133
- throw new Error('Unexpected response shape: missing data');
2134
- }
2135
- const apiData = responseData.data;
2136
- const warnings = Array.isArray(responseData.warnings)
2137
- ? responseData.warnings
2138
- : undefined;
2139
- const meta = responseData.meta;
2140
- // Build standard response structure
2141
- const standardResponse = {
2142
- success: {
2143
- data: (0, plain_object_1.convertToPlainObject)(apiData),
2144
- ...(meta ? { meta } : {}),
2145
- },
2146
- ...(warnings && warnings.length > 0
2147
- ? {
2148
- Warning: warnings.map((w) => ({
2149
- message: w.message || String(w),
2150
- code: w.code,
2151
- details: w.details || w,
2152
- })),
2153
- }
2154
- : {}),
2155
- };
2156
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2157
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/positions/lots', params, this.sdkConfig);
2158
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
2159
- }
2160
- this.logger.debug('Get Position Lots completed', {
2161
- request_id: requestId,
2162
- action: 'getPositionLots',
2163
- });
2164
- // Phase 2C: Return standard response structure (already plain objects)
2165
- return standardResponse;
2166
- }
2167
- catch (error) {
2168
- try {
2169
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
2170
- }
2171
- catch { }
2172
- this.logger.error('Get Position Lots failed', error, {
2173
- request_id: requestId,
2174
- action: 'getPositionLots',
2175
- });
2176
- // Phase 2C: Extract error details from Axios errors or generic errors
2177
- let errorMessage = error instanceof Error ? error.message : String(error);
2178
- let errorCode = 'UNKNOWN_ERROR';
2179
- let errorStatus;
2180
- let errorDetails = {};
2181
- // Handle Axios errors (from OpenAPI generator)
2182
- if (error?.isAxiosError || error?.response) {
2183
- const axiosError = error;
2184
- errorStatus = axiosError.response?.status;
2185
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
2186
- errorMessage =
2187
- axiosError.response?.data?.message ||
2188
- axiosError.response?.statusText ||
2189
- axiosError.message ||
2190
- errorMessage;
2191
- errorDetails = {
2192
- status: errorStatus,
2193
- statusText: axiosError.response?.statusText,
2194
- responseData: axiosError.response?.data,
2195
- requestUrl: axiosError.config?.url,
2196
- requestMethod: axiosError.config?.method,
2197
- };
2198
- }
2199
- else if (error instanceof Error) {
2200
- errorCode = error?.code || 'UNKNOWN_ERROR';
2201
- errorDetails = {
2202
- stack: error.stack,
2203
- name: error.name,
2204
- };
2205
- }
2206
- else {
2207
- errorDetails = { error };
2208
- }
2209
- // Phase 2C: Return standard error response structure
2210
- const errorResponse = {
2211
- success: {
2212
- data: null,
2213
- },
2214
- Error: {
2215
- message: errorMessage,
2216
- code: errorCode,
2217
- status: errorStatus,
2218
- details: errorDetails,
2219
- },
2220
- };
2221
- return errorResponse;
2222
- }
2223
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
2224
- // TODO Phase 2D: Add orphaned method detection
2225
- // TODO Phase 2D: Add advanced convenience methods
2226
- }
2227
- /**
2228
- * Get Position Lot Fills
2229
- *
2230
- * Get position lot fills for a specific lot.
2231
- *
2232
- * This endpoint returns all fills associated with a specific position lot.
2233
-
2234
- * @param params {GetPositionLotFillsParams} Input parameters object
2235
- * @returns {Promise<GetPositionLotFillsResponse>} Standard response with success/Error/Warning structure
2236
- *
2237
- * Generated from: GET /api/v1/brokers/data/positions/lots/{lot_id}/fills
2238
- * @methodId get_position_lot_fills_api_v1_brokers_data_positions_lots__lot_id__fills_get
2239
- * @category brokers
2240
- * @example
2241
- * ```typescript-client
2242
- * // Minimal example with required parameters only
2243
- * const result = await finatic.getPositionLotFills({
2244
- lotId: 'id-123'
2245
- * });
2246
- *
2247
- * // Access the response data
2248
- * if (result.success) {
2249
- * console.log('Data:', result.success.data);
2250
- * } else if (result.Error) {
2251
- * console.error('Error:', result.Error.message);
2252
- * }
2253
- * ```
2254
- * @example
2255
- * ```typescript-client
2256
- * // Full example with optional parameters
2257
- * const result = await finatic.getPositionLotFills({
2258
- lotId: 'id-123',
2259
- connectionId: 'id-123',
2260
- limit: 10,
2261
- offset: 0
2262
- * });
2263
- *
2264
- * // Handle response with warnings
2265
- * if (result.success) {
2266
- * console.log('Data:', result.success.data);
2267
- * if (result.Warning && result.Warning.length > 0) {
2268
- * console.warn('Warnings:', result.Warning);
2269
- * }
2270
- * } else if (result.Error) {
2271
- * console.error('Error:', result.Error.message, result.Error.code);
2272
- * }
2273
- * ```
2274
- */
2275
- async getPositionLotFills(params) {
2276
- // Authentication check
2277
- if (!this.sessionId) {
2278
- throw new Error('Session not initialized. Call startSession() first.');
2279
- }
2280
- // Phase 2C: Extract individual params from input params object
2281
- const lotId = params.lotId;
2282
- const connectionId = params.connectionId;
2283
- const limit = params.limit;
2284
- const offset = params.offset;
2285
- // Generate request ID
2286
- const requestId = this._generateRequestId();
2287
- // Input validation (Phase 2B: zod)
2288
- if (this.sdkConfig?.validationEnabled) {
2289
- // TODO: Generate validation schema from endpoint parameters
2290
- // const validationSchema = z.object({ ... });
2291
- // validateParams(validationSchema, params, this.sdkConfig);
2292
- }
2293
- // Check cache (Phase 2B: optional caching)
2294
- const shouldCache = true;
2295
- const cache = (0, cache_1.getCache)(this.sdkConfig);
2296
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2297
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/positions/lots/{lot_id}/fills', params, this.sdkConfig);
2298
- const cached = cache.get(cacheKey);
2299
- if (cached) {
2300
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
2301
- return cached;
2302
- }
2303
- }
2304
- // Structured logging (Phase 2B: pino)
2305
- this.logger.debug('Get Position Lot Fills', {
2306
- request_id: requestId,
2307
- method: 'GET',
2308
- path: '/api/v1/brokers/data/positions/lots/{lot_id}/fills',
2309
- params: params,
2310
- action: 'getPositionLotFills',
2311
- });
2312
- try {
2313
- const response = await (0, retry_1.retryApiCall)(async () => {
2314
- const apiResponse = await this.api.getPositionLotFillsApiV1BrokersDataPositionsLotsLotIdFillsGet({
2315
- lotId: lotId,
2316
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
2317
- ...(limit !== undefined ? { limit: limit } : {}),
2318
- ...(offset !== undefined ? { offset: offset } : {}),
2319
- }, {
2320
- headers: {
2321
- 'x-session-id': this.sessionId,
2322
- 'x-company-id': this.companyId,
2323
- 'x-csrf-token': this.csrfToken,
2324
- 'x-request-id': requestId,
2325
- },
2326
- });
2327
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
2328
- }, {}, this.sdkConfig);
2329
- // Phase 2C: Unwrap API response and transform to standard response structure
2330
- const responseData = response && typeof response === 'object' && 'data' in response
2331
- ? response.data
2332
- : response;
2333
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
2334
- throw new Error('Unexpected response shape: missing data');
2335
- }
2336
- const apiData = responseData.data;
2337
- const warnings = Array.isArray(responseData.warnings)
2338
- ? responseData.warnings
2339
- : undefined;
2340
- const meta = responseData.meta;
2341
- // Build standard response structure
2342
- const standardResponse = {
2343
- success: {
2344
- data: (0, plain_object_1.convertToPlainObject)(apiData),
2345
- ...(meta ? { meta } : {}),
2346
- },
2347
- ...(warnings && warnings.length > 0
2348
- ? {
2349
- Warning: warnings.map((w) => ({
2350
- message: w.message || String(w),
2351
- code: w.code,
2352
- details: w.details || w,
2353
- })),
2354
- }
2355
- : {}),
2356
- };
2357
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2358
- const cacheKey = (0, cache_1.generateCacheKey)('GET', '/api/v1/brokers/data/positions/lots/{lot_id}/fills', params, this.sdkConfig);
2359
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
2360
- }
2361
- this.logger.debug('Get Position Lot Fills completed', {
2362
- request_id: requestId,
2363
- action: 'getPositionLotFills',
2364
- });
2365
- // Phase 2C: Return standard response structure (already plain objects)
2366
- return standardResponse;
2367
- }
2368
- catch (error) {
2369
- try {
2370
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
2371
- }
2372
- catch { }
2373
- this.logger.error('Get Position Lot Fills failed', error, {
2374
- request_id: requestId,
2375
- action: 'getPositionLotFills',
2376
- });
2377
- // Phase 2C: Extract error details from Axios errors or generic errors
2378
- let errorMessage = error instanceof Error ? error.message : String(error);
2379
- let errorCode = 'UNKNOWN_ERROR';
2380
- let errorStatus;
2381
- let errorDetails = {};
2382
- // Handle Axios errors (from OpenAPI generator)
2383
- if (error?.isAxiosError || error?.response) {
2384
- const axiosError = error;
2385
- errorStatus = axiosError.response?.status;
2386
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
2387
- errorMessage =
2388
- axiosError.response?.data?.message ||
2389
- axiosError.response?.statusText ||
2390
- axiosError.message ||
2391
- errorMessage;
2392
- errorDetails = {
2393
- status: errorStatus,
2394
- statusText: axiosError.response?.statusText,
2395
- responseData: axiosError.response?.data,
2396
- requestUrl: axiosError.config?.url,
2397
- requestMethod: axiosError.config?.method,
2398
- };
2399
- }
2400
- else if (error instanceof Error) {
2401
- errorCode = error?.code || 'UNKNOWN_ERROR';
2402
- errorDetails = {
2403
- stack: error.stack,
2404
- name: error.name,
2405
- };
2406
- }
2407
- else {
2408
- errorDetails = { error };
2409
- }
2410
- // Phase 2C: Return standard error response structure
2411
- const errorResponse = {
2412
- success: {
2413
- data: null,
2414
- },
2415
- Error: {
2416
- message: errorMessage,
2417
- code: errorCode,
2418
- status: errorStatus,
2419
- details: errorDetails,
2420
- },
2421
- };
2422
- return errorResponse;
2423
- }
2424
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
2425
- // TODO Phase 2D: Add orphaned method detection
2426
- // TODO Phase 2D: Add advanced convenience methods
2427
- }
2428
- /**
2429
- * Place Order
2430
- *
2431
- * Create a new order via the specified broker connection.
2432
- *
2433
- * This endpoint is accessible from the portal and uses session-only authentication.
2434
- * Requires trading permissions for the company.
2435
- *
2436
- * Standard parameters
2437
- * -------------------
2438
- * The following fields constitute the unified Finatic *common order schema* and
2439
- * therefore appear individually as query parameters in the autogenerated
2440
- * OpenAPI documentation:
2441
- *
2442
- * - ``broker``
2443
- * - ``account_number``
2444
- * - ``order_type``
2445
- * - ``asset_type``
2446
- * - ``action``
2447
- * - ``time_in_force``
2448
- * - ``symbol``
2449
- * - ``order_qty``
2450
- *
2451
- * They are surfaced as *query* parameters **only to make the accepted fields
2452
- * obvious in the interactive docs**. In production usage you should send these
2453
- * fields inside the JSON body (see ``order_request``) so that the entire order
2454
- * specification travels in one payload. (Nothing will break if you send both, but there is no need to do so.)
2455
- *
2456
- * Body payload & broker-specific extras
2457
- * -------------------------------------
2458
- *
2459
- * Put the standard parameters plus any broker-specific extensions under the
2460
- * ``order`` key of the body. Refer to the bundled OpenAPI examples below to
2461
- * see complete payloads for common order types (market, limit, spreads, etc.)
2462
- * across supported brokers.
2463
- *
2464
- * For a formal reference of broker-specific extensions inspect the
2465
- * ``BrokerOrderPlaceExtras`` schema.
2466
- *
2467
- * The endpoint resolves the active ``user_broker_connection`` by calling the
2468
- * ``get_user_broker_connection_ids_for_broker`` RPC in Supabase. If no active
2469
- * connection exists it returns a list of *available* brokers so your client
2470
- * can guide the user accordingly.
2471
- *
2472
- * Broker Notes
2473
- * ------------
2474
- * - The responses that you get back from the broker are not always the same.
2475
- * The response models are validated for each broker, but we do not standardize the repsonses.
2476
- *
2477
- * - Tasty Trade: If you want to trade options for a particular stock, first fetch the full
2478
- * option chain via the GET https://api.tastyworks.com/option-chains/{stock_symbol}/nested endpoint.
2479
- * This endpoint returns all available expirations that tastytrade offers for that equity symbol.
2480
- * Each expiration contains a list of strikes, where each strike has a call and put field representing
2481
- * the call symbol and put symbol respectively.
2482
- *
2483
- * We are planning to add a new endpoint to fetch the option chain for a particular stock and
2484
- * handle this logic for you, but for now you need to fetch the option chain manually.
2485
-
2486
- * @param params {PlaceOrderParams} Input parameters object
2487
- * @returns {Promise<PlaceOrderResponse>} Standard response with success/Error/Warning structure
2488
- *
2489
- * Generated from: POST /api/v1/brokers/orders
2490
- * @methodId place_order_api_v1_brokers_orders_post
2491
- * @category brokers
2492
- * @example
2493
- * ```typescript-client
2494
- * // Example with no parameters
2495
- * const result = await finatic.placeOrder({});
2496
- *
2497
- * // Access the response data
2498
- * if (result.success) {
2499
- * console.log('Data:', result.success.data);
2500
- * }
2501
- * ```
2502
- * @example
2503
- * ```typescript-client
2504
- * // Full example with optional parameters
2505
- * const result = await finatic.placeOrder({
2506
- body: {},
2507
- connectionId: 'id-123'
2508
- * });
2509
- *
2510
- * // Handle response with warnings
2511
- * if (result.success) {
2512
- * console.log('Data:', result.success.data);
2513
- * if (result.Warning && result.Warning.length > 0) {
2514
- * console.warn('Warnings:', result.Warning);
2515
- * }
2516
- * } else if (result.Error) {
2517
- * console.error('Error:', result.Error.message, result.Error.code);
2518
- * }
2519
- * ```
2520
- */
2521
- async placeOrder(params) {
2522
- // Authentication check
2523
- if (!this.sessionId) {
2524
- throw new Error('Session not initialized. Call startSession() first.');
2525
- }
2526
- // Phase 2C: Extract individual params from input params object
2527
- const body = params.body;
2528
- const connectionId = params.connectionId;
2529
- // Generate request ID
2530
- const requestId = this._generateRequestId();
2531
- // Input validation (Phase 2B: zod)
2532
- if (this.sdkConfig?.validationEnabled) {
2533
- // TODO: Generate validation schema from endpoint parameters
2534
- // const validationSchema = z.object({ ... });
2535
- // validateParams(validationSchema, params, this.sdkConfig);
2536
- }
2537
- // Check cache (Phase 2B: optional caching)
2538
- const shouldCache = true;
2539
- const cache = (0, cache_1.getCache)(this.sdkConfig);
2540
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2541
- const cacheKey = (0, cache_1.generateCacheKey)('POST', '/api/v1/brokers/orders', params, this.sdkConfig);
2542
- const cached = cache.get(cacheKey);
2543
- if (cached) {
2544
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
2545
- return cached;
2546
- }
2547
- }
2548
- // Structured logging (Phase 2B: pino)
2549
- this.logger.debug('Place Order', {
2550
- request_id: requestId,
2551
- method: 'POST',
2552
- path: '/api/v1/brokers/orders',
2553
- params: params,
2554
- action: 'placeOrder',
2555
- });
2556
- try {
2557
- const response = await (0, retry_1.retryApiCall)(async () => {
2558
- const apiResponse = await this.api.placeOrderApiV1BrokersOrdersPost({
2559
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
2560
- ...(body !== undefined ? { body: body } : {}),
2561
- }, {
2562
- headers: {
2563
- 'x-session-id': this.sessionId,
2564
- 'x-company-id': this.companyId,
2565
- 'x-csrf-token': this.csrfToken,
2566
- 'x-request-id': requestId,
2567
- },
2568
- });
2569
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
2570
- }, {}, this.sdkConfig);
2571
- // Phase 2C: Unwrap API response and transform to standard response structure
2572
- const responseData = response && typeof response === 'object' && 'data' in response
2573
- ? response.data
2574
- : response;
2575
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
2576
- throw new Error('Unexpected response shape: missing data');
2577
- }
2578
- const apiData = responseData.data;
2579
- const warnings = Array.isArray(responseData.warnings)
2580
- ? responseData.warnings
2581
- : undefined;
2582
- const meta = responseData.meta;
2583
- // Build standard response structure
2584
- const standardResponse = {
2585
- success: {
2586
- data: (0, plain_object_1.convertToPlainObject)(apiData),
2587
- ...(meta ? { meta } : {}),
2588
- },
2589
- ...(warnings && warnings.length > 0
2590
- ? {
2591
- Warning: warnings.map((w) => ({
2592
- message: w.message || String(w),
2593
- code: w.code,
2594
- details: w.details || w,
2595
- })),
2596
- }
2597
- : {}),
2598
- };
2599
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2600
- const cacheKey = (0, cache_1.generateCacheKey)('POST', '/api/v1/brokers/orders', params, this.sdkConfig);
2601
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
2602
- }
2603
- this.logger.debug('Place Order completed', {
2604
- request_id: requestId,
2605
- action: 'placeOrder',
2606
- });
2607
- // Phase 2C: Return standard response structure (already plain objects)
2608
- return standardResponse;
2609
- }
2610
- catch (error) {
2611
- try {
2612
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
2613
- }
2614
- catch { }
2615
- this.logger.error('Place Order failed', error, {
2616
- request_id: requestId,
2617
- action: 'placeOrder',
2618
- });
2619
- // Phase 2C: Extract error details from Axios errors or generic errors
2620
- let errorMessage = error instanceof Error ? error.message : String(error);
2621
- let errorCode = 'UNKNOWN_ERROR';
2622
- let errorStatus;
2623
- let errorDetails = {};
2624
- // Handle Axios errors (from OpenAPI generator)
2625
- if (error?.isAxiosError || error?.response) {
2626
- const axiosError = error;
2627
- errorStatus = axiosError.response?.status;
2628
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
2629
- errorMessage =
2630
- axiosError.response?.data?.message ||
2631
- axiosError.response?.statusText ||
2632
- axiosError.message ||
2633
- errorMessage;
2634
- errorDetails = {
2635
- status: errorStatus,
2636
- statusText: axiosError.response?.statusText,
2637
- responseData: axiosError.response?.data,
2638
- requestUrl: axiosError.config?.url,
2639
- requestMethod: axiosError.config?.method,
2640
- };
2641
- }
2642
- else if (error instanceof Error) {
2643
- errorCode = error?.code || 'UNKNOWN_ERROR';
2644
- errorDetails = {
2645
- stack: error.stack,
2646
- name: error.name,
2647
- };
2648
- }
2649
- else {
2650
- errorDetails = { error };
2651
- }
2652
- // Phase 2C: Return standard error response structure
2653
- const errorResponse = {
2654
- success: {
2655
- data: null,
2656
- },
2657
- Error: {
2658
- message: errorMessage,
2659
- code: errorCode,
2660
- status: errorStatus,
2661
- details: errorDetails,
2662
- },
2663
- };
2664
- return errorResponse;
2665
- }
2666
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
2667
- // TODO Phase 2D: Add orphaned method detection
2668
- // TODO Phase 2D: Add advanced convenience methods
2669
- }
2670
- /**
2671
- * Cancel Order
2672
- *
2673
- * Cancel an existing order.
2674
- *
2675
- * This endpoint is accessible from the portal and uses session-only authentication.
2676
- * Requires trading permissions for the company.
2677
-
2678
- * @param params {CancelOrderParams} Input parameters object
2679
- * @returns {Promise<CancelOrderResponse>} Standard response with success/Error/Warning structure
2680
- *
2681
- * Generated from: DELETE /api/v1/brokers/orders/{order_id}
2682
- * @methodId cancel_order_api_v1_brokers_orders__order_id__delete
2683
- * @category brokers
2684
- * @example
2685
- * ```typescript-client
2686
- * // Minimal example with required parameters only
2687
- * const result = await finatic.cancelOrder({
2688
- orderId: 'id-123'
2689
- * });
2690
- *
2691
- * // Access the response data
2692
- * if (result.success) {
2693
- * console.log('Data:', result.success.data);
2694
- * } else if (result.Error) {
2695
- * console.error('Error:', result.Error.message);
2696
- * }
2697
- * ```
2698
- * @example
2699
- * ```typescript-client
2700
- * // Full example with optional parameters
2701
- * const result = await finatic.cancelOrder({
2702
- orderId: 'id-123',
2703
- body: {},
2704
- accountNumber: 'example',
2705
- connectionId: 'id-123'
2706
- * });
2707
- *
2708
- * // Handle response with warnings
2709
- * if (result.success) {
2710
- * console.log('Data:', result.success.data);
2711
- * if (result.Warning && result.Warning.length > 0) {
2712
- * console.warn('Warnings:', result.Warning);
2713
- * }
2714
- * } else if (result.Error) {
2715
- * console.error('Error:', result.Error.message, result.Error.code);
2716
- * }
2717
- * ```
2718
- */
2719
- async cancelOrder(params) {
2720
- // Authentication check
2721
- if (!this.sessionId) {
2722
- throw new Error('Session not initialized. Call startSession() first.');
2723
- }
2724
- // Phase 2C: Extract individual params from input params object
2725
- const orderId = params.orderId;
2726
- const body = params.body;
2727
- const accountNumber = params.accountNumber;
2728
- const connectionId = params.connectionId;
2729
- // Generate request ID
2730
- const requestId = this._generateRequestId();
2731
- // Input validation (Phase 2B: zod)
2732
- if (this.sdkConfig?.validationEnabled) {
2733
- // TODO: Generate validation schema from endpoint parameters
2734
- // const validationSchema = z.object({ ... });
2735
- // validateParams(validationSchema, params, this.sdkConfig);
2736
- }
2737
- // Check cache (Phase 2B: optional caching)
2738
- const shouldCache = true;
2739
- const cache = (0, cache_1.getCache)(this.sdkConfig);
2740
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2741
- const cacheKey = (0, cache_1.generateCacheKey)('DELETE', '/api/v1/brokers/orders/{order_id}', params, this.sdkConfig);
2742
- const cached = cache.get(cacheKey);
2743
- if (cached) {
2744
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
2745
- return cached;
2746
- }
2747
- }
2748
- // Structured logging (Phase 2B: pino)
2749
- this.logger.debug('Cancel Order', {
2750
- request_id: requestId,
2751
- method: 'DELETE',
2752
- path: '/api/v1/brokers/orders/{order_id}',
2753
- params: params,
2754
- action: 'cancelOrder',
2755
- });
2756
- try {
2757
- const response = await (0, retry_1.retryApiCall)(async () => {
2758
- const apiResponse = await this.api.cancelOrderApiV1BrokersOrdersOrderIdDelete({
2759
- orderId: orderId,
2760
- ...(accountNumber !== undefined ? { accountNumber: accountNumber } : {}),
2761
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
2762
- ...(body !== undefined ? { body: body } : {}),
2763
- }, {
2764
- headers: {
2765
- 'x-session-id': this.sessionId,
2766
- 'x-company-id': this.companyId,
2767
- 'x-csrf-token': this.csrfToken,
2768
- 'x-request-id': requestId,
2769
- },
2770
- });
2771
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
2772
- }, {}, this.sdkConfig);
2773
- // Phase 2C: Unwrap API response and transform to standard response structure
2774
- const responseData = response && typeof response === 'object' && 'data' in response
2775
- ? response.data
2776
- : response;
2777
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
2778
- throw new Error('Unexpected response shape: missing data');
2779
- }
2780
- const apiData = responseData.data;
2781
- const warnings = Array.isArray(responseData.warnings)
2782
- ? responseData.warnings
2783
- : undefined;
2784
- const meta = responseData.meta;
2785
- // Build standard response structure
2786
- const standardResponse = {
2787
- success: {
2788
- data: (0, plain_object_1.convertToPlainObject)(apiData),
2789
- ...(meta ? { meta } : {}),
2790
- },
2791
- ...(warnings && warnings.length > 0
2792
- ? {
2793
- Warning: warnings.map((w) => ({
2794
- message: w.message || String(w),
2795
- code: w.code,
2796
- details: w.details || w,
2797
- })),
2798
- }
2799
- : {}),
2800
- };
2801
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2802
- const cacheKey = (0, cache_1.generateCacheKey)('DELETE', '/api/v1/brokers/orders/{order_id}', params, this.sdkConfig);
2803
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
2804
- }
2805
- this.logger.debug('Cancel Order completed', {
2806
- request_id: requestId,
2807
- action: 'cancelOrder',
2808
- });
2809
- // Phase 2C: Return standard response structure (already plain objects)
2810
- return standardResponse;
2811
- }
2812
- catch (error) {
2813
- try {
2814
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
2815
- }
2816
- catch { }
2817
- this.logger.error('Cancel Order failed', error, {
2818
- request_id: requestId,
2819
- action: 'cancelOrder',
2820
- });
2821
- // Phase 2C: Extract error details from Axios errors or generic errors
2822
- let errorMessage = error instanceof Error ? error.message : String(error);
2823
- let errorCode = 'UNKNOWN_ERROR';
2824
- let errorStatus;
2825
- let errorDetails = {};
2826
- // Handle Axios errors (from OpenAPI generator)
2827
- if (error?.isAxiosError || error?.response) {
2828
- const axiosError = error;
2829
- errorStatus = axiosError.response?.status;
2830
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
2831
- errorMessage =
2832
- axiosError.response?.data?.message ||
2833
- axiosError.response?.statusText ||
2834
- axiosError.message ||
2835
- errorMessage;
2836
- errorDetails = {
2837
- status: errorStatus,
2838
- statusText: axiosError.response?.statusText,
2839
- responseData: axiosError.response?.data,
2840
- requestUrl: axiosError.config?.url,
2841
- requestMethod: axiosError.config?.method,
2842
- };
2843
- }
2844
- else if (error instanceof Error) {
2845
- errorCode = error?.code || 'UNKNOWN_ERROR';
2846
- errorDetails = {
2847
- stack: error.stack,
2848
- name: error.name,
2849
- };
2850
- }
2851
- else {
2852
- errorDetails = { error };
2853
- }
2854
- // Phase 2C: Return standard error response structure
2855
- const errorResponse = {
2856
- success: {
2857
- data: null,
2858
- },
2859
- Error: {
2860
- message: errorMessage,
2861
- code: errorCode,
2862
- status: errorStatus,
2863
- details: errorDetails,
2864
- },
2865
- };
2866
- return errorResponse;
2867
- }
2868
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
2869
- // TODO Phase 2D: Add orphaned method detection
2870
- // TODO Phase 2D: Add advanced convenience methods
2871
- }
2872
- /**
2873
- * Modify Order
2874
- *
2875
- * Modify an existing order.
2876
- *
2877
- * This endpoint is accessible from the portal and uses session-only authentication.
2878
- * Requires trading permissions for the company.
2879
-
2880
- * @param params {ModifyOrderParams} Input parameters object
2881
- * @returns {Promise<ModifyOrderResponse>} Standard response with success/Error/Warning structure
2882
- *
2883
- * Generated from: PATCH /api/v1/brokers/orders/{order_id}
2884
- * @methodId modify_order_api_v1_brokers_orders__order_id__patch
2885
- * @category brokers
2886
- * @example
2887
- * ```typescript-client
2888
- * // Minimal example with required parameters only
2889
- * const result = await finatic.modifyOrder({
2890
- orderId: 'id-123'
2891
- * });
2892
- *
2893
- * // Access the response data
2894
- * if (result.success) {
2895
- * console.log('Data:', result.success.data);
2896
- * } else if (result.Error) {
2897
- * console.error('Error:', result.Error.message);
2898
- * }
2899
- * ```
2900
- * @example
2901
- * ```typescript-client
2902
- * // Full example with optional parameters
2903
- * const result = await finatic.modifyOrder({
2904
- orderId: 'id-123',
2905
- body: {},
2906
- accountNumber: 'example',
2907
- connectionId: 'id-123'
2908
- * });
2909
- *
2910
- * // Handle response with warnings
2911
- * if (result.success) {
2912
- * console.log('Data:', result.success.data);
2913
- * if (result.Warning && result.Warning.length > 0) {
2914
- * console.warn('Warnings:', result.Warning);
2915
- * }
2916
- * } else if (result.Error) {
2917
- * console.error('Error:', result.Error.message, result.Error.code);
2918
- * }
2919
- * ```
2920
- */
2921
- async modifyOrder(params) {
2922
- // Authentication check
2923
- if (!this.sessionId) {
2924
- throw new Error('Session not initialized. Call startSession() first.');
2925
- }
2926
- // Phase 2C: Extract individual params from input params object
2927
- const orderId = params.orderId;
2928
- const body = params.body;
2929
- const accountNumber = params.accountNumber;
2930
- const connectionId = params.connectionId;
2931
- // Generate request ID
2932
- const requestId = this._generateRequestId();
2933
- // Input validation (Phase 2B: zod)
2934
- if (this.sdkConfig?.validationEnabled) {
2935
- // TODO: Generate validation schema from endpoint parameters
2936
- // const validationSchema = z.object({ ... });
2937
- // validateParams(validationSchema, params, this.sdkConfig);
2938
- }
2939
- // Check cache (Phase 2B: optional caching)
2940
- const shouldCache = true;
2941
- const cache = (0, cache_1.getCache)(this.sdkConfig);
2942
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
2943
- const cacheKey = (0, cache_1.generateCacheKey)('PATCH', '/api/v1/brokers/orders/{order_id}', params, this.sdkConfig);
2944
- const cached = cache.get(cacheKey);
2945
- if (cached) {
2946
- this.logger.debug('Cache hit', { request_id: requestId, cache_key: cacheKey });
2947
- return cached;
2948
- }
2949
- }
2950
- // Structured logging (Phase 2B: pino)
2951
- this.logger.debug('Modify Order', {
2952
- request_id: requestId,
2953
- method: 'PATCH',
2954
- path: '/api/v1/brokers/orders/{order_id}',
2955
- params: params,
2956
- action: 'modifyOrder',
2957
- });
2958
- try {
2959
- const response = await (0, retry_1.retryApiCall)(async () => {
2960
- const apiResponse = await this.api.modifyOrderApiV1BrokersOrdersOrderIdPatch({
2961
- orderId: orderId,
2962
- ...(accountNumber !== undefined ? { accountNumber: accountNumber } : {}),
2963
- ...(connectionId !== undefined ? { connectionId: connectionId } : {}),
2964
- ...(body !== undefined ? { body: body } : {}),
2965
- }, {
2966
- headers: {
2967
- 'x-session-id': this.sessionId,
2968
- 'x-company-id': this.companyId,
2969
- 'x-csrf-token': this.csrfToken,
2970
- 'x-request-id': requestId,
2971
- },
2972
- });
2973
- return await (0, interceptors_1.applyResponseInterceptors)(apiResponse, this.sdkConfig);
2974
- }, {}, this.sdkConfig);
2975
- // Phase 2C: Unwrap API response and transform to standard response structure
2976
- const responseData = response && typeof response === 'object' && 'data' in response
2977
- ? response.data
2978
- : response;
2979
- if (!(responseData && typeof responseData === 'object' && 'data' in responseData)) {
2980
- throw new Error('Unexpected response shape: missing data');
2981
- }
2982
- const apiData = responseData.data;
2983
- const warnings = Array.isArray(responseData.warnings)
2984
- ? responseData.warnings
2985
- : undefined;
2986
- const meta = responseData.meta;
2987
- // Build standard response structure
2988
- const standardResponse = {
2989
- success: {
2990
- data: (0, plain_object_1.convertToPlainObject)(apiData),
2991
- ...(meta ? { meta } : {}),
2992
- },
2993
- ...(warnings && warnings.length > 0
2994
- ? {
2995
- Warning: warnings.map((w) => ({
2996
- message: w.message || String(w),
2997
- code: w.code,
2998
- details: w.details || w,
2999
- })),
3000
- }
3001
- : {}),
3002
- };
3003
- if (cache && this.sdkConfig?.cacheEnabled && shouldCache) {
3004
- const cacheKey = (0, cache_1.generateCacheKey)('PATCH', '/api/v1/brokers/orders/{order_id}', params, this.sdkConfig);
3005
- cache.set(cacheKey, standardResponse, this.sdkConfig.cacheTtl || 300);
3006
- }
3007
- this.logger.debug('Modify Order completed', {
3008
- request_id: requestId,
3009
- action: 'modifyOrder',
3010
- });
3011
- // Phase 2C: Return standard response structure (already plain objects)
3012
- return standardResponse;
3013
- }
3014
- catch (error) {
3015
- try {
3016
- await (0, interceptors_1.applyErrorInterceptors)(error, this.sdkConfig);
3017
- }
3018
- catch { }
3019
- this.logger.error('Modify Order failed', error, {
3020
- request_id: requestId,
3021
- action: 'modifyOrder',
3022
- });
3023
- // Phase 2C: Extract error details from Axios errors or generic errors
3024
- let errorMessage = error instanceof Error ? error.message : String(error);
3025
- let errorCode = 'UNKNOWN_ERROR';
3026
- let errorStatus;
3027
- let errorDetails = {};
3028
- // Handle Axios errors (from OpenAPI generator)
3029
- if (error?.isAxiosError || error?.response) {
3030
- const axiosError = error;
3031
- errorStatus = axiosError.response?.status;
3032
- errorCode = axiosError.code || `HTTP_${errorStatus || 'UNKNOWN'}`;
3033
- errorMessage =
3034
- axiosError.response?.data?.message ||
3035
- axiosError.response?.statusText ||
3036
- axiosError.message ||
3037
- errorMessage;
3038
- errorDetails = {
3039
- status: errorStatus,
3040
- statusText: axiosError.response?.statusText,
3041
- responseData: axiosError.response?.data,
3042
- requestUrl: axiosError.config?.url,
3043
- requestMethod: axiosError.config?.method,
3044
- };
3045
- }
3046
- else if (error instanceof Error) {
3047
- errorCode = error?.code || 'UNKNOWN_ERROR';
3048
- errorDetails = {
3049
- stack: error.stack,
3050
- name: error.name,
3051
- };
3052
- }
3053
- else {
3054
- errorDetails = { error };
3055
- }
3056
- // Phase 2C: Return standard error response structure
3057
- const errorResponse = {
3058
- success: {
3059
- data: null,
3060
- },
3061
- Error: {
3062
- message: errorMessage,
3063
- code: errorCode,
3064
- status: errorStatus,
3065
- details: errorDetails,
3066
- },
3067
- };
3068
- return errorResponse;
3069
- }
3070
- // TODO Phase 2D: Add complex validation schemas (unions, enums, nested)
3071
- // TODO Phase 2D: Add orphaned method detection
3072
- // TODO Phase 2D: Add advanced convenience methods
3073
- }
3074
- }
3075
- exports.BrokersWrapper = BrokersWrapper;
3076
- //# sourceMappingURL=brokers.js.map