@leaflow/sdk 0.2.0 → 0.4.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 (378) hide show
  1. package/dist/generated/assistant/index.d.ts +53 -30
  2. package/dist/generated/assistant/index.js +87 -57
  3. package/dist/generated/assistant/models/checkSenderParams.d.ts +40 -0
  4. package/dist/generated/assistant/models/checkSenderParams.js +31 -0
  5. package/dist/generated/assistant/models/credentialFieldResource.d.ts +37 -0
  6. package/dist/generated/assistant/models/credentialFieldResource.js +31 -0
  7. package/dist/generated/assistant/models/earlierResponseBody.d.ts +36 -0
  8. package/dist/generated/assistant/models/earlierResponseBody.js +1 -0
  9. package/dist/generated/assistant/models/earlierResponseBodyItems.d.ts +32 -0
  10. package/dist/generated/assistant/models/earlierResponseBodyItems.js +1 -0
  11. package/dist/generated/assistant/models/index.d.ts +19 -5
  12. package/dist/generated/assistant/models/index.js +19 -5
  13. package/dist/generated/assistant/models/lengthAwarePageBindingResource.d.ts +41 -0
  14. package/dist/generated/assistant/models/lengthAwarePageBindingResource.js +1 -0
  15. package/dist/generated/assistant/models/lengthAwarePageChannelResource.d.ts +41 -0
  16. package/dist/generated/assistant/models/lengthAwarePageChannelResource.js +1 -0
  17. package/dist/generated/assistant/models/listBindingsParams.d.ts +10 -2
  18. package/dist/generated/assistant/models/listChannelsParams.d.ts +5 -2
  19. package/dist/generated/assistant/models/listEarlierItemsParams.d.ts +37 -0
  20. package/dist/generated/assistant/models/listEarlierItemsParams.js +31 -0
  21. package/dist/generated/assistant/models/listThreadsParams.d.ts +6 -1
  22. package/dist/generated/assistant/models/platformResource.d.ts +8 -0
  23. package/dist/generated/assistant/models/platformResourceCredentialFields.d.ts +32 -0
  24. package/dist/generated/assistant/models/platformResourceCredentialFields.js +1 -0
  25. package/dist/generated/assistant/models/platformResourceSecretSource.d.ts +36 -0
  26. package/dist/generated/assistant/models/platformResourceSecretSource.js +36 -0
  27. package/dist/generated/assistant/models/platformResourceSetupChallenge.d.ts +36 -0
  28. package/dist/generated/assistant/models/platformResourceSetupChallenge.js +36 -0
  29. package/dist/generated/assistant/models/platformResourceSetupMethod.d.ts +35 -0
  30. package/dist/generated/assistant/models/platformResourceSetupMethod.js +35 -0
  31. package/dist/generated/assistant/models/rejectionListResponseBodyRejections.d.ts +2 -2
  32. package/dist/generated/assistant/models/rejectionResource.d.ts +39 -0
  33. package/dist/generated/assistant/models/rejectionResource.js +31 -0
  34. package/dist/generated/assistant/models/rotateSecretRequestBody.d.ts +34 -0
  35. package/dist/generated/assistant/models/rotateSecretRequestBody.js +31 -0
  36. package/dist/generated/assistant/models/senderCheckResource.d.ts +40 -0
  37. package/dist/generated/assistant/models/senderCheckResource.js +1 -0
  38. package/dist/generated/assistant/models/senderCheckResourceAllowFrom.d.ts +31 -0
  39. package/dist/generated/assistant/models/senderCheckResourceAllowFrom.js +31 -0
  40. package/dist/generated/assistant/models/senderCheckResourceBindingId.d.ts +31 -0
  41. package/dist/generated/assistant/models/senderCheckResourceBindingId.js +31 -0
  42. package/dist/generated/assistant/models/senderCheckResourceVerdict.d.ts +37 -0
  43. package/dist/generated/assistant/models/senderCheckResourceVerdict.js +37 -0
  44. package/dist/generated/assistant/models/updateChannelRequestBody.d.ts +7 -0
  45. package/dist/generated/assistant/models/updateChannelRequestBodyAllowFrom.d.ts +34 -0
  46. package/dist/generated/assistant/models/updateChannelRequestBodyAllowFrom.js +31 -0
  47. package/dist/generated/assistant/models/updateChannelRequestBodyCredentials.d.ts +3 -0
  48. package/dist/generated/assistant/models/updateChannelRequestBodySenderPolicy.d.ts +38 -0
  49. package/dist/generated/assistant/models/updateChannelRequestBodySenderPolicy.js +35 -0
  50. package/dist/generated/compute/index.d.ts +234 -101
  51. package/dist/generated/compute/index.js +345 -164
  52. package/dist/generated/compute/models/actOnInstanceRequestBody.d.ts +7 -7
  53. package/dist/generated/compute/models/actOnInstanceRequestBodyAction.d.ts +5 -7
  54. package/dist/generated/compute/models/actOnInstanceRequestBodyAction.js +5 -7
  55. package/dist/generated/compute/models/allocateFloatingIPRequestBody.d.ts +5 -7
  56. package/dist/generated/compute/models/allocateFloatingIPRequestBody.js +5 -7
  57. package/dist/generated/compute/models/attachDiskRequestBody.d.ts +5 -7
  58. package/dist/generated/compute/models/attachDiskRequestBody.js +5 -7
  59. package/dist/generated/compute/models/attachFloatingIPRequestBody.d.ts +5 -7
  60. package/dist/generated/compute/models/attachFloatingIPRequestBody.js +5 -7
  61. package/dist/generated/compute/models/attachPortRequestBody.d.ts +5 -7
  62. package/dist/generated/compute/models/attachPortRequestBody.js +5 -7
  63. package/dist/generated/compute/models/backupListResponseBody.d.ts +27 -0
  64. package/dist/generated/compute/models/backupListResponseBody.js +1 -0
  65. package/dist/generated/compute/models/backupListResponseBodyItems.d.ts +25 -0
  66. package/dist/generated/compute/models/backupListResponseBodyItems.js +1 -0
  67. package/dist/generated/compute/models/backupResource.d.ts +37 -0
  68. package/dist/generated/compute/models/backupResource.js +1 -0
  69. package/dist/generated/compute/models/backupResourceStatus.d.ts +31 -0
  70. package/dist/generated/compute/models/backupResourceStatus.js +31 -0
  71. package/dist/generated/compute/models/bindFloatingIPRequestBody.d.ts +5 -7
  72. package/dist/generated/compute/models/bindFloatingIPRequestBody.js +5 -7
  73. package/dist/generated/compute/models/consoleOutputResponseBody.d.ts +27 -0
  74. package/dist/generated/compute/models/consoleOutputResponseBody.js +24 -0
  75. package/dist/generated/compute/models/consoleResponseBody.d.ts +7 -9
  76. package/dist/generated/compute/models/consoleResponseBody.js +5 -7
  77. package/dist/generated/compute/models/createBackupRequestBody.d.ts +28 -0
  78. package/dist/generated/compute/models/createBackupRequestBody.js +24 -0
  79. package/dist/generated/compute/models/createDiskRequestBody.d.ts +6 -8
  80. package/dist/generated/compute/models/createDiskRequestBody.js +5 -7
  81. package/dist/generated/compute/models/createPortRequestBody.d.ts +5 -7
  82. package/dist/generated/compute/models/createPortRequestBodySecurityGroupIds.d.ts +5 -7
  83. package/dist/generated/compute/models/createPortRequestBodySecurityGroupIds.js +5 -7
  84. package/dist/generated/compute/models/createPrivateImageRequestBody.d.ts +29 -0
  85. package/dist/generated/compute/models/createPrivateImageRequestBody.js +24 -0
  86. package/dist/generated/compute/models/createPrivateNetworkRequestBody.d.ts +5 -7
  87. package/dist/generated/compute/models/createPrivateNetworkRequestBody.js +5 -7
  88. package/dist/generated/compute/models/createRouteRequestBody.d.ts +5 -7
  89. package/dist/generated/compute/models/createRouteRequestBody.js +5 -7
  90. package/dist/generated/compute/models/createSecurityGroupRequestBody.d.ts +5 -7
  91. package/dist/generated/compute/models/createSecurityGroupRequestBody.js +5 -7
  92. package/dist/generated/compute/models/createSecurityRuleRequestBody.d.ts +7 -9
  93. package/dist/generated/compute/models/createSecurityRuleRequestBodyDirection.d.ts +5 -7
  94. package/dist/generated/compute/models/createSecurityRuleRequestBodyDirection.js +5 -7
  95. package/dist/generated/compute/models/createSecurityRuleRequestBodyEthertype.d.ts +5 -7
  96. package/dist/generated/compute/models/createSecurityRuleRequestBodyEthertype.js +5 -7
  97. package/dist/generated/compute/models/createSecurityRuleRequestBodyPortRangeMax.d.ts +6 -8
  98. package/dist/generated/compute/models/createSecurityRuleRequestBodyPortRangeMax.js +5 -7
  99. package/dist/generated/compute/models/createSecurityRuleRequestBodyPortRangeMin.d.ts +6 -8
  100. package/dist/generated/compute/models/createSecurityRuleRequestBodyPortRangeMin.js +5 -7
  101. package/dist/generated/compute/models/createSnapshotRequestBody.d.ts +5 -7
  102. package/dist/generated/compute/models/createSnapshotRequestBody.js +5 -7
  103. package/dist/generated/compute/models/createSubnetRequestBody.d.ts +5 -7
  104. package/dist/generated/compute/models/createSubnetRequestBody.js +5 -7
  105. package/dist/generated/compute/models/diskListResponseBody.d.ts +5 -7
  106. package/dist/generated/compute/models/diskListResponseBodyItems.d.ts +5 -7
  107. package/dist/generated/compute/models/diskResource.d.ts +9 -9
  108. package/dist/generated/compute/models/diskResourceAttachedInstanceId.d.ts +5 -7
  109. package/dist/generated/compute/models/diskResourceAttachedInstanceId.js +5 -7
  110. package/dist/generated/compute/models/diskResourceDevice.d.ts +5 -7
  111. package/dist/generated/compute/models/diskResourceDevice.js +5 -7
  112. package/dist/generated/compute/models/diskResourceStatus.d.ts +8 -7
  113. package/dist/generated/compute/models/diskResourceStatus.js +8 -7
  114. package/dist/generated/compute/models/diskTypeListResponseBody.d.ts +5 -7
  115. package/dist/generated/compute/models/diskTypeListResponseBodyItems.d.ts +5 -7
  116. package/dist/generated/compute/models/diskTypeResource.d.ts +6 -8
  117. package/dist/generated/compute/models/diskTypeResourceMedia.d.ts +5 -7
  118. package/dist/generated/compute/models/diskTypeResourceMedia.js +5 -7
  119. package/dist/generated/compute/models/error.d.ts +5 -7
  120. package/dist/generated/compute/models/errorMeta.d.ts +5 -7
  121. package/dist/generated/compute/models/errorMeta.js +5 -7
  122. package/dist/generated/compute/models/floatingIPListResponseBody.d.ts +5 -7
  123. package/dist/generated/compute/models/floatingIPListResponseBodyItems.d.ts +5 -7
  124. package/dist/generated/compute/models/floatingIPResource.d.ts +6 -7
  125. package/dist/generated/compute/models/floatingIPResourceAttachedFixedIp.d.ts +5 -7
  126. package/dist/generated/compute/models/floatingIPResourceAttachedFixedIp.js +5 -7
  127. package/dist/generated/compute/models/floatingIPResourceAttachedPortId.d.ts +5 -7
  128. package/dist/generated/compute/models/floatingIPResourceAttachedPortId.js +5 -7
  129. package/dist/generated/compute/models/floatingIPResourceBandwidthMbps.d.ts +5 -7
  130. package/dist/generated/compute/models/floatingIPResourceBandwidthMbps.js +5 -7
  131. package/dist/generated/compute/models/floatingIPResourceDetachedAt.d.ts +5 -7
  132. package/dist/generated/compute/models/floatingIPResourceDetachedAt.js +5 -7
  133. package/dist/generated/compute/models/floatingIPResourceStatus.d.ts +10 -11
  134. package/dist/generated/compute/models/floatingIPResourceStatus.js +7 -11
  135. package/dist/generated/compute/models/getInstanceConsoleOutputParams.d.ts +31 -0
  136. package/dist/generated/compute/models/getInstanceConsoleOutputParams.js +24 -0
  137. package/dist/generated/compute/models/iPv6ResponseBody.d.ts +5 -7
  138. package/dist/generated/compute/models/iPv6ResponseBodyStatus.d.ts +5 -7
  139. package/dist/generated/compute/models/iPv6ResponseBodyStatus.js +5 -7
  140. package/dist/generated/compute/models/imageListResponseBody.d.ts +5 -7
  141. package/dist/generated/compute/models/imageListResponseBodyItems.d.ts +5 -7
  142. package/dist/generated/compute/models/imageResource.d.ts +8 -8
  143. package/dist/generated/compute/models/imageResource.js +5 -7
  144. package/dist/generated/compute/models/index.d.ts +48 -9
  145. package/dist/generated/compute/models/index.js +48 -9
  146. package/dist/generated/compute/models/instanceListResponseBody.d.ts +5 -7
  147. package/dist/generated/compute/models/instanceListResponseBodyItems.d.ts +5 -7
  148. package/dist/generated/compute/models/instanceResource.d.ts +31 -9
  149. package/dist/generated/compute/models/instanceResourceImageId.d.ts +27 -0
  150. package/dist/generated/compute/models/instanceResourceImageId.js +24 -0
  151. package/dist/generated/compute/models/instanceResourceIpv6Address.d.ts +27 -0
  152. package/dist/generated/compute/models/instanceResourceIpv6Address.js +24 -0
  153. package/dist/generated/compute/models/instanceResourcePendingInstanceTypeId.d.ts +27 -0
  154. package/dist/generated/compute/models/instanceResourcePendingInstanceTypeId.js +24 -0
  155. package/dist/generated/compute/models/instanceResourcePrivateImageId.d.ts +27 -0
  156. package/dist/generated/compute/models/instanceResourcePrivateImageId.js +24 -0
  157. package/dist/generated/compute/models/instanceResourcePrivateIp.d.ts +27 -0
  158. package/dist/generated/compute/models/instanceResourcePrivateIp.js +24 -0
  159. package/dist/generated/compute/models/instanceResourcePrivateNetworkId.d.ts +27 -0
  160. package/dist/generated/compute/models/instanceResourcePrivateNetworkId.js +24 -0
  161. package/dist/generated/compute/models/instanceResourcePublicIps.d.ts +27 -0
  162. package/dist/generated/compute/models/instanceResourcePublicIps.js +24 -0
  163. package/dist/generated/compute/models/instanceResourceStatus.d.ts +6 -7
  164. package/dist/generated/compute/models/instanceResourceStatus.js +6 -7
  165. package/dist/generated/compute/models/instanceResourceSubnetId.d.ts +27 -0
  166. package/dist/generated/compute/models/instanceResourceSubnetId.js +24 -0
  167. package/dist/generated/compute/models/instanceResourceSuspendedAt.d.ts +5 -7
  168. package/dist/generated/compute/models/instanceResourceSuspendedAt.js +5 -7
  169. package/dist/generated/compute/models/instanceTypeListResponseBody.d.ts +5 -7
  170. package/dist/generated/compute/models/instanceTypeListResponseBodyItems.d.ts +5 -7
  171. package/dist/generated/compute/models/instanceTypeResource.d.ts +6 -8
  172. package/dist/generated/compute/models/instanceTypeResource.js +5 -7
  173. package/dist/generated/compute/models/launchInstanceRequestBody.d.ts +25 -10
  174. package/dist/generated/compute/models/launchInstanceRequestBodySecurityGroupIds.d.ts +5 -7
  175. package/dist/generated/compute/models/launchInstanceRequestBodySecurityGroupIds.js +5 -7
  176. package/dist/generated/compute/models/launchInstanceResponseBody.d.ts +12 -10
  177. package/dist/generated/compute/models/launchInstanceResponseBodyFailure.d.ts +27 -0
  178. package/dist/generated/compute/models/launchInstanceResponseBodyFailure.js +24 -0
  179. package/dist/generated/compute/models/launchInstanceResponseBodyInstances.d.ts +28 -0
  180. package/dist/generated/compute/models/launchInstanceResponseBodyInstances.js +1 -0
  181. package/dist/generated/compute/models/listBackupsParams.d.ts +29 -0
  182. package/dist/generated/compute/models/listBackupsParams.js +24 -0
  183. package/dist/generated/compute/models/listDiskTypesParams.d.ts +5 -7
  184. package/dist/generated/compute/models/listDiskTypesParams.js +5 -7
  185. package/dist/generated/compute/models/listDisksParams.d.ts +5 -7
  186. package/dist/generated/compute/models/listDisksParams.js +5 -7
  187. package/dist/generated/compute/models/listImagesParams.d.ts +5 -7
  188. package/dist/generated/compute/models/listImagesParams.js +5 -7
  189. package/dist/generated/compute/models/listInstanceTypesParams.d.ts +5 -7
  190. package/dist/generated/compute/models/listInstanceTypesParams.js +5 -7
  191. package/dist/generated/compute/models/listOperationLogsParams.d.ts +39 -0
  192. package/dist/generated/compute/models/listOperationLogsParams.js +24 -0
  193. package/dist/generated/compute/models/listPrivateImagesParams.d.ts +30 -0
  194. package/dist/generated/compute/models/listPrivateImagesParams.js +24 -0
  195. package/dist/generated/compute/models/listPrivateNetworksParams.d.ts +5 -7
  196. package/dist/generated/compute/models/listPrivateNetworksParams.js +5 -7
  197. package/dist/generated/compute/models/listSecurityGroupsParams.d.ts +5 -7
  198. package/dist/generated/compute/models/listSecurityGroupsParams.js +5 -7
  199. package/dist/generated/compute/models/listSnapshotsParams.d.ts +29 -0
  200. package/dist/generated/compute/models/listSnapshotsParams.js +24 -0
  201. package/dist/generated/compute/models/nextFreeCidrResponseBody.d.ts +5 -7
  202. package/dist/generated/compute/models/nextFreeCidrResponseBody.js +5 -7
  203. package/dist/generated/compute/models/operationLogListResponseBody.d.ts +28 -0
  204. package/dist/generated/compute/models/operationLogListResponseBody.js +1 -0
  205. package/dist/generated/compute/models/operationLogListResponseBodyItems.d.ts +25 -0
  206. package/dist/generated/compute/models/operationLogListResponseBodyItems.js +1 -0
  207. package/dist/generated/compute/models/operationLogResource.d.ts +46 -0
  208. package/dist/generated/compute/models/operationLogResource.js +1 -0
  209. package/dist/generated/compute/models/operationLogResourceActor.d.ts +27 -0
  210. package/dist/generated/compute/models/operationLogResourceActor.js +24 -0
  211. package/dist/generated/compute/models/operationLogResourceFailure.d.ts +27 -0
  212. package/dist/generated/compute/models/operationLogResourceFailure.js +24 -0
  213. package/dist/generated/compute/models/operationLogResourcePayload.d.ts +29 -0
  214. package/dist/generated/compute/models/operationLogResourcePayload.js +24 -0
  215. package/dist/generated/compute/models/operationLogResourceRegionCode.d.ts +24 -0
  216. package/dist/generated/compute/models/operationLogResourceRegionCode.js +24 -0
  217. package/dist/generated/compute/models/portListResponseBody.d.ts +5 -7
  218. package/dist/generated/compute/models/portListResponseBodyItems.d.ts +5 -7
  219. package/dist/generated/compute/models/portResource.d.ts +5 -7
  220. package/dist/generated/compute/models/portResourceAttachedInstanceId.d.ts +5 -7
  221. package/dist/generated/compute/models/portResourceAttachedInstanceId.js +5 -7
  222. package/dist/generated/compute/models/portResourceIpv6Address.d.ts +5 -7
  223. package/dist/generated/compute/models/portResourceIpv6Address.js +5 -7
  224. package/dist/generated/compute/models/portResourceMac.d.ts +5 -7
  225. package/dist/generated/compute/models/portResourceMac.js +5 -7
  226. package/dist/generated/compute/models/portResourcePrivateIp.d.ts +5 -7
  227. package/dist/generated/compute/models/portResourcePrivateIp.js +5 -7
  228. package/dist/generated/compute/models/privateImageListResponseBody.d.ts +27 -0
  229. package/dist/generated/compute/models/privateImageListResponseBody.js +1 -0
  230. package/dist/generated/compute/models/privateImageListResponseBodyItems.d.ts +25 -0
  231. package/dist/generated/compute/models/privateImageListResponseBodyItems.js +1 -0
  232. package/dist/generated/compute/models/privateImageResource.d.ts +49 -0
  233. package/dist/generated/compute/models/privateImageResource.js +1 -0
  234. package/dist/generated/compute/models/privateImageResourceFailure.d.ts +27 -0
  235. package/dist/generated/compute/models/privateImageResourceFailure.js +24 -0
  236. package/dist/generated/compute/models/privateImageResourceSourceInstanceId.d.ts +27 -0
  237. package/dist/generated/compute/models/privateImageResourceSourceInstanceId.js +24 -0
  238. package/dist/generated/compute/models/privateImageResourceStatus.d.ts +31 -0
  239. package/dist/generated/compute/models/privateImageResourceStatus.js +31 -0
  240. package/dist/generated/compute/models/privateNetworkListResponseBody.d.ts +5 -7
  241. package/dist/generated/compute/models/privateNetworkListResponseBodyItems.d.ts +5 -7
  242. package/dist/generated/compute/models/privateNetworkResource.d.ts +5 -7
  243. package/dist/generated/compute/models/privateNetworkResourceGatewayV4.d.ts +5 -7
  244. package/dist/generated/compute/models/privateNetworkResourceGatewayV4.js +5 -7
  245. package/dist/generated/compute/models/privateNetworkResourceGatewayV6.d.ts +5 -7
  246. package/dist/generated/compute/models/privateNetworkResourceGatewayV6.js +5 -7
  247. package/dist/generated/compute/models/privateNetworkResourceStatus.d.ts +5 -7
  248. package/dist/generated/compute/models/privateNetworkResourceStatus.js +5 -7
  249. package/dist/generated/compute/models/rebuildInstanceRequestBody.d.ts +12 -9
  250. package/dist/generated/compute/models/rebuildInstanceRequestBody.js +5 -7
  251. package/dist/generated/compute/models/rebuildInstanceResponseBody.d.ts +6 -8
  252. package/dist/generated/compute/models/regionListResponseBody.d.ts +5 -7
  253. package/dist/generated/compute/models/regionListResponseBodyItems.d.ts +5 -7
  254. package/dist/generated/compute/models/regionResource.d.ts +5 -7
  255. package/dist/generated/compute/models/regionResource.js +5 -7
  256. package/dist/generated/compute/models/renameBackupRequestBody.d.ts +27 -0
  257. package/dist/generated/compute/models/renameBackupRequestBody.js +24 -0
  258. package/dist/generated/compute/models/renameDiskRequestBody.d.ts +5 -7
  259. package/dist/generated/compute/models/renameDiskRequestBody.js +5 -7
  260. package/dist/generated/compute/models/renameInstanceRequestBody.d.ts +5 -7
  261. package/dist/generated/compute/models/renameInstanceRequestBody.js +5 -7
  262. package/dist/generated/compute/models/renamePrivateImageRequestBody.d.ts +27 -0
  263. package/dist/generated/compute/models/renamePrivateImageRequestBody.js +24 -0
  264. package/dist/generated/compute/models/renamePrivateNetworkRequestBody.d.ts +27 -0
  265. package/dist/generated/compute/models/renamePrivateNetworkRequestBody.js +24 -0
  266. package/dist/generated/compute/models/renameSnapshotRequestBody.d.ts +27 -0
  267. package/dist/generated/compute/models/renameSnapshotRequestBody.js +24 -0
  268. package/dist/generated/compute/models/resetPasswordRequestBody.d.ts +32 -0
  269. package/dist/generated/compute/models/resetPasswordRequestBody.js +24 -0
  270. package/dist/generated/compute/models/resetPasswordResponseBody.d.ts +27 -0
  271. package/dist/generated/compute/models/resetPasswordResponseBody.js +24 -0
  272. package/dist/generated/compute/models/resizeDiskRequestBody.d.ts +5 -7
  273. package/dist/generated/compute/models/resizeDiskRequestBody.js +5 -7
  274. package/dist/generated/compute/models/resizeInstanceRequestBody.d.ts +6 -8
  275. package/dist/generated/compute/models/resizeInstanceRequestBody.js +5 -7
  276. package/dist/generated/compute/models/restoreBackupRequestBody.d.ts +37 -0
  277. package/dist/generated/compute/models/restoreBackupRequestBody.js +24 -0
  278. package/dist/generated/compute/models/revertDiskRequestBody.d.ts +27 -0
  279. package/dist/generated/compute/models/revertDiskRequestBody.js +24 -0
  280. package/dist/generated/compute/models/routeListResponseBody.d.ts +5 -7
  281. package/dist/generated/compute/models/routeListResponseBodyItems.d.ts +5 -7
  282. package/dist/generated/compute/models/routeResource.d.ts +5 -7
  283. package/dist/generated/compute/models/routeResource.js +5 -7
  284. package/dist/generated/compute/models/securityGroupListResponseBody.d.ts +5 -7
  285. package/dist/generated/compute/models/securityGroupListResponseBodyItems.d.ts +5 -7
  286. package/dist/generated/compute/models/securityGroupResource.d.ts +5 -7
  287. package/dist/generated/compute/models/securityGroupResource.js +5 -7
  288. package/dist/generated/compute/models/securityRuleListResponseBody.d.ts +5 -7
  289. package/dist/generated/compute/models/securityRuleListResponseBodyItems.d.ts +5 -7
  290. package/dist/generated/compute/models/securityRuleResource.d.ts +5 -7
  291. package/dist/generated/compute/models/securityRuleResourceDirection.d.ts +5 -7
  292. package/dist/generated/compute/models/securityRuleResourceDirection.js +5 -7
  293. package/dist/generated/compute/models/securityRuleResourceEthertype.d.ts +5 -7
  294. package/dist/generated/compute/models/securityRuleResourceEthertype.js +5 -7
  295. package/dist/generated/compute/models/securityRuleResourcePortRangeMax.d.ts +5 -7
  296. package/dist/generated/compute/models/securityRuleResourcePortRangeMax.js +5 -7
  297. package/dist/generated/compute/models/securityRuleResourcePortRangeMin.d.ts +5 -7
  298. package/dist/generated/compute/models/securityRuleResourcePortRangeMin.js +5 -7
  299. package/dist/generated/compute/models/securityRuleResourceProtocol.d.ts +5 -7
  300. package/dist/generated/compute/models/securityRuleResourceProtocol.js +5 -7
  301. package/dist/generated/compute/models/securityRuleResourceRemoteIpPrefix.d.ts +5 -7
  302. package/dist/generated/compute/models/securityRuleResourceRemoteIpPrefix.js +5 -7
  303. package/dist/generated/compute/models/setBandwidthRequestBody.d.ts +6 -8
  304. package/dist/generated/compute/models/setBandwidthRequestBody.js +5 -7
  305. package/dist/generated/compute/models/snapshotListResponseBody.d.ts +5 -7
  306. package/dist/generated/compute/models/snapshotListResponseBodyItems.d.ts +5 -7
  307. package/dist/generated/compute/models/snapshotResource.d.ts +7 -7
  308. package/dist/generated/compute/models/snapshotResourceStatus.d.ts +6 -7
  309. package/dist/generated/compute/models/snapshotResourceStatus.js +6 -7
  310. package/dist/generated/compute/models/subnetListResponseBody.d.ts +5 -7
  311. package/dist/generated/compute/models/subnetListResponseBodyItems.d.ts +5 -7
  312. package/dist/generated/compute/models/subnetResource.d.ts +5 -7
  313. package/dist/generated/compute/models/subnetResourceGatewayIp.d.ts +5 -7
  314. package/dist/generated/compute/models/subnetResourceGatewayIp.js +5 -7
  315. package/dist/generated/compute/models/subnetResourceIpVersion.d.ts +5 -7
  316. package/dist/generated/compute/models/subnetResourceIpVersion.js +5 -7
  317. package/dist/generated/compute/models/suggestSubnetCidrParams.d.ts +5 -7
  318. package/dist/generated/compute/models/suggestSubnetCidrParams.js +5 -7
  319. package/dist/generated/compute/models/zoneListResponseBody.d.ts +5 -7
  320. package/dist/generated/compute/models/zoneListResponseBodyItems.d.ts +5 -7
  321. package/dist/generated/compute/models/zoneResource.d.ts +5 -7
  322. package/dist/generated/compute/models/zoneResource.js +5 -7
  323. package/dist/generated/iam/index.d.ts +53 -73
  324. package/dist/generated/iam/index.js +81 -119
  325. package/dist/generated/iam/models/createSSHKeyRequestBody.d.ts +39 -0
  326. package/dist/generated/iam/models/createSSHKeyRequestBody.js +1 -0
  327. package/dist/generated/iam/models/createSSHKeyRequestBodyOwner.d.ts +29 -0
  328. package/dist/generated/iam/models/createSSHKeyRequestBodyOwner.js +26 -0
  329. package/dist/generated/iam/models/createSSHKeyRequestBodyPurposes.d.ts +26 -0
  330. package/dist/generated/iam/models/createSSHKeyRequestBodyPurposes.js +22 -0
  331. package/dist/generated/iam/models/index.d.ts +11 -16
  332. package/dist/generated/iam/models/index.js +11 -16
  333. package/dist/generated/iam/models/lengthAwarePageInvitationResource.d.ts +32 -0
  334. package/dist/generated/iam/models/lengthAwarePageInvitationResource.js +1 -0
  335. package/dist/generated/iam/models/lengthAwarePageMemberResource.d.ts +32 -0
  336. package/dist/generated/iam/models/lengthAwarePageMemberResource.js +1 -0
  337. package/dist/generated/iam/models/lengthAwarePageProjectAccessResource.d.ts +32 -0
  338. package/dist/generated/iam/models/lengthAwarePageProjectAccessResource.js +1 -0
  339. package/dist/generated/iam/models/lengthAwarePageSSHKeyResource.d.ts +32 -0
  340. package/dist/generated/iam/models/lengthAwarePageSSHKeyResource.js +1 -0
  341. package/dist/generated/iam/models/listMembersParams.d.ts +5 -4
  342. package/dist/generated/iam/models/listMyInvitationsParams.d.ts +5 -4
  343. package/dist/generated/iam/models/listProjectInvitationsParams.d.ts +5 -4
  344. package/dist/generated/iam/models/listProjectsParams.d.ts +5 -4
  345. package/dist/generated/iam/models/listSshKeysParams.d.ts +45 -0
  346. package/dist/generated/iam/models/listSshKeysParams.js +1 -0
  347. package/dist/generated/iam/models/listSshKeysStatus.d.ts +26 -0
  348. package/dist/generated/iam/models/listSshKeysStatus.js +26 -0
  349. package/dist/generated/iam/models/renameSSHKeyRequestBody.d.ts +25 -0
  350. package/dist/generated/iam/models/renameSSHKeyRequestBody.js +22 -0
  351. package/dist/generated/iam/models/sSHKeyResource.d.ts +7 -0
  352. package/dist/generated/iam/models/sSHKeyResourcePurposes.d.ts +25 -0
  353. package/dist/generated/iam/models/sSHKeyResourcePurposes.js +22 -0
  354. package/dist/generated/monitoring/index.d.ts +38 -35
  355. package/dist/generated/monitoring/index.js +68 -68
  356. package/dist/generated/monitoring/models/cursorPageIncidentActivityResource.d.ts +31 -0
  357. package/dist/generated/monitoring/models/cursorPageIncidentActivityResource.js +1 -0
  358. package/dist/generated/monitoring/models/index.d.ts +3 -6
  359. package/dist/generated/monitoring/models/index.js +3 -6
  360. package/dist/generated/monitoring/models/lengthAwarePageIncidentResource.d.ts +35 -0
  361. package/dist/generated/monitoring/models/lengthAwarePageIncidentResource.js +1 -0
  362. package/dist/generated/monitoring/models/lengthAwarePageServerResource.d.ts +35 -0
  363. package/dist/generated/monitoring/models/lengthAwarePageServerResource.js +1 -0
  364. package/dist/generated/monitoring/models/listIncidentsParams.d.ts +5 -4
  365. package/dist/generated/monitoring/models/listServersParams.d.ts +5 -4
  366. package/dist/http.d.ts +88 -24
  367. package/dist/http.js +91 -24
  368. package/dist/index.d.ts +55 -2
  369. package/dist/index.js +59 -5
  370. package/openapi/assistant.version +1 -1
  371. package/openapi/assistant.yaml +351 -259
  372. package/openapi/compute.version +1 -1
  373. package/openapi/compute.yaml +1198 -761
  374. package/openapi/iam.version +1 -1
  375. package/openapi/iam.yaml +199 -318
  376. package/openapi/monitoring.version +1 -1
  377. package/openapi/monitoring.yaml +92 -305
  378. package/package.json +3 -3
