@scalekit-sdk/node 2.2.0-beta.0 → 2.2.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 (209) hide show
  1. package/.nvmrc +1 -1
  2. package/README.md +5 -5
  3. package/buf.gen.yaml +1 -5
  4. package/lib/auth.d.ts +9 -6
  5. package/lib/auth.js +4 -20
  6. package/lib/auth.js.map +1 -1
  7. package/lib/connect.d.ts +3 -3
  8. package/lib/connect.js +1 -2
  9. package/lib/connect.js.map +1 -1
  10. package/lib/connection.d.ts +2 -2
  11. package/lib/connection.js +4 -4
  12. package/lib/connection.js.map +1 -1
  13. package/lib/core.js +2 -2
  14. package/lib/core.js.map +1 -1
  15. package/lib/directory.d.ts +2 -2
  16. package/lib/directory.js +7 -7
  17. package/lib/directory.js.map +1 -1
  18. package/lib/domain.d.ts +6 -5
  19. package/lib/domain.js +4 -5
  20. package/lib/domain.js.map +1 -1
  21. package/lib/errors/base-exception.d.ts +1 -1
  22. package/lib/errors/base-exception.js +1 -1
  23. package/lib/errors/base-exception.js.map +1 -1
  24. package/lib/organization.d.ts +10 -9
  25. package/lib/organization.js +11 -9
  26. package/lib/organization.js.map +1 -1
  27. package/lib/passwordless.d.ts +2 -2
  28. package/lib/passwordless.js +8 -7
  29. package/lib/passwordless.js.map +1 -1
  30. package/lib/permission.d.ts +6 -5
  31. package/lib/permission.js +10 -11
  32. package/lib/permission.js.map +1 -1
  33. package/lib/pkg/grpc/buf/validate/validate_pb.d.ts +7 -0
  34. package/lib/pkg/grpc/buf/validate/validate_pb.js +25 -0
  35. package/lib/pkg/grpc/buf/validate/validate_pb.js.map +1 -0
  36. package/lib/pkg/grpc/google/api/annotations_pb.d.ts +7 -0
  37. package/lib/pkg/grpc/google/api/annotations_pb.js +25 -0
  38. package/lib/pkg/grpc/google/api/annotations_pb.js.map +1 -0
  39. package/lib/pkg/grpc/google/api/field_behavior_pb.d.ts +7 -0
  40. package/lib/pkg/grpc/google/api/field_behavior_pb.js +25 -0
  41. package/lib/pkg/grpc/google/api/field_behavior_pb.js.map +1 -0
  42. package/lib/pkg/grpc/google/api/visibility_pb.d.ts +7 -0
  43. package/lib/pkg/grpc/google/api/visibility_pb.js +25 -0
  44. package/lib/pkg/grpc/google/api/visibility_pb.js.map +1 -0
  45. package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.d.ts +7 -0
  46. package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.js +25 -0
  47. package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.js.map +1 -0
  48. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.d.ts +48 -42
  49. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.js +27 -263
  50. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.js.map +1 -1
  51. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.d.ts +371 -325
  52. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js +132 -835
  53. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js.map +1 -1
  54. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.d.ts +113 -87
  55. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.js +45 -201
  56. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.js.map +1 -1
  57. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.d.ts +262 -265
  58. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.js +92 -938
  59. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.js.map +1 -1
  60. package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.d.ts +162 -157
  61. package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js +42 -313
  62. package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js.map +1 -1
  63. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.d.ts +1488 -1459
  64. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js +353 -2362
  65. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js.map +1 -1
  66. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.d.ts +520 -483
  67. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js +224 -1555
  68. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js.map +1 -1
  69. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.d.ts +219 -191
  70. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js +96 -553
  71. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js.map +1 -1
  72. package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.d.ts +76 -102
  73. package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js +37 -393
  74. package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js.map +1 -1
  75. package/lib/pkg/grpc/scalekit/v1/options/options_pb.d.ts +36 -26
  76. package/lib/pkg/grpc/scalekit/v1/options/options_pb.js +20 -69
  77. package/lib/pkg/grpc/scalekit/v1/options/options_pb.js.map +1 -1
  78. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.d.ts +447 -400
  79. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js +163 -1238
  80. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js.map +1 -1
  81. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.d.ts +622 -556
  82. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js +201 -1718
  83. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js.map +1 -1
  84. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.d.ts +135 -132
  85. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js +55 -518
  86. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js.map +1 -1
  87. package/lib/pkg/grpc/scalekit/v1/users/users_pb.d.ts +445 -413
  88. package/lib/pkg/grpc/scalekit/v1/users/users_pb.js +142 -1490
  89. package/lib/pkg/grpc/scalekit/v1/users/users_pb.js.map +1 -1
  90. package/lib/role.d.ts +8 -7
  91. package/lib/role.js +14 -14
  92. package/lib/role.js.map +1 -1
  93. package/lib/scalekit.d.ts +0 -4
  94. package/lib/scalekit.js +0 -4
  95. package/lib/scalekit.js.map +1 -1
  96. package/lib/session.js +15 -24
  97. package/lib/session.js.map +1 -1
  98. package/lib/user.d.ts +6 -5
  99. package/lib/user.js +17 -20
  100. package/lib/user.js.map +1 -1
  101. package/lib/webauthn.js +6 -5
  102. package/lib/webauthn.js.map +1 -1
  103. package/package.json +6 -10
  104. package/reference.md +0 -671
  105. package/src/auth.ts +17 -17
  106. package/src/connect.ts +4 -5
  107. package/src/connection.ts +5 -5
  108. package/src/core.ts +2 -2
  109. package/src/directory.ts +8 -8
  110. package/src/domain.ts +9 -8
  111. package/src/errors/base-exception.ts +3 -2
  112. package/src/organization.ts +18 -15
  113. package/src/passwordless.ts +12 -11
  114. package/src/permission.ts +15 -15
  115. package/src/pkg/grpc/buf/validate/validate_pb.ts +28 -0
  116. package/src/pkg/grpc/google/api/annotations_pb.ts +28 -0
  117. package/src/pkg/grpc/google/api/field_behavior_pb.ts +28 -0
  118. package/src/pkg/grpc/google/api/visibility_pb.ts +28 -0
  119. package/src/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.ts +28 -0
  120. package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.ts +97 -182
  121. package/src/pkg/grpc/scalekit/v1/auth/auth_pb.ts +473 -850
  122. package/src/pkg/grpc/scalekit/v1/auth/passwordless_pb.ts +153 -225
  123. package/src/pkg/grpc/scalekit/v1/auth/webauthn_pb.ts +361 -830
  124. package/src/pkg/grpc/scalekit/v1/commons/commons_pb.ts +237 -358
  125. package/src/pkg/grpc/scalekit/v1/connections/connections_pb.ts +1625 -2826
  126. package/src/pkg/grpc/scalekit/v1/directories/directories_pb.ts +687 -1413
  127. package/src/pkg/grpc/scalekit/v1/domains/domains_pb.ts +286 -542
  128. package/src/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.ts +115 -328
  129. package/src/pkg/grpc/scalekit/v1/options/options_pb.ts +50 -80
  130. package/src/pkg/grpc/scalekit/v1/organizations/organizations_pb.ts +558 -1183
  131. package/src/pkg/grpc/scalekit/v1/roles/roles_pb.ts +765 -1669
  132. package/src/pkg/grpc/scalekit/v1/sessions/sessions_pb.ts +195 -447
  133. package/src/pkg/grpc/scalekit/v1/users/users_pb.ts +592 -1339
  134. package/src/role.ts +21 -19
  135. package/src/scalekit.ts +0 -9
  136. package/src/session.ts +20 -34
  137. package/src/user.ts +30 -26
  138. package/src/webauthn.ts +10 -9
  139. package/tests/utils/test-data.ts +17 -8
  140. package/lib/connected-accounts.d.ts +0 -96
  141. package/lib/connected-accounts.js +0 -186
  142. package/lib/connected-accounts.js.map +0 -1
  143. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.d.ts +0 -19
  144. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.js +0 -27
  145. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.js.map +0 -1
  146. package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.d.ts +0 -118
  147. package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.js +0 -126
  148. package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.js.map +0 -1
  149. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.d.ts +0 -37
  150. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.js +0 -45
  151. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.js.map +0 -1
  152. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.d.ts +0 -82
  153. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.js +0 -90
  154. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.js.map +0 -1
  155. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.d.ts +0 -87
  156. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.js +0 -95
  157. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.js.map +0 -1
  158. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.d.ts +0 -718
  159. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js +0 -893
  160. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js.map +0 -1
  161. package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.d.ts +0 -172
  162. package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js +0 -180
  163. package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js.map +0 -1
  164. package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.d.ts +0 -154
  165. package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.js +0 -162
  166. package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.js.map +0 -1
  167. package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.d.ts +0 -73
  168. package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.js +0 -81
  169. package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.js.map +0 -1
  170. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.d.ts +0 -171
  171. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js +0 -179
  172. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js.map +0 -1
  173. package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.d.ts +0 -250
  174. package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.js +0 -258
  175. package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.js.map +0 -1
  176. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.d.ts +0 -46
  177. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.js +0 -54
  178. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.js.map +0 -1
  179. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.d.ts +0 -75
  180. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.js +0 -83
  181. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.js.map +0 -1
  182. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.d.ts +0 -431
  183. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js +0 -627
  184. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js.map +0 -1
  185. package/lib/pkg/grpc/scalekit/v1/users/users_connect.d.ts +0 -173
  186. package/lib/pkg/grpc/scalekit/v1/users/users_connect.js +0 -181
  187. package/lib/pkg/grpc/scalekit/v1/users/users_connect.js.map +0 -1
  188. package/lib/tools.d.ts +0 -75
  189. package/lib/tools.js +0 -127
  190. package/lib/tools.js.map +0 -1
  191. package/src/connected-accounts.ts +0 -283
  192. package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.ts +0 -26
  193. package/src/pkg/grpc/scalekit/v1/auth/auth_connect.ts +0 -125
  194. package/src/pkg/grpc/scalekit/v1/auth/passwordless_connect.ts +0 -44
  195. package/src/pkg/grpc/scalekit/v1/auth/webauthn_connect.ts +0 -89
  196. package/src/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.ts +0 -94
  197. package/src/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.ts +0 -1294
  198. package/src/pkg/grpc/scalekit/v1/connections/connections_connect.ts +0 -179
  199. package/src/pkg/grpc/scalekit/v1/directories/directories_connect.ts +0 -161
  200. package/src/pkg/grpc/scalekit/v1/domains/domains_connect.ts +0 -80
  201. package/src/pkg/grpc/scalekit/v1/organizations/organizations_connect.ts +0 -178
  202. package/src/pkg/grpc/scalekit/v1/roles/roles_connect.ts +0 -257
  203. package/src/pkg/grpc/scalekit/v1/sessions/sessions_connect.ts +0 -53
  204. package/src/pkg/grpc/scalekit/v1/tools/tools_connect.ts +0 -82
  205. package/src/pkg/grpc/scalekit/v1/tools/tools_pb.ts +0 -847
  206. package/src/pkg/grpc/scalekit/v1/users/users_connect.ts +0 -180
  207. package/src/tools.ts +0 -166
  208. package/tests/connected-accounts.test.ts +0 -434
  209. package/tests/tools.test.ts +0 -239
