@seamapi/http 1.35.1 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/README.md +25 -0
  2. package/dist/connect.cjs +6404 -1229
  3. package/dist/connect.cjs.map +1 -1
  4. package/dist/connect.d.cts +889 -2
  5. package/lib/seam/connect/options.d.ts +2 -1
  6. package/lib/seam/connect/options.js.map +1 -1
  7. package/lib/seam/connect/parse-options.d.ts +1 -1
  8. package/lib/seam/connect/parse-options.js +2 -0
  9. package/lib/seam/connect/parse-options.js.map +1 -1
  10. package/lib/seam/connect/routes/acs/access-groups/access-groups.d.ts +2 -0
  11. package/lib/seam/connect/routes/acs/access-groups/access-groups.js +4 -0
  12. package/lib/seam/connect/routes/acs/access-groups/access-groups.js.map +1 -1
  13. package/lib/seam/connect/routes/acs/access-groups/index.d.ts +1 -0
  14. package/lib/seam/connect/routes/acs/access-groups/index.js +1 -0
  15. package/lib/seam/connect/routes/acs/access-groups/index.js.map +1 -1
  16. package/lib/seam/connect/routes/acs/access-groups/unmanaged/index.d.ts +1 -0
  17. package/lib/seam/connect/routes/acs/access-groups/unmanaged/index.js +6 -0
  18. package/lib/seam/connect/routes/acs/access-groups/unmanaged/index.js.map +1 -0
  19. package/lib/seam/connect/routes/acs/access-groups/unmanaged/unmanaged.d.ts +29 -0
  20. package/lib/seam/connect/routes/acs/access-groups/unmanaged/unmanaged.js +112 -0
  21. package/lib/seam/connect/routes/acs/access-groups/unmanaged/unmanaged.js.map +1 -0
  22. package/lib/seam/connect/routes/acs/acs.d.ts +4 -0
  23. package/lib/seam/connect/routes/acs/acs.js +8 -0
  24. package/lib/seam/connect/routes/acs/acs.js.map +1 -1
  25. package/lib/seam/connect/routes/acs/credential-pools/credential-pools.d.ts +25 -0
  26. package/lib/seam/connect/routes/acs/credential-pools/credential-pools.js +101 -0
  27. package/lib/seam/connect/routes/acs/credential-pools/credential-pools.js.map +1 -0
  28. package/lib/seam/connect/routes/acs/credential-pools/index.d.ts +1 -0
  29. package/lib/seam/connect/routes/acs/credential-pools/index.js +6 -0
  30. package/lib/seam/connect/routes/acs/credential-pools/index.js.map +1 -0
  31. package/lib/seam/connect/routes/acs/credential-provisioning-automations/credential-provisioning-automations.d.ts +25 -0
  32. package/lib/seam/connect/routes/acs/credential-provisioning-automations/credential-provisioning-automations.js +101 -0
  33. package/lib/seam/connect/routes/acs/credential-provisioning-automations/credential-provisioning-automations.js.map +1 -0
  34. package/lib/seam/connect/routes/acs/credential-provisioning-automations/index.d.ts +1 -0
  35. package/lib/seam/connect/routes/acs/credential-provisioning-automations/index.js +6 -0
  36. package/lib/seam/connect/routes/acs/credential-provisioning-automations/index.js.map +1 -0
  37. package/lib/seam/connect/routes/acs/credentials/credentials.d.ts +6 -0
  38. package/lib/seam/connect/routes/acs/credentials/credentials.js +15 -0
  39. package/lib/seam/connect/routes/acs/credentials/credentials.js.map +1 -1
  40. package/lib/seam/connect/routes/acs/credentials/index.d.ts +1 -0
  41. package/lib/seam/connect/routes/acs/credentials/index.js +1 -0
  42. package/lib/seam/connect/routes/acs/credentials/index.js.map +1 -1
  43. package/lib/seam/connect/routes/acs/credentials/unmanaged/index.d.ts +1 -0
  44. package/lib/seam/connect/routes/acs/credentials/unmanaged/index.js +6 -0
  45. package/lib/seam/connect/routes/acs/credentials/unmanaged/index.js.map +1 -0
  46. package/lib/seam/connect/routes/acs/credentials/unmanaged/unmanaged.d.ts +29 -0
  47. package/lib/seam/connect/routes/acs/credentials/unmanaged/unmanaged.js +112 -0
  48. package/lib/seam/connect/routes/acs/credentials/unmanaged/unmanaged.js.map +1 -0
  49. package/lib/seam/connect/routes/acs/index.d.ts +2 -0
  50. package/lib/seam/connect/routes/acs/index.js +2 -0
  51. package/lib/seam/connect/routes/acs/index.js.map +1 -1
  52. package/lib/seam/connect/routes/acs/users/index.d.ts +1 -0
  53. package/lib/seam/connect/routes/acs/users/index.js +1 -0
  54. package/lib/seam/connect/routes/acs/users/index.js.map +1 -1
  55. package/lib/seam/connect/routes/acs/users/unmanaged/index.d.ts +1 -0
  56. package/lib/seam/connect/routes/acs/users/unmanaged/index.js +6 -0
  57. package/lib/seam/connect/routes/acs/users/unmanaged/index.js.map +1 -0
  58. package/lib/seam/connect/routes/acs/users/unmanaged/unmanaged.d.ts +29 -0
  59. package/lib/seam/connect/routes/acs/users/unmanaged/unmanaged.js +112 -0
  60. package/lib/seam/connect/routes/acs/users/unmanaged/unmanaged.js.map +1 -0
  61. package/lib/seam/connect/routes/acs/users/users.d.ts +2 -0
  62. package/lib/seam/connect/routes/acs/users/users.js +4 -0
  63. package/lib/seam/connect/routes/acs/users/users.js.map +1 -1
  64. package/lib/seam/connect/routes/bridges/bridges.d.ts +29 -0
  65. package/lib/seam/connect/routes/bridges/bridges.js +112 -0
  66. package/lib/seam/connect/routes/bridges/bridges.js.map +1 -0
  67. package/lib/seam/connect/routes/bridges/index.d.ts +1 -0
  68. package/lib/seam/connect/routes/bridges/index.js +6 -0
  69. package/lib/seam/connect/routes/bridges/index.js.map +1 -0
  70. package/lib/seam/connect/routes/devices/devices.d.ts +4 -0
  71. package/lib/seam/connect/routes/devices/devices.js +11 -0
  72. package/lib/seam/connect/routes/devices/devices.js.map +1 -1
  73. package/lib/seam/connect/routes/index.d.ts +8 -0
  74. package/lib/seam/connect/routes/index.js +8 -0
  75. package/lib/seam/connect/routes/index.js.map +1 -1
  76. package/lib/seam/connect/routes/locks/index.d.ts +1 -0
  77. package/lib/seam/connect/routes/locks/index.js +1 -0
  78. package/lib/seam/connect/routes/locks/index.js.map +1 -1
  79. package/lib/seam/connect/routes/locks/locks.d.ts +2 -0
  80. package/lib/seam/connect/routes/locks/locks.js +4 -0
  81. package/lib/seam/connect/routes/locks/locks.js.map +1 -1
  82. package/lib/seam/connect/routes/locks/simulate/index.d.ts +1 -0
  83. package/lib/seam/connect/routes/locks/simulate/index.js +6 -0
  84. package/lib/seam/connect/routes/locks/simulate/index.js.map +1 -0
  85. package/lib/seam/connect/routes/locks/simulate/simulate.d.ts +29 -0
  86. package/lib/seam/connect/routes/locks/simulate/simulate.js +114 -0
  87. package/lib/seam/connect/routes/locks/simulate/simulate.js.map +1 -0
  88. package/lib/seam/connect/routes/networks/index.d.ts +1 -0
  89. package/lib/seam/connect/routes/networks/index.js +6 -0
  90. package/lib/seam/connect/routes/networks/index.js.map +1 -0
  91. package/lib/seam/connect/routes/networks/networks.d.ts +29 -0
  92. package/lib/seam/connect/routes/networks/networks.js +112 -0
  93. package/lib/seam/connect/routes/networks/networks.js.map +1 -0
  94. package/lib/seam/connect/routes/seam/bridge/index.d.ts +1 -0
  95. package/lib/seam/connect/routes/seam/bridge/index.js +6 -0
  96. package/lib/seam/connect/routes/seam/bridge/index.js.map +1 -0
  97. package/lib/seam/connect/routes/seam/bridge/v1/bridge-client-sessions/bridge-client-sessions.d.ts +41 -0
  98. package/lib/seam/connect/routes/seam/bridge/v1/bridge-client-sessions/bridge-client-sessions.js +145 -0
  99. package/lib/seam/connect/routes/seam/bridge/v1/bridge-client-sessions/bridge-client-sessions.js.map +1 -0
  100. package/lib/seam/connect/routes/seam/bridge/v1/bridge-client-sessions/index.d.ts +1 -0
  101. package/lib/seam/connect/routes/seam/bridge/v1/bridge-client-sessions/index.js +6 -0
  102. package/lib/seam/connect/routes/seam/bridge/v1/bridge-client-sessions/index.js.map +1 -0
  103. package/lib/seam/connect/routes/seam/bridge/v1/bridge-connected-systems/bridge-connected-systems.d.ts +25 -0
  104. package/lib/seam/connect/routes/seam/bridge/v1/bridge-connected-systems/bridge-connected-systems.js +101 -0
  105. package/lib/seam/connect/routes/seam/bridge/v1/bridge-connected-systems/bridge-connected-systems.js.map +1 -0
  106. package/lib/seam/connect/routes/seam/bridge/v1/bridge-connected-systems/index.d.ts +1 -0
  107. package/lib/seam/connect/routes/seam/bridge/v1/bridge-connected-systems/index.js +6 -0
  108. package/lib/seam/connect/routes/seam/bridge/v1/bridge-connected-systems/index.js.map +1 -0
  109. package/lib/seam/connect/routes/seam/bridge/v1/index.d.ts +3 -0
  110. package/lib/seam/connect/routes/seam/bridge/v1/index.js +8 -0
  111. package/lib/seam/connect/routes/seam/bridge/v1/index.js.map +1 -0
  112. package/lib/seam/connect/routes/seam/bridge/v1/v1.d.ts +23 -0
  113. package/lib/seam/connect/routes/seam/bridge/v1/v1.js +97 -0
  114. package/lib/seam/connect/routes/seam/bridge/v1/v1.js.map +1 -0
  115. package/lib/seam/connect/routes/seam/index.d.ts +4 -0
  116. package/lib/seam/connect/routes/seam/index.js +9 -0
  117. package/lib/seam/connect/routes/seam/index.js.map +1 -0
  118. package/lib/seam/connect/routes/seam/instant-key/index.d.ts +1 -0
  119. package/lib/seam/connect/routes/seam/instant-key/index.js +6 -0
  120. package/lib/seam/connect/routes/seam/instant-key/index.js.map +1 -0
  121. package/lib/seam/connect/routes/seam/instant-key/v1/client-sessions/client-sessions.d.ts +25 -0
  122. package/lib/seam/connect/routes/seam/instant-key/v1/client-sessions/client-sessions.js +101 -0
  123. package/lib/seam/connect/routes/seam/instant-key/v1/client-sessions/client-sessions.js.map +1 -0
  124. package/lib/seam/connect/routes/seam/instant-key/v1/client-sessions/index.d.ts +1 -0
  125. package/lib/seam/connect/routes/seam/instant-key/v1/client-sessions/index.js +6 -0
  126. package/lib/seam/connect/routes/seam/instant-key/v1/client-sessions/index.js.map +1 -0
  127. package/lib/seam/connect/routes/seam/instant-key/v1/index.d.ts +2 -0
  128. package/lib/seam/connect/routes/seam/instant-key/v1/index.js +7 -0
  129. package/lib/seam/connect/routes/seam/instant-key/v1/index.js.map +1 -0
  130. package/lib/seam/connect/routes/seam/instant-key/v1/v1.d.ts +21 -0
  131. package/lib/seam/connect/routes/seam/instant-key/v1/v1.js +93 -0
  132. package/lib/seam/connect/routes/seam/instant-key/v1/v1.js.map +1 -0
  133. package/lib/seam/connect/routes/seam/mobile-sdk/index.d.ts +1 -0
  134. package/lib/seam/connect/routes/seam/mobile-sdk/index.js +6 -0
  135. package/lib/seam/connect/routes/seam/mobile-sdk/index.js.map +1 -0
  136. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/acs.d.ts +21 -0
  137. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/acs.js +93 -0
  138. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/acs.js.map +1 -0
  139. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/credentials/credentials.d.ts +25 -0
  140. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/credentials/credentials.js +101 -0
  141. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/credentials/credentials.js.map +1 -0
  142. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/credentials/index.d.ts +1 -0
  143. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/credentials/index.js +6 -0
  144. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/credentials/index.js.map +1 -0
  145. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/index.d.ts +2 -0
  146. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/index.js +7 -0
  147. package/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/index.js.map +1 -0
  148. package/lib/seam/connect/routes/seam/mobile-sdk/v1/index.d.ts +3 -0
  149. package/lib/seam/connect/routes/seam/mobile-sdk/v1/index.js +8 -0
  150. package/lib/seam/connect/routes/seam/mobile-sdk/v1/index.js.map +1 -0
  151. package/lib/seam/connect/routes/seam/mobile-sdk/v1/phone-sessions/index.d.ts +1 -0
  152. package/lib/seam/connect/routes/seam/mobile-sdk/v1/phone-sessions/index.js +6 -0
  153. package/lib/seam/connect/routes/seam/mobile-sdk/v1/phone-sessions/index.js.map +1 -0
  154. package/lib/seam/connect/routes/seam/mobile-sdk/v1/phone-sessions/phone-sessions.d.ts +25 -0
  155. package/lib/seam/connect/routes/seam/mobile-sdk/v1/phone-sessions/phone-sessions.js +101 -0
  156. package/lib/seam/connect/routes/seam/mobile-sdk/v1/phone-sessions/phone-sessions.js.map +1 -0
  157. package/lib/seam/connect/routes/seam/mobile-sdk/v1/v1.d.ts +23 -0
  158. package/lib/seam/connect/routes/seam/mobile-sdk/v1/v1.js +97 -0
  159. package/lib/seam/connect/routes/seam/mobile-sdk/v1/v1.js.map +1 -0
  160. package/lib/seam/connect/routes/seam/partner/index.d.ts +1 -0
  161. package/lib/seam/connect/routes/seam/partner/index.js +6 -0
  162. package/lib/seam/connect/routes/seam/partner/index.js.map +1 -0
  163. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/building-blocks.d.ts +21 -0
  164. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/building-blocks.js +93 -0
  165. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/building-blocks.js.map +1 -0
  166. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/index.d.ts +2 -0
  167. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/index.js +7 -0
  168. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/index.js.map +1 -0
  169. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/spaces/index.d.ts +1 -0
  170. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/spaces/index.js +6 -0
  171. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/spaces/index.js.map +1 -0
  172. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/spaces/spaces.d.ts +25 -0
  173. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/spaces/spaces.js +101 -0
  174. package/lib/seam/connect/routes/seam/partner/v1/building-blocks/spaces/spaces.js.map +1 -0
  175. package/lib/seam/connect/routes/seam/partner/v1/index.d.ts +3 -0
  176. package/lib/seam/connect/routes/seam/partner/v1/index.js +8 -0
  177. package/lib/seam/connect/routes/seam/partner/v1/index.js.map +1 -0
  178. package/lib/seam/connect/routes/seam/partner/v1/resources/index.d.ts +1 -0
  179. package/lib/seam/connect/routes/seam/partner/v1/resources/index.js +6 -0
  180. package/lib/seam/connect/routes/seam/partner/v1/resources/index.js.map +1 -0
  181. package/lib/seam/connect/routes/seam/partner/v1/resources/resources.d.ts +25 -0
  182. package/lib/seam/connect/routes/seam/partner/v1/resources/resources.js +101 -0
  183. package/lib/seam/connect/routes/seam/partner/v1/resources/resources.js.map +1 -0
  184. package/lib/seam/connect/routes/seam/partner/v1/v1.d.ts +23 -0
  185. package/lib/seam/connect/routes/seam/partner/v1/v1.js +97 -0
  186. package/lib/seam/connect/routes/seam/partner/v1/v1.js.map +1 -0
  187. package/lib/seam/connect/routes/seam-http-endpoints.d.ts +293 -0
  188. package/lib/seam/connect/routes/seam-http-endpoints.js +1820 -0
  189. package/lib/seam/connect/routes/seam-http-endpoints.js.map +1 -0
  190. package/lib/seam/connect/routes/seam-http.d.ts +12 -0
  191. package/lib/seam/connect/routes/seam-http.js +24 -0
  192. package/lib/seam/connect/routes/seam-http.js.map +1 -1
  193. package/lib/seam/connect/routes/thermostats/thermostats.d.ts +4 -0
  194. package/lib/seam/connect/routes/thermostats/thermostats.js +11 -0
  195. package/lib/seam/connect/routes/thermostats/thermostats.js.map +1 -1
  196. package/lib/seam/connect/routes/unstable-access-grants/index.d.ts +1 -0
  197. package/lib/seam/connect/routes/unstable-access-grants/index.js +6 -0
  198. package/lib/seam/connect/routes/unstable-access-grants/index.js.map +1 -0
  199. package/lib/seam/connect/routes/unstable-access-grants/unstable-access-grants.d.ts +37 -0
  200. package/lib/seam/connect/routes/unstable-access-grants/unstable-access-grants.js +134 -0
  201. package/lib/seam/connect/routes/unstable-access-grants/unstable-access-grants.js.map +1 -0
  202. package/lib/seam/connect/routes/unstable-access-methods/index.d.ts +1 -0
  203. package/lib/seam/connect/routes/unstable-access-methods/index.js +6 -0
  204. package/lib/seam/connect/routes/unstable-access-methods/index.js.map +1 -0
  205. package/lib/seam/connect/routes/unstable-access-methods/unstable-access-methods.d.ts +33 -0
  206. package/lib/seam/connect/routes/unstable-access-methods/unstable-access-methods.js +123 -0
  207. package/lib/seam/connect/routes/unstable-access-methods/unstable-access-methods.js.map +1 -0
  208. package/lib/seam/connect/routes/unstable-locations/index.d.ts +1 -0
  209. package/lib/seam/connect/routes/unstable-locations/index.js +6 -0
  210. package/lib/seam/connect/routes/unstable-locations/index.js.map +1 -0
  211. package/lib/seam/connect/routes/unstable-locations/unstable-locations.d.ts +57 -0
  212. package/lib/seam/connect/routes/unstable-locations/unstable-locations.js +189 -0
  213. package/lib/seam/connect/routes/unstable-locations/unstable-locations.js.map +1 -0
  214. package/lib/seam/connect/routes/unstable-partner/building-blocks/building-blocks.d.ts +37 -0
  215. package/lib/seam/connect/routes/unstable-partner/building-blocks/building-blocks.js +134 -0
  216. package/lib/seam/connect/routes/unstable-partner/building-blocks/building-blocks.js.map +1 -0
  217. package/lib/seam/connect/routes/unstable-partner/building-blocks/index.d.ts +1 -0
  218. package/lib/seam/connect/routes/unstable-partner/building-blocks/index.js +6 -0
  219. package/lib/seam/connect/routes/unstable-partner/building-blocks/index.js.map +1 -0
  220. package/lib/seam/connect/routes/unstable-partner/index.d.ts +3 -0
  221. package/lib/seam/connect/routes/unstable-partner/index.js +8 -0
  222. package/lib/seam/connect/routes/unstable-partner/index.js.map +1 -0
  223. package/lib/seam/connect/routes/unstable-partner/resources/index.d.ts +1 -0
  224. package/lib/seam/connect/routes/unstable-partner/resources/index.js +6 -0
  225. package/lib/seam/connect/routes/unstable-partner/resources/index.js.map +1 -0
  226. package/lib/seam/connect/routes/unstable-partner/resources/resources.d.ts +25 -0
  227. package/lib/seam/connect/routes/unstable-partner/resources/resources.js +101 -0
  228. package/lib/seam/connect/routes/unstable-partner/resources/resources.js.map +1 -0
  229. package/lib/seam/connect/routes/unstable-partner/unstable-partner.d.ts +23 -0
  230. package/lib/seam/connect/routes/unstable-partner/unstable-partner.js +97 -0
  231. package/lib/seam/connect/routes/unstable-partner/unstable-partner.js.map +1 -0
  232. package/lib/version.d.ts +1 -1
  233. package/lib/version.js +1 -1
  234. package/package.json +1 -1
  235. package/src/lib/seam/connect/options.ts +2 -1
  236. package/src/lib/seam/connect/parse-options.ts +2 -0
  237. package/src/lib/seam/connect/routes/acs/access-groups/access-groups.ts +9 -0
  238. package/src/lib/seam/connect/routes/acs/access-groups/index.ts +1 -0
  239. package/src/lib/seam/connect/routes/acs/access-groups/unmanaged/index.ts +6 -0
  240. package/src/lib/seam/connect/routes/acs/access-groups/unmanaged/unmanaged.ts +226 -0
  241. package/src/lib/seam/connect/routes/acs/acs.ts +13 -0
  242. package/src/lib/seam/connect/routes/acs/credential-pools/credential-pools.ts +195 -0
  243. package/src/lib/seam/connect/routes/acs/credential-pools/index.ts +6 -0
  244. package/src/lib/seam/connect/routes/acs/credential-provisioning-automations/credential-provisioning-automations.ts +201 -0
  245. package/src/lib/seam/connect/routes/acs/credential-provisioning-automations/index.ts +6 -0
  246. package/src/lib/seam/connect/routes/acs/credentials/credentials.ts +37 -0
  247. package/src/lib/seam/connect/routes/acs/credentials/index.ts +1 -0
  248. package/src/lib/seam/connect/routes/acs/credentials/unmanaged/index.ts +6 -0
  249. package/src/lib/seam/connect/routes/acs/credentials/unmanaged/unmanaged.ts +227 -0
  250. package/src/lib/seam/connect/routes/acs/index.ts +2 -0
  251. package/src/lib/seam/connect/routes/acs/users/index.ts +1 -0
  252. package/src/lib/seam/connect/routes/acs/users/unmanaged/index.ts +6 -0
  253. package/src/lib/seam/connect/routes/acs/users/unmanaged/unmanaged.ts +220 -0
  254. package/src/lib/seam/connect/routes/acs/users/users.ts +6 -0
  255. package/src/lib/seam/connect/routes/bridges/bridges.ts +218 -0
  256. package/src/lib/seam/connect/routes/bridges/index.ts +6 -0
  257. package/src/lib/seam/connect/routes/devices/devices.ts +22 -0
  258. package/src/lib/seam/connect/routes/index.ts +8 -0
  259. package/src/lib/seam/connect/routes/locks/index.ts +1 -0
  260. package/src/lib/seam/connect/routes/locks/locks.ts +6 -0
  261. package/src/lib/seam/connect/routes/locks/simulate/index.ts +6 -0
  262. package/src/lib/seam/connect/routes/locks/simulate/simulate.ts +233 -0
  263. package/src/lib/seam/connect/routes/networks/index.ts +6 -0
  264. package/src/lib/seam/connect/routes/networks/networks.ts +218 -0
  265. package/src/lib/seam/connect/routes/seam/bridge/index.ts +6 -0
  266. package/src/lib/seam/connect/routes/seam/bridge/v1/bridge-client-sessions/bridge-client-sessions.ts +325 -0
  267. package/src/lib/seam/connect/routes/seam/bridge/v1/bridge-client-sessions/index.ts +6 -0
  268. package/src/lib/seam/connect/routes/seam/bridge/v1/bridge-connected-systems/bridge-connected-systems.ts +201 -0
  269. package/src/lib/seam/connect/routes/seam/bridge/v1/bridge-connected-systems/index.ts +6 -0
  270. package/src/lib/seam/connect/routes/seam/bridge/v1/index.ts +8 -0
  271. package/src/lib/seam/connect/routes/seam/bridge/v1/v1.ts +184 -0
  272. package/src/lib/seam/connect/routes/seam/index.ts +9 -0
  273. package/src/lib/seam/connect/routes/seam/instant-key/index.ts +6 -0
  274. package/src/lib/seam/connect/routes/seam/instant-key/v1/client-sessions/client-sessions.ts +204 -0
  275. package/src/lib/seam/connect/routes/seam/instant-key/v1/client-sessions/index.ts +6 -0
  276. package/src/lib/seam/connect/routes/seam/instant-key/v1/index.ts +7 -0
  277. package/src/lib/seam/connect/routes/seam/instant-key/v1/v1.ts +176 -0
  278. package/src/lib/seam/connect/routes/seam/mobile-sdk/index.ts +6 -0
  279. package/src/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/acs.ts +176 -0
  280. package/src/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/credentials/credentials.ts +201 -0
  281. package/src/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/credentials/index.ts +6 -0
  282. package/src/lib/seam/connect/routes/seam/mobile-sdk/v1/acs/index.ts +7 -0
  283. package/src/lib/seam/connect/routes/seam/mobile-sdk/v1/index.ts +8 -0
  284. package/src/lib/seam/connect/routes/seam/mobile-sdk/v1/phone-sessions/index.ts +6 -0
  285. package/src/lib/seam/connect/routes/seam/mobile-sdk/v1/phone-sessions/phone-sessions.ts +201 -0
  286. package/src/lib/seam/connect/routes/seam/mobile-sdk/v1/v1.ts +181 -0
  287. package/src/lib/seam/connect/routes/seam/partner/index.ts +6 -0
  288. package/src/lib/seam/connect/routes/seam/partner/v1/building-blocks/building-blocks.ts +179 -0
  289. package/src/lib/seam/connect/routes/seam/partner/v1/building-blocks/index.ts +7 -0
  290. package/src/lib/seam/connect/routes/seam/partner/v1/building-blocks/spaces/index.ts +6 -0
  291. package/src/lib/seam/connect/routes/seam/partner/v1/building-blocks/spaces/spaces.ts +201 -0
  292. package/src/lib/seam/connect/routes/seam/partner/v1/index.ts +8 -0
  293. package/src/lib/seam/connect/routes/seam/partner/v1/resources/index.ts +6 -0
  294. package/src/lib/seam/connect/routes/seam/partner/v1/resources/resources.ts +195 -0
  295. package/src/lib/seam/connect/routes/seam/partner/v1/v1.ts +181 -0
  296. package/src/lib/seam/connect/routes/seam-http-endpoints.ts +2764 -0
  297. package/src/lib/seam/connect/routes/seam-http.ts +30 -0
  298. package/src/lib/seam/connect/routes/thermostats/thermostats.ts +24 -0
  299. package/src/lib/seam/connect/routes/unstable-access-grants/index.ts +6 -0
  300. package/src/lib/seam/connect/routes/unstable-access-grants/unstable-access-grants.ts +270 -0
  301. package/src/lib/seam/connect/routes/unstable-access-methods/index.ts +6 -0
  302. package/src/lib/seam/connect/routes/unstable-access-methods/unstable-access-methods.ts +245 -0
  303. package/src/lib/seam/connect/routes/unstable-locations/index.ts +6 -0
  304. package/src/lib/seam/connect/routes/unstable-locations/unstable-locations.ts +399 -0
  305. package/src/lib/seam/connect/routes/unstable-partner/building-blocks/building-blocks.ts +292 -0
  306. package/src/lib/seam/connect/routes/unstable-partner/building-blocks/index.ts +6 -0
  307. package/src/lib/seam/connect/routes/unstable-partner/index.ts +8 -0
  308. package/src/lib/seam/connect/routes/unstable-partner/resources/index.ts +6 -0
  309. package/src/lib/seam/connect/routes/unstable-partner/resources/resources.ts +198 -0
  310. package/src/lib/seam/connect/routes/unstable-partner/unstable-partner.ts +184 -0
  311. package/src/lib/version.ts +1 -1