@@ -28,6 +28,7 @@ export * from './assignIncidentRequestBody.js';
28
28
  export * from './closeIncidentRequestBody.js';
29
29
  export * from './closeIncidentRequestBodyReason.js';
30
30
  export * from './countResource.js';
31
+ export * from './cursorPageIncidentActivityResource.js';
31
32
  export * from './enableMonitoringRequestBody.js';
32
33
  export * from './enableMonitoringRequestBodyAddressKind.js';
33
34
  export * from './enableMonitoringRequestBodyAgentMode.js';
@@ -38,14 +39,10 @@ export * from './errorMeta.js';
38
39
  export * from './getServerMetricParams.js';
39
40
  export * from './getSliReportParams.js';
40
41
  export * from './hostInterfaceResource.js';
41
- export * from './incidentActivityListResponseBody.js';
42
- export * from './incidentActivityListResponseBodyItems.js';
43
42
  export * from './incidentActivityResource.js';
44
43
  export * from './incidentActivityResourceActivityType.js';
45
44
  export * from './incidentActivityResourceSource.js';
46
45
  export * from './incidentFollowerResource.js';
47
- export * from './incidentListResponseBody.js';
48
- export * from './incidentListResponseBodyItems.js';
49
46
  export * from './incidentResource.js';
50
47
  export * from './incidentResourceAcknowledgedAt.js';