@@ -1,180 +0,0 @@
1
- // @generated by protoc-gen-connect-es v1.4.0 with parameter "target=ts"
2
- // @generated from file scalekit/v1/users/users.proto (package scalekit.v1.users, syntax proto3)
3
- /* eslint-disable */
4
- // @ts-nocheck
5
-
6
- import { AssignUserRolesRequest, AssignUserRolesResponse, CreateMembershipRequest, CreateMembershipResponse, CreateUserAndMembershipRequest, CreateUserAndMembershipResponse, DeleteMembershipRequest, DeleteUserRequest, GetCurrentUserRequest, GetCurrentUserResponse, GetUserRequest, GetUserResponse, ListOrganizationUsersRequest, ListOrganizationUsersResponse, ListUserPermissionsRequest, ListUserPermissionsResponse, ListUserRolesRequest, ListUserRolesResponse, ListUsersRequest, ListUsersResponse, RemoveUserRoleRequest, ResendInviteRequest, ResendInviteResponse, SearchOrganizationUsersRequest, SearchOrganizationUsersResponse, SearchUsersRequest, SearchUsersResponse, UpdateMembershipRequest, UpdateMembershipResponse, UpdateUserRequest, UpdateUserResponse } from "./users_pb.js";
7
- import { Empty, MethodKind } from "@bufbuild/protobuf";
8
-
9
- /**
10
- * @generated from service scalekit.v1.users.UserService
11
- */
12
- export const UserService = {
13
- typeName: "scalekit.v1.users.UserService",
14
- methods: {
15
- /**
16
- * Users
17
- *
18
- * @generated from rpc scalekit.v1.users.UserService.GetUser
19
- */
20
- getUser: {
21
- name: "GetUser",
22
- I: GetUserRequest,
23
- O: GetUserResponse,
24
- kind: MethodKind.Unary,
25
- },
26
- /**
27
- * @generated from rpc scalekit.v1.users.UserService.GetCurrentUser
28
- */
29
- getCurrentUser: {
30
- name: "GetCurrentUser",
31
- I: GetCurrentUserRequest,
32
- O: GetCurrentUserResponse,
33
- kind: MethodKind.Unary,
34
- },
35
- /**
36
- * @generated from rpc scalekit.v1.users.UserService.ListUsers
37
- */
38
- listUsers: {
39
- name: "ListUsers",
40
- I: ListUsersRequest,
41
- O: ListUsersResponse,
42
- kind: MethodKind.Unary,
43
- },
44
- /**
45
- * @generated from rpc scalekit.v1.users.UserService.SearchUsers
46
- */
47
- searchUsers: {
48
- name: "SearchUsers",
49
- I: SearchUsersRequest,
50
- O: SearchUsersResponse,
51
- kind: MethodKind.Unary,
52
- },
53
- /**
54
- * @generated from rpc scalekit.v1.users.UserService.SearchOrganizationUsers
55
- */
56
- searchOrganizationUsers: {
57
- name: "SearchOrganizationUsers",
58
- I: SearchOrganizationUsersRequest,
59
- O: SearchOrganizationUsersResponse,
60
- kind: MethodKind.Unary,
61
- },
62
- /**
63
- * @generated from rpc scalekit.v1.users.UserService.UpdateUser
64
- */
65
- updateUser: {
66
- name: "UpdateUser",
67
- I: UpdateUserRequest,
68
- O: UpdateUserResponse,
69
- kind: MethodKind.Unary,
70
- },
71
- /**
72
- * @generated from rpc scalekit.v1.users.UserService.DeleteUser
73
- */
74
- deleteUser: {
75
- name: "DeleteUser",
76
- I: DeleteUserRequest,
77
- O: Empty,
78
- kind: MethodKind.Unary,
79
- },
80
- /**
81
- * Memberships
82
- *
83
- * @generated from rpc scalekit.v1.users.UserService.CreateMembership
84
- */
85
- createMembership: {
86
- name: "CreateMembership",
87
- I: CreateMembershipRequest,
88
- O: CreateMembershipResponse,
89
- kind: MethodKind.Unary,
90
- },
91
- /**
92
- * TODO Check cascade behaviour currently its ignored
93
- *
94
- * @generated from rpc scalekit.v1.users.UserService.DeleteMembership
95
- */
96
- deleteMembership: {
97
- name: "DeleteMembership",
98
- I: DeleteMembershipRequest,
99
- O: Empty,
100
- kind: MethodKind.Unary,
101
- },
102
- /**
103
- * @generated from rpc scalekit.v1.users.UserService.UpdateMembership
104
- */
105
- updateMembership: {
106
- name: "UpdateMembership",
107
- I: UpdateMembershipRequest,
108
- O: UpdateMembershipResponse,
109
- kind: MethodKind.Unary,
110
- },
111
- /**
112
- * @generated from rpc scalekit.v1.users.UserService.CreateUserAndMembership
113
- */
114
- createUserAndMembership: {
115
- name: "CreateUserAndMembership",
116
- I: CreateUserAndMembershipRequest,
117
- O: CreateUserAndMembershipResponse,
118
- kind: MethodKind.Unary,
119
- },
120
- /**
121
- * only memberships of the organization
122
- *
123
- * @generated from rpc scalekit.v1.users.UserService.ListOrganizationUsers
124
- */
125
- listOrganizationUsers: {
126
- name: "ListOrganizationUsers",
127
- I: ListOrganizationUsersRequest,
128
- O: ListOrganizationUsersResponse,
129
- kind: MethodKind.Unary,
130
- },
131
- /**
132
- * @generated from rpc scalekit.v1.users.UserService.ResendInvite
133
- */
134
- resendInvite: {
135
- name: "ResendInvite",
136
- I: ResendInviteRequest,
137
- O: ResendInviteResponse,
138
- kind: MethodKind.Unary,
139
- },
140
- /**
141
- * User Role Management
142
- *
143
- * @generated from rpc scalekit.v1.users.UserService.ListUserRoles
144
- */
145
- listUserRoles: {
146
- name: "ListUserRoles",
147
- I: ListUserRolesRequest,
148
- O: ListUserRolesResponse,
149
- kind: MethodKind.Unary,
150
- },
151
- /**
152
- * @generated from rpc scalekit.v1.users.UserService.AssignUserRoles
153
- */
154
- assignUserRoles: {
155
- name: "AssignUserRoles",
156
- I: AssignUserRolesRequest,
157
- O: AssignUserRolesResponse,
158
- kind: MethodKind.Unary,
159
- },
160
- /**
161
- * @generated from rpc scalekit.v1.users.UserService.RemoveUserRole
162
- */
163
- removeUserRole: {
164
- name: "RemoveUserRole",
165
- I: RemoveUserRoleRequest,
166
- O: Empty,
167
- kind: MethodKind.Unary,
168
- },
169
- /**
170
- * @generated from rpc scalekit.v1.users.UserService.ListUserPermissions
171
- */
172
- listUserPermissions: {
173
- name: "ListUserPermissions",
174
- I: ListUserPermissionsRequest,
175
- O: ListUserPermissionsResponse,
176
- kind: MethodKind.Unary,
177
- },
178
- }
179
- } as const;
180
-
package/src/tools.ts DELETED
@@ -1,166 +0,0 @@
1
- import { PartialMessage } from "@bufbuild/protobuf";
2
- import { PromiseClient } from "@connectrpc/connect";
3
- import GrpcConnect from "./connect";
4
- import CoreClient from "./core";
5
- import { ToolService } from "./pkg/grpc/scalekit/v1/tools/tools_connect";
6
- import {
7
- ExecuteToolRequest,
8
- ExecuteToolResponse,
9
- Filter,
10
- ListScopedToolsRequest,
11
- ListScopedToolsResponse,
12
- ListToolsRequest,
13
- ListToolsResponse,
14
- ScopedToolFilter,
15
- } from "./pkg/grpc/scalekit/v1/tools/tools_pb";
16
-
17
- /**
18
- * Client for listing and executing tools.
19
- *
20
- * This client provides convenient helpers around the `ToolService` for:
21
- * - listing all tools available in your workspace
22
- * - listing tools scoped to a specific connected account identifier
23
- * - executing tools using connected account credentials
24
- *
25
- * It mirrors the capabilities of the Python SDK `ToolsClient` while following
26
- * the idioms and patterns used across the Node SDK.
27
- */
28
- export default class ToolsClient {
29
- private client: PromiseClient<typeof ToolService>;
30
-
31
- constructor(
32
- private readonly grpcConnect: GrpcConnect,
33
- private readonly coreClient: CoreClient
34
- ) {
35
- this.client = this.grpcConnect.createClient(ToolService);
36
- }
37
-
38
- /**
39
- * Lists tools available in your workspace with optional filtering and pagination.
40
- *
41
- * @param options Optional filter and pagination parameters
42
- * @param options.filter Filter configuration matching the `Filter` proto message.
43
- * Use this to filter by provider, identifier, or tool names.
44
- * @param options.pageSize Maximum number of tools to return per page.
45
- * @param options.pageToken Token from a previous `listTools` response for pagination.
46
- */
47
- async listTools(options?: {
48
- filter?: PartialMessage<Filter>;
49
- pageSize?: number;
50
- pageToken?: string;
51
- }): Promise<ListToolsResponse> {
52
- const request: PartialMessage<ListToolsRequest> = {};
53
-
54
- if (options?.filter) {
55
- request.filter = options.filter as Filter;
56
- }
57
- if (options?.pageSize !== undefined) {
58
- request.pageSize = options.pageSize;
59
- }
60
- if (options?.pageToken) {
61
- request.pageToken = options.pageToken;
62
- }
63
-
64
- return this.coreClient.connectExec(this.client.listTools, request);
65
- }
66
-
67
- /**
68
- * Lists tools that are scoped to a specific connected account identifier.
69
- *
70
- * @param identifier Connected account identifier to scope the tools list (for example,
71
- * a workspace identifier or email).
72
- * @param options Optional filter and pagination parameters
73
- * @param options.filter Filter configuration for scoped tools (providers, tool names, connection names).
74
- * @param options.pageSize Maximum number of tools to return per page.
75
- * @param options.pageToken Token from a previous `listScopedTools` response for pagination.
76
- */
77
- async listScopedTools(
78
- identifier: string,
79
- options?: {
80
- filter?: PartialMessage<ScopedToolFilter>;
81
- pageSize?: number;
82
- pageToken?: string;
83
- }
84
- ): Promise<ListScopedToolsResponse> {
85
- const request: PartialMessage<ListScopedToolsRequest> = {
86
- identifier,
87
- };
88
-
89
- if (options?.filter) {
90
- request.filter = options.filter as ScopedToolFilter;
91
- }
92
- if (options?.pageSize !== undefined) {
93
- request.pageSize = options.pageSize;
94
- }
95
- if (options?.pageToken) {
96
- request.pageToken = options.pageToken;
97
- }
98
-
99
- return this.coreClient.connectExec(this.client.listScopedTools, request);
100
- }
101
-
102
- /**
103
- * Executes a tool using credentials from a connected account.
104
- *
105
- * You can either:
106
- * - reference the connected account directly via `connectedAccountId`, or
107
- * - identify it using a combination of `identifier`, `connector`, `organizationId`, and `userId`.
108
- *
109
- * @param params Execution configuration
110
- * @param params.toolName Name of the tool to execute.
111
- * @param params.identifier Optional connected account identifier (for example, email or workspace ID).
112
- * @param params.params JSON parameters required by the tool. These will be sent as a structured payload.
113
- * @param params.connectedAccountId Optional direct ID of the connected account (`ca_...`).
114
- * @param params.connector Optional connector/provider name when using identifier-based lookup.
115
- * @param params.organizationId Optional organization ID to scope the connected account lookup.
116
- * @param params.userId Optional user ID to scope the connected account lookup.
117
- */
118
- async executeTool(params: {
119
- toolName: string;
120
- identifier?: string;
121
- params?: Record<string, unknown>;
122
- connectedAccountId?: string;
123
- connector?: string;
124
- organizationId?: string;
125
- userId?: string;
126
- }): Promise<ExecuteToolResponse> {
127
- const {
128
- toolName,
129
- identifier,
130
- params: toolParams,
131
- connectedAccountId,
132
- connector,
133
- organizationId,
134
- userId,
135
- } = params;
136
-
137
- const request: PartialMessage<ExecuteToolRequest> = {
138
- toolName,
139
- };
140
-
141
- if (identifier) {
142
- request.identifier = identifier;
143
- }
144
-
145
- if (toolParams) {
146
- // `google.protobuf.Struct` messages in bufbuild accept plain JSON objects.
147
- request.params = toolParams as any;
148
- }
149
-
150
- if (connectedAccountId) {
151
- request.connectedAccountId = connectedAccountId;
152
- }
153
- if (connector) {
154
- request.connector = connector;
155
- }
156
- if (organizationId) {
157
- request.organizationId = organizationId;
158
- }
159
- if (userId) {
160
- request.userId = userId;
161
- }
162
-
163
- return this.coreClient.connectExec(this.client.executeTool, request);
164
- }
165
- }
166
-