@@ -0,0 +1,201 @@
1
+ /*
2
+ * Automatically generated by codegen/smith.ts.
3
+ * Do not edit this file or add other files to this directory.
4
+ */
5
+
6
+ import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
+
8
+ import { seamApiLtsVersion } from 'lib/lts-version.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
13
+ import { type Client, createClient } from 'lib/seam/connect/client.js'
14
+ import {
15
+ isSeamHttpOptionsWithApiKey,
16
+ isSeamHttpOptionsWithClient,
17
+ isSeamHttpOptionsWithClientSessionToken,
18
+ isSeamHttpOptionsWithConsoleSessionToken,
19
+ isSeamHttpOptionsWithPersonalAccessToken,
20
+ type SeamHttpFromPublishableKeyOptions,
21
+ SeamHttpInvalidOptionsError,
22
+ type SeamHttpOptions,
23
+ type SeamHttpOptionsWithApiKey,
24
+ type SeamHttpOptionsWithClient,
25
+ type SeamHttpOptionsWithClientSessionToken,
26
+ type SeamHttpOptionsWithConsoleSessionToken,
27
+ type SeamHttpOptionsWithPersonalAccessToken,
28
+ type SeamHttpRequestOptions,
29
+ } from 'lib/seam/connect/options.js'
30
+ import {
31
+ limitToSeamHttpRequestOptions,
32
+ parseOptions,
33
+ } from 'lib/seam/connect/parse-options.js'
34
+ import { SeamHttpClientSessions } from 'lib/seam/connect/routes/client-sessions/index.js'
35
+ import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
36
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
37
+ import type { SetNonNullable } from 'lib/types.js'
38
+
39
+ export class SeamHttpSeamMobileSdkV1PhoneSessions {
40
+ client: Client
41
+ readonly defaults: Required<SeamHttpRequestOptions>
42
+ readonly ltsVersion = seamApiLtsVersion
43
+ static ltsVersion = seamApiLtsVersion
44
+
45
+ constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) {
46
+ const options = parseOptions(apiKeyOrOptions)
47
+ if (!options.isUndocumentedApiEnabled) {
48
+ throw new Error(
49
+ 'Cannot use undocumented API without isUndocumentedApiEnabled',
50
+ )
51
+ }
52
+ this.client = 'client' in options ? options.client : createClient(options)
53
+ this.defaults = limitToSeamHttpRequestOptions(options)
54
+ }
55
+
56
+ static fromClient(
57
+ client: SeamHttpOptionsWithClient['client'],
58
+ options: Omit<SeamHttpOptionsWithClient, 'client'> = {},
59
+ ): SeamHttpSeamMobileSdkV1PhoneSessions {
60
+ const constructorOptions = { ...options, client }
61
+ if (!isSeamHttpOptionsWithClient(constructorOptions)) {
62
+ throw new SeamHttpInvalidOptionsError('Missing client')
63
+ }
64
+ return new SeamHttpSeamMobileSdkV1PhoneSessions(constructorOptions)
65
+ }
66
+
67
+ static fromApiKey(
68
+ apiKey: SeamHttpOptionsWithApiKey['apiKey'],
69
+ options: Omit<SeamHttpOptionsWithApiKey, 'apiKey'> = {},
70
+ ): SeamHttpSeamMobileSdkV1PhoneSessions {
71
+ const constructorOptions = { ...options, apiKey }
72
+ if (!isSeamHttpOptionsWithApiKey(constructorOptions)) {
73
+ throw new SeamHttpInvalidOptionsError('Missing apiKey')
74
+ }
75
+ return new SeamHttpSeamMobileSdkV1PhoneSessions(constructorOptions)
76
+ }
77
+
78
+ static fromClientSessionToken(
79
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
80
+ options: Omit<
81
+ SeamHttpOptionsWithClientSessionToken,
82
+ 'clientSessionToken'
83
+ > = {},
84
+ ): SeamHttpSeamMobileSdkV1PhoneSessions {
85
+ const constructorOptions = { ...options, clientSessionToken }
86
+ if (!isSeamHttpOptionsWithClientSessionToken(constructorOptions)) {
87
+ throw new SeamHttpInvalidOptionsError('Missing clientSessionToken')
88
+ }
89
+ return new SeamHttpSeamMobileSdkV1PhoneSessions(constructorOptions)
90
+ }
91
+
92
+ static async fromPublishableKey(
93
+ publishableKey: string,
94
+ userIdentifierKey: string,
95
+ options: SeamHttpFromPublishableKeyOptions = {},
96
+ ): Promise<SeamHttpSeamMobileSdkV1PhoneSessions> {
97
+ warnOnInsecureuserIdentifierKey(userIdentifierKey)
98
+ const clientOptions = parseOptions({ ...options, publishableKey })
99
+ if (isSeamHttpOptionsWithClient(clientOptions)) {
100
+ throw new SeamHttpInvalidOptionsError(
101
+ 'The client option cannot be used with SeamHttpSeamMobileSdkV1PhoneSessions.fromPublishableKey',
102
+ )
103
+ }
104
+ const client = createClient(clientOptions)
105
+ const clientSessions = SeamHttpClientSessions.fromClient(client)
106
+ const { token } = await clientSessions.getOrCreate({
107
+ user_identifier_key: userIdentifierKey,
108
+ })
109
+ return SeamHttpSeamMobileSdkV1PhoneSessions.fromClientSessionToken(
110
+ token,
111
+ options,
112
+ )
113
+ }
114
+
115
+ static fromConsoleSessionToken(
116
+ consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
117
+ workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
118
+ options: Omit<
119
+ SeamHttpOptionsWithConsoleSessionToken,
120
+ 'consoleSessionToken' | 'workspaceId'
121
+ > = {},
122
+ ): SeamHttpSeamMobileSdkV1PhoneSessions {
123
+ const constructorOptions = { ...options, consoleSessionToken, workspaceId }
124
+ if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
125
+ throw new SeamHttpInvalidOptionsError(
126
+ 'Missing consoleSessionToken or workspaceId',
127
+ )
128
+ }
129
+ return new SeamHttpSeamMobileSdkV1PhoneSessions(constructorOptions)
130
+ }
131
+
132
+ static fromPersonalAccessToken(
133
+ personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
134
+ workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
135
+ options: Omit<
136
+ SeamHttpOptionsWithPersonalAccessToken,
137
+ 'personalAccessToken' | 'workspaceId'
138
+ > = {},
139
+ ): SeamHttpSeamMobileSdkV1PhoneSessions {
140
+ const constructorOptions = { ...options, personalAccessToken, workspaceId }
141
+ if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
142
+ throw new SeamHttpInvalidOptionsError(
143
+ 'Missing personalAccessToken or workspaceId',
144
+ )
145
+ }
146
+ return new SeamHttpSeamMobileSdkV1PhoneSessions(constructorOptions)
147
+ }
148
+
149
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
150
+ request: SeamHttpRequest<TResponse, TResponseKey>,
151
+ ): SeamPaginator<TResponse, TResponseKey> {
152
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
153
+ }
154
+
155
+ async updateClientSessionToken(
156
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
157
+ ): Promise<void> {
158
+ const { headers } = this.client.defaults
159
+ const authHeaders = getAuthHeadersForClientSessionToken({
160
+ clientSessionToken,
161
+ })
162
+ for (const key of Object.keys(authHeaders)) {
163
+ if (headers[key] == null) {
164
+ throw new Error(
165
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
166
+ )
167
+ }
168
+ }
169
+ this.client.defaults.headers = { ...headers, ...authHeaders }
170
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
171
+ await clientSessions.get()
172
+ }
173
+
174
+ getOrCreate(
175
+ body?: SeamMobileSdkV1PhoneSessionsGetOrCreateBody,
176
+ ): SeamHttpRequest<
177
+ SeamMobileSdkV1PhoneSessionsGetOrCreateResponse,
178
+ 'phone_session'
179
+ > {
180
+ if (!this.defaults.isUndocumentedApiEnabled) {
181
+ throw new Error(
182
+ 'Cannot use undocumented API without isUndocumentedApiEnabled',
183
+ )
184
+ }
185
+ return new SeamHttpRequest(this, {
186
+ pathname: '/seam/mobile_sdk/v1/phone_sessions/get_or_create',
187
+ method: 'POST',
188
+ body,
189
+ responseKey: 'phone_session',
190
+ })
191
+ }
192
+ }
193
+
194
+ export type SeamMobileSdkV1PhoneSessionsGetOrCreateBody =
195
+ RouteRequestBody<'/seam/mobile_sdk/v1/phone_sessions/get_or_create'>
196
+
197
+ export type SeamMobileSdkV1PhoneSessionsGetOrCreateResponse = SetNonNullable<
198
+ Required<RouteResponse<'/seam/mobile_sdk/v1/phone_sessions/get_or_create'>>
199
+ >
200
+
201
+ export type SeamMobileSdkV1PhoneSessionsGetOrCreateOptions = never
@@ -0,0 +1,181 @@
1
+ /*
2
+ * Automatically generated by codegen/smith.ts.
3
+ * Do not edit this file or add other files to this directory.
4
+ */
5
+
6
+ import { seamApiLtsVersion } from 'lib/lts-version.js'
7
+ import {
8
+ getAuthHeadersForClientSessionToken,
9
+ warnOnInsecureuserIdentifierKey,
10
+ } from 'lib/seam/connect/auth.js'
11
+ import { type Client, createClient } from 'lib/seam/connect/client.js'
12
+ import {
13
+ isSeamHttpOptionsWithApiKey,
14
+ isSeamHttpOptionsWithClient,
15
+ isSeamHttpOptionsWithClientSessionToken,
16
+ isSeamHttpOptionsWithConsoleSessionToken,
17
+ isSeamHttpOptionsWithPersonalAccessToken,
18
+ type SeamHttpFromPublishableKeyOptions,
19
+ SeamHttpInvalidOptionsError,
20
+ type SeamHttpOptions,
21
+ type SeamHttpOptionsWithApiKey,
22
+ type SeamHttpOptionsWithClient,
23
+ type SeamHttpOptionsWithClientSessionToken,
24
+ type SeamHttpOptionsWithConsoleSessionToken,
25
+ type SeamHttpOptionsWithPersonalAccessToken,
26
+ type SeamHttpRequestOptions,
27
+ } from 'lib/seam/connect/options.js'
28
+ import {
29
+ limitToSeamHttpRequestOptions,
30
+ parseOptions,
31
+ } from 'lib/seam/connect/parse-options.js'
32
+ import { SeamHttpClientSessions } from 'lib/seam/connect/routes/client-sessions/index.js'
33
+ import type { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
35
+
36
+ import { SeamHttpSeamMobileSdkV1Acs } from './acs/index.js'
37
+ import { SeamHttpSeamMobileSdkV1PhoneSessions } from './phone-sessions/index.js'
38
+
39
+ export class SeamHttpSeamMobileSdkV1 {
40
+ client: Client
41
+ readonly defaults: Required<SeamHttpRequestOptions>
42
+ readonly ltsVersion = seamApiLtsVersion
43
+ static ltsVersion = seamApiLtsVersion
44
+
45
+ constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) {
46
+ const options = parseOptions(apiKeyOrOptions)
47
+ if (!options.isUndocumentedApiEnabled) {
48
+ throw new Error(
49
+ 'Cannot use undocumented API without isUndocumentedApiEnabled',
50
+ )
51
+ }
52
+ this.client = 'client' in options ? options.client : createClient(options)
53
+ this.defaults = limitToSeamHttpRequestOptions(options)
54
+ }
55
+
56
+ static fromClient(
57
+ client: SeamHttpOptionsWithClient['client'],
58
+ options: Omit<SeamHttpOptionsWithClient, 'client'> = {},
59
+ ): SeamHttpSeamMobileSdkV1 {
60
+ const constructorOptions = { ...options, client }
61
+ if (!isSeamHttpOptionsWithClient(constructorOptions)) {
62
+ throw new SeamHttpInvalidOptionsError('Missing client')
63
+ }
64
+ return new SeamHttpSeamMobileSdkV1(constructorOptions)
65
+ }
66
+
67
+ static fromApiKey(
68
+ apiKey: SeamHttpOptionsWithApiKey['apiKey'],
69
+ options: Omit<SeamHttpOptionsWithApiKey, 'apiKey'> = {},
70
+ ): SeamHttpSeamMobileSdkV1 {
71
+ const constructorOptions = { ...options, apiKey }
72
+ if (!isSeamHttpOptionsWithApiKey(constructorOptions)) {
73
+ throw new SeamHttpInvalidOptionsError('Missing apiKey')
74
+ }
75
+ return new SeamHttpSeamMobileSdkV1(constructorOptions)
76
+ }
77
+
78
+ static fromClientSessionToken(
79
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
80
+ options: Omit<
81
+ SeamHttpOptionsWithClientSessionToken,
82
+ 'clientSessionToken'
83
+ > = {},
84
+ ): SeamHttpSeamMobileSdkV1 {
85
+ const constructorOptions = { ...options, clientSessionToken }
86
+ if (!isSeamHttpOptionsWithClientSessionToken(constructorOptions)) {
87
+ throw new SeamHttpInvalidOptionsError('Missing clientSessionToken')
88
+ }
89
+ return new SeamHttpSeamMobileSdkV1(constructorOptions)
90
+ }
91
+
92
+ static async fromPublishableKey(
93
+ publishableKey: string,
94
+ userIdentifierKey: string,
95
+ options: SeamHttpFromPublishableKeyOptions = {},
96
+ ): Promise<SeamHttpSeamMobileSdkV1> {
97
+ warnOnInsecureuserIdentifierKey(userIdentifierKey)
98
+ const clientOptions = parseOptions({ ...options, publishableKey })
99
+ if (isSeamHttpOptionsWithClient(clientOptions)) {
100
+ throw new SeamHttpInvalidOptionsError(
101
+ 'The client option cannot be used with SeamHttpSeamMobileSdkV1.fromPublishableKey',
102
+ )
103
+ }
104
+ const client = createClient(clientOptions)
105
+ const clientSessions = SeamHttpClientSessions.fromClient(client)
106
+ const { token } = await clientSessions.getOrCreate({
107
+ user_identifier_key: userIdentifierKey,
108
+ })
109
+ return SeamHttpSeamMobileSdkV1.fromClientSessionToken(token, options)
110
+ }
111
+
112
+ static fromConsoleSessionToken(
113
+ consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
114
+ workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
115
+ options: Omit<
116
+ SeamHttpOptionsWithConsoleSessionToken,
117
+ 'consoleSessionToken' | 'workspaceId'
118
+ > = {},
119
+ ): SeamHttpSeamMobileSdkV1 {
120
+ const constructorOptions = { ...options, consoleSessionToken, workspaceId }
121
+ if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
122
+ throw new SeamHttpInvalidOptionsError(
123
+ 'Missing consoleSessionToken or workspaceId',
124
+ )
125
+ }
126
+ return new SeamHttpSeamMobileSdkV1(constructorOptions)
127
+ }
128
+
129
+ static fromPersonalAccessToken(
130
+ personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
131
+ workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
132
+ options: Omit<
133
+ SeamHttpOptionsWithPersonalAccessToken,
134
+ 'personalAccessToken' | 'workspaceId'
135
+ > = {},
136
+ ): SeamHttpSeamMobileSdkV1 {
137
+ const constructorOptions = { ...options, personalAccessToken, workspaceId }
138
+ if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
139
+ throw new SeamHttpInvalidOptionsError(
140
+ 'Missing personalAccessToken or workspaceId',
141
+ )
142
+ }
143
+ return new SeamHttpSeamMobileSdkV1(constructorOptions)
144
+ }
145
+
146
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
147
+ request: SeamHttpRequest<TResponse, TResponseKey>,
148
+ ): SeamPaginator<TResponse, TResponseKey> {
149
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
150
+ }
151
+
152
+ async updateClientSessionToken(
153
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
154
+ ): Promise<void> {
155
+ const { headers } = this.client.defaults
156
+ const authHeaders = getAuthHeadersForClientSessionToken({
157
+ clientSessionToken,
158
+ })
159
+ for (const key of Object.keys(authHeaders)) {
160
+ if (headers[key] == null) {
161
+ throw new Error(
162
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
163
+ )
164
+ }
165
+ }
166
+ this.client.defaults.headers = { ...headers, ...authHeaders }
167
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
168
+ await clientSessions.get()
169
+ }
170
+
171
+ get acs(): SeamHttpSeamMobileSdkV1Acs {
172
+ return SeamHttpSeamMobileSdkV1Acs.fromClient(this.client, this.defaults)
173
+ }
174
+
175
+ get phoneSessions(): SeamHttpSeamMobileSdkV1PhoneSessions {
176
+ return SeamHttpSeamMobileSdkV1PhoneSessions.fromClient(
177
+ this.client,
178
+ this.defaults,
179
+ )
180
+ }
181
+ }
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Automatically generated by codegen/smith.ts.
3
+ * Do not edit this file or add other files to this directory.
4
+ */
5
+
6
+ export * from './v1/index.js'
@@ -0,0 +1,179 @@
1
+ /*
2
+ * Automatically generated by codegen/smith.ts.
3
+ * Do not edit this file or add other files to this directory.
4
+ */
5
+
6
+ import { seamApiLtsVersion } from 'lib/lts-version.js'
7
+ import {
8
+ getAuthHeadersForClientSessionToken,
9
+ warnOnInsecureuserIdentifierKey,
10
+ } from 'lib/seam/connect/auth.js'
11
+ import { type Client, createClient } from 'lib/seam/connect/client.js'
12
+ import {
13
+ isSeamHttpOptionsWithApiKey,
14
+ isSeamHttpOptionsWithClient,
15
+ isSeamHttpOptionsWithClientSessionToken,
16
+ isSeamHttpOptionsWithConsoleSessionToken,
17
+ isSeamHttpOptionsWithPersonalAccessToken,
18
+ type SeamHttpFromPublishableKeyOptions,
19
+ SeamHttpInvalidOptionsError,
20
+ type SeamHttpOptions,
21
+ type SeamHttpOptionsWithApiKey,
22
+ type SeamHttpOptionsWithClient,
23
+ type SeamHttpOptionsWithClientSessionToken,
24
+ type SeamHttpOptionsWithConsoleSessionToken,
25
+ type SeamHttpOptionsWithPersonalAccessToken,
26
+ type SeamHttpRequestOptions,
27
+ } from 'lib/seam/connect/options.js'
28
+ import {
29
+ limitToSeamHttpRequestOptions,
30
+ parseOptions,
31
+ } from 'lib/seam/connect/parse-options.js'
32
+ import { SeamHttpClientSessions } from 'lib/seam/connect/routes/client-sessions/index.js'
33
+ import type { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
35
+
36
+ import { SeamHttpSeamPartnerV1BuildingBlocksSpaces } from './spaces/index.js'
37
+
38
+ export class SeamHttpSeamPartnerV1BuildingBlocks {
39
+ client: Client
40
+ readonly defaults: Required<SeamHttpRequestOptions>
41
+ readonly ltsVersion = seamApiLtsVersion
42
+ static ltsVersion = seamApiLtsVersion
43
+
44
+ constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) {
45
+ const options = parseOptions(apiKeyOrOptions)
46
+ if (!options.isUndocumentedApiEnabled) {
47
+ throw new Error(
48
+ 'Cannot use undocumented API without isUndocumentedApiEnabled',
49
+ )
50
+ }
51
+ this.client = 'client' in options ? options.client : createClient(options)
52
+ this.defaults = limitToSeamHttpRequestOptions(options)
53
+ }
54
+
55
+ static fromClient(
56
+ client: SeamHttpOptionsWithClient['client'],
57
+ options: Omit<SeamHttpOptionsWithClient, 'client'> = {},
58
+ ): SeamHttpSeamPartnerV1BuildingBlocks {
59
+ const constructorOptions = { ...options, client }
60
+ if (!isSeamHttpOptionsWithClient(constructorOptions)) {
61
+ throw new SeamHttpInvalidOptionsError('Missing client')
62
+ }
63
+ return new SeamHttpSeamPartnerV1BuildingBlocks(constructorOptions)
64
+ }
65
+
66
+ static fromApiKey(
67
+ apiKey: SeamHttpOptionsWithApiKey['apiKey'],
68
+ options: Omit<SeamHttpOptionsWithApiKey, 'apiKey'> = {},
69
+ ): SeamHttpSeamPartnerV1BuildingBlocks {
70
+ const constructorOptions = { ...options, apiKey }
71
+ if (!isSeamHttpOptionsWithApiKey(constructorOptions)) {
72
+ throw new SeamHttpInvalidOptionsError('Missing apiKey')
73
+ }
74
+ return new SeamHttpSeamPartnerV1BuildingBlocks(constructorOptions)
75
+ }
76
+
77
+ static fromClientSessionToken(
78
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
79
+ options: Omit<
80
+ SeamHttpOptionsWithClientSessionToken,
81
+ 'clientSessionToken'
82
+ > = {},
83
+ ): SeamHttpSeamPartnerV1BuildingBlocks {
84
+ const constructorOptions = { ...options, clientSessionToken }
85
+ if (!isSeamHttpOptionsWithClientSessionToken(constructorOptions)) {
86
+ throw new SeamHttpInvalidOptionsError('Missing clientSessionToken')
87
+ }
88
+ return new SeamHttpSeamPartnerV1BuildingBlocks(constructorOptions)
89
+ }
90
+
91
+ static async fromPublishableKey(
92
+ publishableKey: string,
93
+ userIdentifierKey: string,
94
+ options: SeamHttpFromPublishableKeyOptions = {},
95
+ ): Promise<SeamHttpSeamPartnerV1BuildingBlocks> {
96
+ warnOnInsecureuserIdentifierKey(userIdentifierKey)
97
+ const clientOptions = parseOptions({ ...options, publishableKey })
98
+ if (isSeamHttpOptionsWithClient(clientOptions)) {
99
+ throw new SeamHttpInvalidOptionsError(
100
+ 'The client option cannot be used with SeamHttpSeamPartnerV1BuildingBlocks.fromPublishableKey',
101
+ )
102
+ }
103
+ const client = createClient(clientOptions)
104
+ const clientSessions = SeamHttpClientSessions.fromClient(client)
105
+ const { token } = await clientSessions.getOrCreate({
106
+ user_identifier_key: userIdentifierKey,
107
+ })
108
+ return SeamHttpSeamPartnerV1BuildingBlocks.fromClientSessionToken(
109
+ token,
110
+ options,
111
+ )
112
+ }
113
+
114
+ static fromConsoleSessionToken(
115
+ consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
116
+ workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
117
+ options: Omit<
118
+ SeamHttpOptionsWithConsoleSessionToken,
119
+ 'consoleSessionToken' | 'workspaceId'
120
+ > = {},
121
+ ): SeamHttpSeamPartnerV1BuildingBlocks {
122
+ const constructorOptions = { ...options, consoleSessionToken, workspaceId }
123
+ if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
124
+ throw new SeamHttpInvalidOptionsError(
125
+ 'Missing consoleSessionToken or workspaceId',
126
+ )
127
+ }
128
+ return new SeamHttpSeamPartnerV1BuildingBlocks(constructorOptions)
129
+ }
130
+
131
+ static fromPersonalAccessToken(
132
+ personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
133
+ workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
134
+ options: Omit<
135
+ SeamHttpOptionsWithPersonalAccessToken,
136
+ 'personalAccessToken' | 'workspaceId'
137
+ > = {},
138
+ ): SeamHttpSeamPartnerV1BuildingBlocks {
139
+ const constructorOptions = { ...options, personalAccessToken, workspaceId }
140
+ if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
141
+ throw new SeamHttpInvalidOptionsError(
142
+ 'Missing personalAccessToken or workspaceId',
143
+ )
144
+ }
145
+ return new SeamHttpSeamPartnerV1BuildingBlocks(constructorOptions)
146
+ }
147
+
148
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
149
+ request: SeamHttpRequest<TResponse, TResponseKey>,
150
+ ): SeamPaginator<TResponse, TResponseKey> {
151
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
152
+ }
153
+
154
+ async updateClientSessionToken(
155
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
156
+ ): Promise<void> {
157
+ const { headers } = this.client.defaults
158
+ const authHeaders = getAuthHeadersForClientSessionToken({
159
+ clientSessionToken,
160
+ })
161
+ for (const key of Object.keys(authHeaders)) {
162
+ if (headers[key] == null) {
163
+ throw new Error(
164
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
165
+ )
166
+ }
167
+ }
168
+ this.client.defaults.headers = { ...headers, ...authHeaders }
169
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
170
+ await clientSessions.get()
171
+ }
172
+
173
+ get spaces(): SeamHttpSeamPartnerV1BuildingBlocksSpaces {
174
+ return SeamHttpSeamPartnerV1BuildingBlocksSpaces.fromClient(
175
+ this.client,
176
+ this.defaults,
177
+ )
178
+ }
179
+ }
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Automatically generated by codegen/smith.ts.
3
+ * Do not edit this file or add other files to this directory.
4
+ */
5
+
6
+ export * from './building-blocks.js'
7
+ export * from './spaces/index.js'
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Automatically generated by codegen/smith.ts.
3
+ * Do not edit this file or add other files to this directory.
4
+ */
5
+
6
+ export * from './spaces.js'