51
48
  export * from './incidentResourceAssignedAt.js';
@@ -63,6 +60,8 @@ export * from './itemResourceLastCollectedAt.js';
63
60
  export * from './itemResourceTags.js';
64
61
  export * from './itemResourceValueType.js';
65
62
  export * from './itemThresholdResource.js';
63
+ export * from './lengthAwarePageIncidentResource.js';
64
+ export * from './lengthAwarePageServerResource.js';
66
65
  export * from './listIncidentTimelineParams.js';
67
66
  export * from './listIncidentsAcknowledged.js';
68
67
  export * from './listIncidentsClosed.js';
@@ -116,8 +115,6 @@ export * from './sLOResourceSyncStatus.js';
116
115
  export * from './scheduleWindowRequest.js';
117
116
  export * from './scheduleWindowResource.js';
118
117
  export * from './serverEnrollmentResponseBody.js';
119
- export * from './serverListResponseBody.js';
120
- export * from './serverListResponseBodyItems.js';
121
118
  export * from './serverResource.js';
122
119
  export * from './serverResourceAddressKind.js';
123
120
  export * from './serverResourceAgentMode.js';
@@ -28,6 +28,7 @@ export * from './assignIncidentRequestBody.js';
28
28
  export * from './closeIncidentRequestBody.js';
29
29
  export * from './closeIncidentRequestBodyReason.js';
30
30
  export * from './countResource.js';
31
+ export * from './cursorPageIncidentActivityResource.js';
31
32
  export * from './enableMonitoringRequestBody.js';
32
33
  export * from './enableMonitoringRequestBodyAddressKind.js';
33
34
  export * from './enableMonitoringRequestBodyAgentMode.js';
@@ -38,14 +39,10 @@ export * from './errorMeta.js';
38
39
  export * from './getServerMetricParams.js';
39
40
  export * from './getSliReportParams.js';
40
41
  export * from './hostInterfaceResource.js';
41
- export * from './incidentActivityListResponseBody.js';
42
- export * from './incidentActivityListResponseBodyItems.js';
43
42
  export * from './incidentActivityResource.js';
44
43
  export * from './incidentActivityResourceActivityType.js';
45
44
  export * from './incidentActivityResourceSource.js';
46
45
  export * from './incidentFollowerResource.js';
47
- export * from './incidentListResponseBody.js';
48
- export * from './incidentListResponseBodyItems.js';
49
46
  export * from './incidentResource.js';
50
47
  export * from './incidentResourceAcknowledgedAt.js';
51
48
  export * from './incidentResourceAssignedAt.js';
@@ -63,6 +60,8 @@ export * from './itemResourceLastCollectedAt.js';
63
60
  export * from './itemResourceTags.js';
64
61
  export * from './itemResourceValueType.js';
65
62
  export * from './itemThresholdResource.js';
63
+ export * from './lengthAwarePageIncidentResource.js';
64
+ export * from './lengthAwarePageServerResource.js';
66
65
  export * from './listIncidentTimelineParams.js';
67
66
  export * from './listIncidentsAcknowledged.js';
68
67
  export * from './listIncidentsClosed.js';
@@ -116,8 +115,6 @@ export * from './sLOResourceSyncStatus.js';
116
115
  export * from './scheduleWindowRequest.js';
117
116
  export * from './scheduleWindowResource.js';
118
117
  export * from './serverEnrollmentResponseBody.js';
119
- export * from './serverListResponseBody.js';
120
- export * from './serverListResponseBodyItems.js';
121
118
  export * from './serverResource.js';
122
119
  export * from './serverResourceAddressKind.js';
123
120
  export * from './serverResourceAgentMode.js';
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Generated by orval v7.21.0 🍺
3
+ * Do not edit manually.
4
+ * Leaflow 监控 用户 API
5
+ * 用户自己项目里的监控:接入机器、看指标、处理告警、开维护窗口、定可用率目标。
6
+
7
+ ## 怎么带身份
8
+
9
+ 每个请求都要带 `Authorization: Bearer <项目令牌>`。先在 auth.leaflow.net 登录拿到账号令牌,再用它向 IAM 换取项目令牌(`POST /api/v1/projects/{projectId}/token`)。一张项目令牌同时说明当前用户和当前项目。
10
+
11
+ **路径上没有 `projectId`**:当前项目由令牌决定。
12
+
13
+ 失败时按出路区分:`IDENTITY_EXPIRED` 表示令牌过期,重新换取即可,无需重新登录;`PROJECT_FORBIDDEN` 表示当前账号不是该项目成员;`PROJECT_UNAVAILABLE` 表示项目欠费或正在删除。
14
+
15
+ ## 两组容易混淆的概念
16
+
17
+ - **停止监控不等于删除**:`POST /servers/{id}/disable` 可逆,历史数据完整保留;`DELETE /servers/{id}` 会连同监控主机、历史数据和这台机器名下的告警一并删除,不可恢复。
18
+ - **告警恢复不等于告警了结**:`incident_status` 表示监控系统是否判定已恢复,`closed_at` 表示是否有人完成了处理。尚未恢复的告警也可以按「已接受的风险」了结。
19
+
20
+ ## PSK 只返回一次
21
+
22
+ 接入和轮换的响应中包含 `tls_psk`,其他任何接口都不会再返回它,请及时保存。遗失后可再轮换一次,代价是被监控的机器需要同步更新一次 agent 配置。
23
+ * OpenAPI spec version: 1.0.0
24
+ */
25
+ import type { IncidentResource } from './incidentResource.js';
26
+ export interface LengthAwarePageIncidentResource {
27
+ /** 这一页的内容 */
28
+ items: IncidentResource[];
29
+ /** 这一页最多几条,回显请求里的值 */
30
+ limit: number;
31
+ /** 跳过了多少条,回显请求里的值 */
32
+ offset: number;
33
+ /** 命中的总条数,不只是这一页 */
34
+ total: number;
35
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Generated by orval v7.21.0 🍺
3
+ * Do not edit manually.
4
+ * Leaflow 监控 用户 API
5
+ * 用户自己项目里的监控:接入机器、看指标、处理告警、开维护窗口、定可用率目标。
6
+
7
+ ## 怎么带身份
8
+
9
+ 每个请求都要带 `Authorization: Bearer <项目令牌>`。先在 auth.leaflow.net 登录拿到账号令牌,再用它向 IAM 换取项目令牌(`POST /api/v1/projects/{projectId}/token`)。一张项目令牌同时说明当前用户和当前项目。
10
+
11
+ **路径上没有 `projectId`**:当前项目由令牌决定。
12
+
13
+ 失败时按出路区分:`IDENTITY_EXPIRED` 表示令牌过期,重新换取即可,无需重新登录;`PROJECT_FORBIDDEN` 表示当前账号不是该项目成员;`PROJECT_UNAVAILABLE` 表示项目欠费或正在删除。
14
+
15
+ ## 两组容易混淆的概念
16
+
17
+ - **停止监控不等于删除**:`POST /servers/{id}/disable` 可逆,历史数据完整保留;`DELETE /servers/{id}` 会连同监控主机、历史数据和这台机器名下的告警一并删除,不可恢复。
18
+ - **告警恢复不等于告警了结**:`incident_status` 表示监控系统是否判定已恢复,`closed_at` 表示是否有人完成了处理。尚未恢复的告警也可以按「已接受的风险」了结。
19
+
20
+ ## PSK 只返回一次
21
+
22
+ 接入和轮换的响应中包含 `tls_psk`,其他任何接口都不会再返回它,请及时保存。遗失后可再轮换一次,代价是被监控的机器需要同步更新一次 agent 配置。
23
+ * OpenAPI spec version: 1.0.0
24
+ */
25
+ import type { ServerResource } from './serverResource.js';
26
+ export interface LengthAwarePageServerResource {
27
+ /** 这一页的内容 */
28
+ items: ServerResource[];
29
+ /** 这一页最多几条,回显请求里的值 */
30
+ limit: number;
31
+ /** 跳过了多少条,回显请求里的值 */
32
+ offset: number;
33
+ /** 命中的总条数,不只是这一页 */
34
+ total: number;
35
+ }
@@ -29,14 +29,15 @@ import type { ListIncidentsAcknowledged } from './listIncidentsAcknowledged.js';
29
29
  import type { ListIncidentsUnassigned } from './listIncidentsUnassigned.js';
30
30
  export type ListIncidentsParams = {
31
31
  /**
32
- * 这一页最多返回多少条,0 表示用默认值
33
- * @minimum 0
34
- * @maximum 500
32
+ * 这一页最多返回多少条
33
+ * @minimum 1
34
+ * @maximum 200
35
35
  */
36
36
  limit?: number;
37
37
  /**
38
- * 跳过多少条
38
+ * 跳过多少条。要翻得更深请改用游标翻页的接口
39
39
  * @minimum 0
40
+ * @maximum 10000
40
41
  */
41
42
  offset?: number;
42
43
  /**
@@ -25,14 +25,15 @@
25
25
  import type { ListServersMonitoringStatus } from './listServersMonitoringStatus.js';
26
26
  export type ListServersParams = {
27
27
  /**
28
- * 这一页最多返回多少条,0 表示用默认值
29
- * @minimum 0
30
- * @maximum 500
28
+ * 这一页最多返回多少条
29
+ * @minimum 1
30
+ * @maximum 200
31
31
  */
32
32
  limit?: number;
33
33
  /**
34
- * 跳过多少条
34
+ * 跳过多少条。要翻得更深请改用游标翻页的接口
35
35
  * @minimum 0
36
+ * @maximum 10000
36
37
  */
37
38
  offset?: number;
38
39
  /**
package/dist/http.d.ts CHANGED
@@ -1,36 +1,100 @@
1
1
  import { type AxiosRequestConfig } from 'axios';
2
2
  /** TokenProvider returns the current project token; an empty string sends no token. */
3
3
  export type TokenProvider = () => string | Promise<string>;
4
- /** BaseURLProvider returns the address the current request should go to. */
5
- export type BaseURLProvider = () => string | Promise<string>;
6
4
  export interface ClientOptions {
7
- /**
8
- * baseURL is the API address, for example https://api.leaflow.net.
9
- *
10
- * Optional only because getBaseURL may supply it instead; one of the two is
11
- * required.
12
- */
13
- baseURL?: string;
14
- /**
15
- * getBaseURL is called before every request, and takes precedence over baseURL.
16
- *
17
- * This package bundles several services, and they do not have to live behind one
18
- * address: in development each runs on its own port. A caller that knows which
19
- * service it is about to call resolves the address here rather than configuring
20
- * one client per service.
21
- */
22
- getBaseURL?: BaseURLProvider;
5
+ /** baseURL is one service's address, for example https://compute.leaflow.cloud. */
6
+ baseURL: string;
23
7
  /**
24
8
  * getToken is called before every request.
25
9
  *
26
- * Called each time rather than read once at setup: the project token expires and
27
- * is replaced when the active project changes.
10
+ * Called each time rather than read once at construction: the project token
11
+ * expires, it is replaced when the active project changes, and in a server it
12
+ * belongs to whoever is making the current request rather than to the process.
28
13
  */
29
14
  getToken?: TokenProvider;
30
15
  /** timeout in milliseconds. */
31
16
  timeout?: number;
32
17
  }
33
- /** configure initialises the SDK. Call it once before use. */
34
- export declare function configure(options: ClientOptions): void;
35
- /** request is the entry point used by the generated code. */
36
- export declare function request<T>(config: AxiosRequestConfig): Promise<T>;
18
+ /** A configured connection to one service. */
19
+ export interface Client {
20
+ request<T>(config: AxiosRequestConfig): Promise<T>;
21
+ }
22
+ /**
23
+ * The last argument of every generated operation: which client to go through.
24
+ *
25
+ * Callers of this package do not construct it. `createIamClient` and its siblings
26
+ * hand back operations with this parameter already bound and gone from the
27
+ * signature — see `bindClient`.
28
+ */
29
+ export interface RequestOptions {
30
+ client?: Client;
31
+ }
32
+ /**
33
+ * A connection to one service.
34
+ *
35
+ * # There is no process-wide client, deliberately
36
+ *
37
+ * An earlier version of this package had `configure()`, which set a module-level
38
+ * axios instance and a module-level token provider. That is state an SDK has no
39
+ * business owning, and it ruled out two things this package is otherwise well
40
+ * suited to:
41
+ *
42
+ * - **More than one service.** The documents bundled here are separate
43
+ * deployments on separate addresses — one host per service through the
44
+ * gateway (`iam.leaflow.cloud`, `compute.leaflow.cloud`, …) — and their paths
45
+ * are bare `/api/v1/...` with no service prefix: `iam` and `monitoring` both
46
+ * own `/api/v1/projects/{id}/...`. One `baseURL` per process therefore meant
47
+ * one service per process.
48
+ * - **More than one caller.** A server handles requests concurrently, and a
49
+ * single module-level `getToken` is read at await points interleaved across
50
+ * them. Two people signed in at once is enough for one to make a call with
51
+ * the other's project token — intermittently, under load, which is the worst
52
+ * possible way to find out.
53
+ *
54
+ * So a client is an ordinary value: constructed per service, and — where the
55
+ * token belongs to a request rather than to the process — per request. This is
56
+ * the shape the major cloud SDKs converged on: `new InstancesClient({...})` in
57
+ * Google Cloud, `new EC2Client({...})` in AWS v3, whose predecessor's global
58
+ * `AWS.config` was removed for these same two reasons.
59
+ */
60
+ export declare function createClient(options: ClientOptions): Client;
61
+ /**
62
+ * request is the entry point used by the generated code.
63
+ *
64
+ * The `options` argument is orval's mutator hook: every generated operation takes
65
+ * it as its last parameter and passes it straight through, which is what lets a
66
+ * caller say which client a call belongs to without this module holding any
67
+ * per-call state.
68
+ *
69
+ * A call with no client throws rather than falling back to something. There used
70
+ * to be a fallback, and a fallback is worse than an error exactly when it works:
71
+ * in a process that talks to four services, the call that forgot its client
72
+ * *succeeds*, against whichever service happened to be configured last.
73
+ */
74
+ export declare function request<T>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T>;
75
+ /**
76
+ * One service's operations, with the client bound and no longer in the signature.
77
+ *
78
+ * The mapped type is the point: `getAccount()` on a bound namespace has no
79
+ * `options` parameter at all, so there is no way to reach the transport by hand,
80
+ * and no way for one service's client to be handed to another service's
81
+ * operation. What is left is what the caller of an SDK should see — the operation
82
+ * and its arguments.
83
+ */
84
+ export type Bound<T> = {
85
+ [K in keyof T]: T[K] extends (...args: [...infer Head, (RequestOptions | undefined)?]) => infer Result ? (...args: Head) => Result : T[K];
86
+ };
87
+ /**
88
+ * Attach a client to a whole generated namespace.
89
+ *
90
+ * The binding is by position: orval emits `options` as the last declared
91
+ * parameter of every operation, so `fn.length - 1` is the slot. Arguments the
92
+ * caller omitted are filled with `undefined` to reach it.
93
+ *
94
+ * `fn.length` stops counting at the first parameter that has a default, so that
95
+ * assumption holds only while the generated code has none. It has none today, and
96
+ * `scripts/check-generated-arity.mjs` fails the build if that changes: a slot
97
+ * that silently shifts by one would pass the client as somebody's request body,
98
+ * and no amount of type checking on generated code would catch it.
99
+ */
100
+ export declare function bindClient<T extends object>(api: T, client: Client): Bound<T>;
package/dist/http.js CHANGED
@@ -4,35 +4,102 @@
4
4
  // the active project changes, so setting the Authorization header at each call site
5
5
  // would scatter the refresh logic and surface as intermittent 401s.
6
6
  import axios from 'axios';
7
- let instance;
8
- let provider;
9
- let baseURLProvider;
10
- /** configure initialises the SDK. Call it once before use. */
11
- export function configure(options) {
12
- if (!options.baseURL && !options.getBaseURL) {
13
- throw new Error('configure requires baseURL or getBaseURL');
14
- }
15
- provider = options.getToken;
16
- baseURLProvider = options.getBaseURL;
17
- instance = axios.create({
7
+ /**
8
+ * A connection to one service.
9
+ *
10
+ * # There is no process-wide client, deliberately
11
+ *
12
+ * An earlier version of this package had `configure()`, which set a module-level
13
+ * axios instance and a module-level token provider. That is state an SDK has no
14
+ * business owning, and it ruled out two things this package is otherwise well
15
+ * suited to:
16
+ *
17
+ * - **More than one service.** The documents bundled here are separate
18
+ * deployments on separate addresses — one host per service through the
19
+ * gateway (`iam.leaflow.cloud`, `compute.leaflow.cloud`, …) — and their paths
20
+ * are bare `/api/v1/...` with no service prefix: `iam` and `monitoring` both
21
+ * own `/api/v1/projects/{id}/...`. One `baseURL` per process therefore meant
22
+ * one service per process.
23
+ * - **More than one caller.** A server handles requests concurrently, and a
24
+ * single module-level `getToken` is read at await points interleaved across
25
+ * them. Two people signed in at once is enough for one to make a call with
26
+ * the other's project token — intermittently, under load, which is the worst
27
+ * possible way to find out.
28
+ *
29
+ * So a client is an ordinary value: constructed per service, and — where the
30
+ * token belongs to a request rather than to the process — per request. This is
31
+ * the shape the major cloud SDKs converged on: `new InstancesClient({...})` in
32
+ * Google Cloud, `new EC2Client({...})` in AWS v3, whose predecessor's global
33
+ * `AWS.config` was removed for these same two reasons.
34
+ */
35
+ export function createClient(options) {
36
+ const instance = axios.create({
18
37
  baseURL: options.baseURL,
19
38
  timeout: options.timeout ?? 30_000,
20
39
  });
40
+ return {
41
+ async request(config) {
42
+ const token = options.getToken ? await options.getToken() : '';
43
+ const response = await instance.request({
44
+ ...config,
45
+ headers: {
46
+ ...config.headers,
47
+ ...(token ? { Authorization: `Bearer ${token}` } : {}),
48
+ },
49
+ });
50
+ return response.data;
51
+ },
52
+ };
21
53
  }
22
- /** request is the entry point used by the generated code. */
23
- export async function request(config) {
24
- if (!instance) {
25
- throw new Error('SDK not initialised: call configure({ baseURL }) first');
54
+ /**
55
+ * request is the entry point used by the generated code.
56
+ *
57
+ * The `options` argument is orval's mutator hook: every generated operation takes
58
+ * it as its last parameter and passes it straight through, which is what lets a
59
+ * caller say which client a call belongs to without this module holding any
60
+ * per-call state.
61
+ *
62
+ * A call with no client throws rather than falling back to something. There used
63
+ * to be a fallback, and a fallback is worse than an error exactly when it works:
64
+ * in a process that talks to four services, the call that forgot its client
65
+ * *succeeds*, against whichever service happened to be configured last.
66
+ */
67
+ export async function request(config, options) {
68
+ const client = options?.client;
69
+ if (!client) {
70
+ throw new Error('this operation was called without a client: get one from createIamClient / createComputeClient / createMonitoringClient / createAssistantClient');
26
71
  }
27
- const token = provider ? await provider() : '';
28
- const baseURL = baseURLProvider ? await baseURLProvider() : undefined;
29
- const response = await instance.request({
30
- ...config,
31
- ...(baseURL ? { baseURL } : {}),
32
- headers: {
33
- ...config.headers,
34
- ...(token ? { Authorization: `Bearer ${token}` } : {}),
72
+ return client.request(config);
73
+ }
74
+ /**
75
+ * Attach a client to a whole generated namespace.
76
+ *
77
+ * The binding is by position: orval emits `options` as the last declared
78
+ * parameter of every operation, so `fn.length - 1` is the slot. Arguments the
79
+ * caller omitted are filled with `undefined` to reach it.
80
+ *
81
+ * `fn.length` stops counting at the first parameter that has a default, so that
82
+ * assumption holds only while the generated code has none. It has none today, and
83
+ * `scripts/check-generated-arity.mjs` fails the build if that changes: a slot
84
+ * that silently shifts by one would pass the client as somebody's request body,
85
+ * and no amount of type checking on generated code would catch it.
86
+ */
87
+ export function bindClient(api, client) {
88
+ return new Proxy(api, {
89
+ get(target, property, receiver) {
90
+ const value = Reflect.get(target, property, receiver);
91
+ if (typeof value !== 'function') {
92
+ return value;
93
+ }
94
+ const operation = value;
95
+ return (...args) => {
96
+ const slot = Math.max(operation.length - 1, 0);
97
+ const head = args.slice(0, slot);
98
+ while (head.length < slot) {
99
+ head.push(undefined);
100
+ }
101
+ return operation(...head, { client });
102
+ };
35
103
  },
36
104
  });
37
- return response.data;
38
105
  }
package/dist/index.d.ts CHANGED
@@ -1,8 +1,61 @@
1
- export { configure, request } from './http.js';
2
- export type { ClientOptions, TokenProvider } from './http.js';
1
+ import type { Bound, ClientOptions } from './http.js';
2
+ import * as assistantOperations from './generated/assistant/index.js';
3
+ import * as computeOperations from './generated/compute/index.js';
4
+ import * as iamOperations from './generated/iam/index.js';
5
+ import * as monitoringOperations from './generated/monitoring/index.js';
6
+ export { createClient } from './http.js';
7
+ export type { Client, ClientOptions, TokenProvider } from './http.js';
3
8
  export * as assistant from './generated/assistant/index.js';
4
9
  export * as compute from './generated/compute/index.js';
5
10
  export * as iam from './generated/iam/index.js';
6
11
  export * as monitoring from './generated/monitoring/index.js';
12
+ /** Every assistant operation, bound to one address and one token. */
13
+ export type AssistantClient = Bound<typeof assistantOperations>;
14
+ /**
15
+ * A client for assistant.
16
+ *
17
+ * const assistant = createAssistantClient({ baseURL, getToken });
18
+ *
19
+ * Hold one per address, and — where the token belongs to the request
20
+ * rather than to the process — one per request. There is no
21
+ * process-wide alternative; see `createClient`.
22
+ */
23
+ export declare function createAssistantClient(options: ClientOptions): AssistantClient;
24
+ /** Every compute operation, bound to one address and one token. */
25
+ export type ComputeClient = Bound<typeof computeOperations>;
26
+ /**
27
+ * A client for compute.
28
+ *
29
+ * const compute = createComputeClient({ baseURL, getToken });
30
+ *
31
+ * Hold one per address, and — where the token belongs to the request
32
+ * rather than to the process — one per request. There is no
33
+ * process-wide alternative; see `createClient`.
34
+ */
35
+ export declare function createComputeClient(options: ClientOptions): ComputeClient;
36
+ /** Every iam operation, bound to one address and one token. */
37
+ export type IamClient = Bound<typeof iamOperations>;
38
+ /**
39
+ * A client for iam.
40
+ *
41
+ * const iam = createIamClient({ baseURL, getToken });
42
+ *
43
+ * Hold one per address, and — where the token belongs to the request
44
+ * rather than to the process — one per request. There is no
45
+ * process-wide alternative; see `createClient`.
46
+ */
47
+ export declare function createIamClient(options: ClientOptions): IamClient;
48
+ /** Every monitoring operation, bound to one address and one token. */
49
+ export type MonitoringClient = Bound<typeof monitoringOperations>;
50
+ /**
51
+ * A client for monitoring.
52
+ *
53
+ * const monitoring = createMonitoringClient({ baseURL, getToken });
54
+ *
55
+ * Hold one per address, and — where the token belongs to the request
56
+ * rather than to the process — one per request. There is no
57
+ * process-wide alternative; see `createClient`.
58
+ */
59
+ export declare function createMonitoringClient(options: ClientOptions): MonitoringClient;
7
60
  /** Service versions the bundled specs were generated from. */
8
61
  export declare const SERVICE_VERSIONS: Record<string, string>;
package/dist/index.js CHANGED
@@ -1,13 +1,67 @@
1
1
  // Generated by scripts/build-index.mjs. Do not edit.
2
- export { configure, request } from './http.js';
2
+ import { bindClient, createClient } from './http.js';
3
+ import * as assistantOperations from './generated/assistant/index.js';
4
+ import * as computeOperations from './generated/compute/index.js';
5
+ import * as iamOperations from './generated/iam/index.js';
6
+ import * as monitoringOperations from './generated/monitoring/index.js';
7
+ export { createClient } from './http.js';
8
+ /* The models, and the operations as free functions for anyone binding a client themselves. */
3
9
  export * as assistant from './generated/assistant/index.js';
4
10
  export * as compute from './generated/compute/index.js';
5
11
  export * as iam from './generated/iam/index.js';
6
12
  export * as monitoring from './generated/monitoring/index.js';
13
+ /**
14
+ * A client for assistant.
15
+ *
16
+ * const assistant = createAssistantClient({ baseURL, getToken });
17
+ *
18
+ * Hold one per address, and — where the token belongs to the request
19
+ * rather than to the process — one per request. There is no
20
+ * process-wide alternative; see `createClient`.
21
+ */
22
+ export function createAssistantClient(options) {
23
+ return bindClient(assistantOperations, createClient(options));
24
+ }
25
+ /**
26
+ * A client for compute.
27
+ *
28
+ * const compute = createComputeClient({ baseURL, getToken });
29
+ *
30
+ * Hold one per address, and — where the token belongs to the request
31
+ * rather than to the process — one per request. There is no
32
+ * process-wide alternative; see `createClient`.
33
+ */
34
+ export function createComputeClient(options) {
35
+ return bindClient(computeOperations, createClient(options));
36
+ }
37
+ /**
38
+ * A client for iam.
39
+ *
40
+ * const iam = createIamClient({ baseURL, getToken });
41
+ *
42
+ * Hold one per address, and — where the token belongs to the request
43
+ * rather than to the process — one per request. There is no
44
+ * process-wide alternative; see `createClient`.
45
+ */
46
+ export function createIamClient(options) {
47
+ return bindClient(iamOperations, createClient(options));
48
+ }
49
+ /**
50
+ * A client for monitoring.
51
+ *
52
+ * const monitoring = createMonitoringClient({ baseURL, getToken });
53
+ *
54
+ * Hold one per address, and — where the token belongs to the request
55
+ * rather than to the process — one per request. There is no
56
+ * process-wide alternative; see `createClient`.
57
+ */
58
+ export function createMonitoringClient(options) {
59
+ return bindClient(monitoringOperations, createClient(options));
60
+ }
7
61
  /** Service versions the bundled specs were generated from. */
8
62
  export const SERVICE_VERSIONS = {
9
- assistant: "v0.5.0",
10
- compute: "v0.4.0",
11
- iam: "v0.22.0",
12
- monitoring: "v4.1.0",
63
+ assistant: "v2.1.1",
64
+ compute: "v2.1.1",
65
+ iam: "v0.30.0",
66
+ monitoring: "v9.0.2",
13
67
  };
@@ -1 +1 @@
1
- v0.5.0
1
+ v2.1.1