@agentuity/core 1.0.41 → 1.0.43

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 (254) hide show
  1. package/dist/services/api-reference.d.ts +68 -0
  2. package/dist/services/api-reference.d.ts.map +1 -0
  3. package/dist/services/api-reference.js +91 -0
  4. package/dist/services/api-reference.js.map +1 -0
  5. package/dist/services/apikey/api-reference.d.ts +4 -0
  6. package/dist/services/apikey/api-reference.d.ts.map +1 -0
  7. package/dist/services/apikey/api-reference.js +96 -0
  8. package/dist/services/apikey/api-reference.js.map +1 -0
  9. package/dist/services/db/api-reference.d.ts +4 -0
  10. package/dist/services/db/api-reference.d.ts.map +1 -0
  11. package/dist/services/db/api-reference.js +149 -0
  12. package/dist/services/db/api-reference.js.map +1 -0
  13. package/dist/services/db/types.d.ts +7 -0
  14. package/dist/services/db/types.d.ts.map +1 -0
  15. package/dist/services/db/types.js +9 -0
  16. package/dist/services/db/types.js.map +1 -0
  17. package/dist/services/email/api-reference.d.ts +4 -0
  18. package/dist/services/email/api-reference.d.ts.map +1 -0
  19. package/dist/services/email/api-reference.js +342 -0
  20. package/dist/services/email/api-reference.js.map +1 -0
  21. package/dist/services/email/service.d.ts.map +1 -1
  22. package/dist/services/email/service.js +1 -2
  23. package/dist/services/email/service.js.map +1 -1
  24. package/dist/services/email/types.d.ts +13 -0
  25. package/dist/services/email/types.d.ts.map +1 -0
  26. package/dist/services/email/types.js +11 -0
  27. package/dist/services/email/types.js.map +1 -0
  28. package/dist/services/eval/api-reference.d.ts +4 -0
  29. package/dist/services/eval/api-reference.d.ts.map +1 -0
  30. package/dist/services/eval/api-reference.js +121 -0
  31. package/dist/services/eval/api-reference.js.map +1 -0
  32. package/dist/services/index.d.ts +2 -0
  33. package/dist/services/index.d.ts.map +1 -1
  34. package/dist/services/index.js +2 -0
  35. package/dist/services/index.js.map +1 -1
  36. package/dist/services/keyvalue/api-reference.d.ts +4 -0
  37. package/dist/services/keyvalue/api-reference.d.ts.map +1 -0
  38. package/dist/services/keyvalue/api-reference.js +270 -0
  39. package/dist/services/keyvalue/api-reference.js.map +1 -0
  40. package/dist/services/keyvalue/types.d.ts +18 -0
  41. package/dist/services/keyvalue/types.d.ts.map +1 -0
  42. package/dist/services/keyvalue/types.js +19 -0
  43. package/dist/services/keyvalue/types.js.map +1 -0
  44. package/dist/services/machine/api-reference.d.ts +4 -0
  45. package/dist/services/machine/api-reference.d.ts.map +1 -0
  46. package/dist/services/machine/api-reference.js +152 -0
  47. package/dist/services/machine/api-reference.js.map +1 -0
  48. package/dist/services/machine/types.d.ts +18 -0
  49. package/dist/services/machine/types.d.ts.map +1 -0
  50. package/dist/services/machine/types.js +15 -0
  51. package/dist/services/machine/types.js.map +1 -0
  52. package/dist/services/monitoring/index.d.ts +3 -0
  53. package/dist/services/monitoring/index.d.ts.map +1 -0
  54. package/dist/services/monitoring/index.js +3 -0
  55. package/dist/services/monitoring/index.js.map +1 -0
  56. package/dist/services/monitoring/service.d.ts +55 -0
  57. package/dist/services/monitoring/service.d.ts.map +1 -0
  58. package/dist/services/monitoring/service.js +503 -0
  59. package/dist/services/monitoring/service.js.map +1 -0
  60. package/dist/services/monitoring/types.d.ts +173 -0
  61. package/dist/services/monitoring/types.d.ts.map +1 -0
  62. package/dist/services/monitoring/types.js +2 -0
  63. package/dist/services/monitoring/types.js.map +1 -0
  64. package/dist/services/oauth/activity.d.ts +5 -0
  65. package/dist/services/oauth/activity.d.ts.map +1 -0
  66. package/dist/services/oauth/activity.js +17 -0
  67. package/dist/services/oauth/activity.js.map +1 -0
  68. package/dist/services/oauth/api-reference.d.ts +4 -0
  69. package/dist/services/oauth/api-reference.d.ts.map +1 -0
  70. package/dist/services/oauth/api-reference.js +344 -0
  71. package/dist/services/oauth/api-reference.js.map +1 -0
  72. package/dist/services/oauth/clients.d.ts +18 -0
  73. package/dist/services/oauth/clients.d.ts.map +1 -0
  74. package/dist/services/oauth/clients.js +66 -0
  75. package/dist/services/oauth/clients.js.map +1 -0
  76. package/dist/services/oauth/consent.d.ts +7 -0
  77. package/dist/services/oauth/consent.d.ts.map +1 -0
  78. package/dist/services/oauth/consent.js +17 -0
  79. package/dist/services/oauth/consent.js.map +1 -0
  80. package/dist/services/oauth/index.d.ts +9 -0
  81. package/dist/services/oauth/index.d.ts.map +1 -0
  82. package/dist/services/oauth/index.js +9 -0
  83. package/dist/services/oauth/index.js.map +1 -0
  84. package/dist/services/oauth/keys.d.ts +5 -0
  85. package/dist/services/oauth/keys.d.ts.map +1 -0
  86. package/dist/services/oauth/keys.js +10 -0
  87. package/dist/services/oauth/keys.js.map +1 -0
  88. package/dist/services/oauth/members.d.ts +4 -0
  89. package/dist/services/oauth/members.d.ts.map +1 -0
  90. package/dist/services/oauth/members.js +10 -0
  91. package/dist/services/oauth/members.js.map +1 -0
  92. package/dist/services/oauth/scopes.d.ts +4 -0
  93. package/dist/services/oauth/scopes.d.ts.map +1 -0
  94. package/dist/services/oauth/scopes.js +10 -0
  95. package/dist/services/oauth/scopes.js.map +1 -0
  96. package/dist/services/oauth/types.d.ts +587 -0
  97. package/dist/services/oauth/types.d.ts.map +1 -0
  98. package/dist/services/oauth/types.js +160 -0
  99. package/dist/services/oauth/types.js.map +1 -0
  100. package/dist/services/oauth/util.d.ts +23 -0
  101. package/dist/services/oauth/util.d.ts.map +1 -0
  102. package/dist/services/oauth/util.js +3 -0
  103. package/dist/services/oauth/util.js.map +1 -0
  104. package/dist/services/org/api-reference.d.ts +4 -0
  105. package/dist/services/org/api-reference.d.ts.map +1 -0
  106. package/dist/services/org/api-reference.js +145 -0
  107. package/dist/services/org/api-reference.js.map +1 -0
  108. package/dist/services/org/types.d.ts +8 -0
  109. package/dist/services/org/types.d.ts.map +1 -0
  110. package/dist/services/org/types.js +7 -0
  111. package/dist/services/org/types.js.map +1 -0
  112. package/dist/services/project/api-reference.d.ts +4 -0
  113. package/dist/services/project/api-reference.d.ts.map +1 -0
  114. package/dist/services/project/api-reference.js +618 -0
  115. package/dist/services/project/api-reference.js.map +1 -0
  116. package/dist/services/project/types.d.ts +29 -0
  117. package/dist/services/project/types.d.ts.map +1 -0
  118. package/dist/services/project/types.js +40 -0
  119. package/dist/services/project/types.js.map +1 -0
  120. package/dist/services/queue/api-reference.d.ts +4 -0
  121. package/dist/services/queue/api-reference.d.ts.map +1 -0
  122. package/dist/services/queue/api-reference.js +713 -0
  123. package/dist/services/queue/api-reference.js.map +1 -0
  124. package/dist/services/queue/types.d.ts +281 -0
  125. package/dist/services/queue/types.d.ts.map +1 -1
  126. package/dist/services/queue/types.js +81 -0
  127. package/dist/services/queue/types.js.map +1 -1
  128. package/dist/services/region/api-reference.d.ts +4 -0
  129. package/dist/services/region/api-reference.d.ts.map +1 -0
  130. package/dist/services/region/api-reference.js +98 -0
  131. package/dist/services/region/api-reference.js.map +1 -0
  132. package/dist/services/region/types.d.ts +18 -0
  133. package/dist/services/region/types.d.ts.map +1 -0
  134. package/dist/services/region/types.js +18 -0
  135. package/dist/services/region/types.js.map +1 -0
  136. package/dist/services/sandbox/api-reference.d.ts +4 -0
  137. package/dist/services/sandbox/api-reference.d.ts.map +1 -0
  138. package/dist/services/sandbox/api-reference.js +1006 -0
  139. package/dist/services/sandbox/api-reference.js.map +1 -0
  140. package/dist/services/sandbox/run.d.ts +1 -1
  141. package/dist/services/sandbox/types.d.ts +64 -1
  142. package/dist/services/sandbox/types.d.ts.map +1 -1
  143. package/dist/services/sandbox/types.js +87 -0
  144. package/dist/services/sandbox/types.js.map +1 -1
  145. package/dist/services/schedule/api-reference.d.ts +4 -0
  146. package/dist/services/schedule/api-reference.d.ts.map +1 -0
  147. package/dist/services/schedule/api-reference.js +216 -0
  148. package/dist/services/schedule/api-reference.js.map +1 -0
  149. package/dist/services/schedule/types.d.ts +36 -0
  150. package/dist/services/schedule/types.d.ts.map +1 -0
  151. package/dist/services/schedule/types.js +20 -0
  152. package/dist/services/schedule/types.js.map +1 -0
  153. package/dist/services/session/api-reference.d.ts +4 -0
  154. package/dist/services/session/api-reference.d.ts.map +1 -0
  155. package/dist/services/session/api-reference.js +154 -0
  156. package/dist/services/session/api-reference.js.map +1 -0
  157. package/dist/services/storage/api-reference.d.ts +4 -0
  158. package/dist/services/storage/api-reference.d.ts.map +1 -0
  159. package/dist/services/storage/api-reference.js +196 -0
  160. package/dist/services/storage/api-reference.js.map +1 -0
  161. package/dist/services/storage/types.d.ts.map +1 -1
  162. package/dist/services/storage/types.js +9 -3
  163. package/dist/services/storage/types.js.map +1 -1
  164. package/dist/services/stream/api-reference.d.ts +4 -0
  165. package/dist/services/stream/api-reference.d.ts.map +1 -0
  166. package/dist/services/stream/api-reference.js +153 -0
  167. package/dist/services/stream/api-reference.js.map +1 -0
  168. package/dist/services/stream/types.d.ts +49 -0
  169. package/dist/services/stream/types.d.ts.map +1 -0
  170. package/dist/services/stream/types.js +49 -0
  171. package/dist/services/stream/types.js.map +1 -0
  172. package/dist/services/task/api-reference.d.ts +4 -0
  173. package/dist/services/task/api-reference.d.ts.map +1 -0
  174. package/dist/services/task/api-reference.js +802 -0
  175. package/dist/services/task/api-reference.js.map +1 -0
  176. package/dist/services/task/service.d.ts.map +1 -1
  177. package/dist/services/task/service.js +35 -39
  178. package/dist/services/task/service.js.map +1 -1
  179. package/dist/services/task/types.d.ts +48 -0
  180. package/dist/services/task/types.d.ts.map +1 -0
  181. package/dist/services/task/types.js +55 -0
  182. package/dist/services/task/types.js.map +1 -0
  183. package/dist/services/thread/api-reference.d.ts +4 -0
  184. package/dist/services/thread/api-reference.d.ts.map +1 -0
  185. package/dist/services/thread/api-reference.js +89 -0
  186. package/dist/services/thread/api-reference.js.map +1 -0
  187. package/dist/services/user/api-reference.d.ts +4 -0
  188. package/dist/services/user/api-reference.d.ts.map +1 -0
  189. package/dist/services/user/api-reference.js +27 -0
  190. package/dist/services/user/api-reference.js.map +1 -0
  191. package/dist/services/vector/api-reference.d.ts +4 -0
  192. package/dist/services/vector/api-reference.d.ts.map +1 -0
  193. package/dist/services/vector/api-reference.js +213 -0
  194. package/dist/services/vector/api-reference.js.map +1 -0
  195. package/dist/services/vector/types.d.ts +63 -0
  196. package/dist/services/vector/types.d.ts.map +1 -0
  197. package/dist/services/vector/types.js +90 -0
  198. package/dist/services/vector/types.js.map +1 -0
  199. package/dist/services/webhook/api-reference.d.ts +4 -0
  200. package/dist/services/webhook/api-reference.d.ts.map +1 -0
  201. package/dist/services/webhook/api-reference.js +388 -0
  202. package/dist/services/webhook/api-reference.js.map +1 -0
  203. package/package.json +2 -2
  204. package/src/services/api-reference.ts +198 -0
  205. package/src/services/apikey/api-reference.ts +99 -0
  206. package/src/services/db/api-reference.ts +152 -0
  207. package/src/services/db/types.ts +12 -0
  208. package/src/services/email/api-reference.ts +349 -0
  209. package/src/services/email/service.ts +1 -6
  210. package/src/services/email/types.ts +15 -0
  211. package/src/services/eval/api-reference.ts +124 -0
  212. package/src/services/index.ts +2 -0
  213. package/src/services/keyvalue/api-reference.ts +280 -0
  214. package/src/services/keyvalue/types.ts +25 -0
  215. package/src/services/machine/api-reference.ts +158 -0
  216. package/src/services/machine/types.ts +21 -0
  217. package/src/services/monitoring/index.ts +2 -0
  218. package/src/services/monitoring/service.ts +639 -0
  219. package/src/services/monitoring/types.ts +209 -0
  220. package/src/services/oauth/activity.ts +41 -0
  221. package/src/services/oauth/api-reference.ts +380 -0
  222. package/src/services/oauth/clients.ts +161 -0
  223. package/src/services/oauth/consent.ts +33 -0
  224. package/src/services/oauth/index.ts +8 -0
  225. package/src/services/oauth/keys.ts +13 -0
  226. package/src/services/oauth/members.ts +13 -0
  227. package/src/services/oauth/scopes.ts +13 -0
  228. package/src/services/oauth/types.ts +240 -0
  229. package/src/services/oauth/util.ts +3 -0
  230. package/src/services/org/api-reference.ts +148 -0
  231. package/src/services/org/types.ts +9 -0
  232. package/src/services/project/api-reference.ts +636 -0
  233. package/src/services/project/types.ts +47 -0
  234. package/src/services/queue/api-reference.ts +734 -0
  235. package/src/services/queue/types.ts +112 -0
  236. package/src/services/region/api-reference.ts +105 -0
  237. package/src/services/region/types.ts +27 -0
  238. package/src/services/sandbox/api-reference.ts +1042 -0
  239. package/src/services/sandbox/types.ts +100 -0
  240. package/src/services/schedule/api-reference.ts +228 -0
  241. package/src/services/schedule/types.ts +26 -0
  242. package/src/services/session/api-reference.ts +160 -0
  243. package/src/services/storage/api-reference.ts +207 -0
  244. package/src/services/storage/types.ts +9 -3
  245. package/src/services/stream/api-reference.ts +163 -0
  246. package/src/services/stream/types.ts +64 -0
  247. package/src/services/task/api-reference.ts +830 -0
  248. package/src/services/task/service.ts +35 -93
  249. package/src/services/task/types.ts +73 -0
  250. package/src/services/thread/api-reference.ts +91 -0
  251. package/src/services/user/api-reference.ts +31 -0
  252. package/src/services/vector/api-reference.ts +231 -0
  253. package/src/services/vector/types.ts +112 -0
  254. package/src/services/webhook/api-reference.ts +403 -0
@@ -0,0 +1,161 @@
1
+ import { APIClient } from '../api.ts';
2
+ import { OAuthResponseError } from './util.ts';
3
+ import {
4
+ OAuthClientCreateRequestSchema,
5
+ OAuthClientCreateResponseSchema,
6
+ OAuthClientDeleteResponseSchema,
7
+ OAuthClientGetResponseSchema,
8
+ OAuthClientListResponseSchema,
9
+ OAuthClientRevokeAllUsersResponseSchema,
10
+ OAuthClientRevokeUserResponseSchema,
11
+ OAuthClientRotateSecretResponseSchema,
12
+ OAuthClientUpdateRequestSchema,
13
+ OAuthClientUpdateResponseSchema,
14
+ OAuthClientUsersResponseSchema,
15
+ type OAuthClientCreateData,
16
+ type OAuthClientCreateRequest,
17
+ type OAuthClientListItem,
18
+ type OAuthClientUpdateData,
19
+ type OAuthClientUpdateRequest,
20
+ type OAuthConsentGrant,
21
+ type OAuthRotateSecretData,
22
+ } from './types.ts';
23
+
24
+ export async function oauthClientList(client: APIClient): Promise<OAuthClientListItem[]> {
25
+ const resp = await client.get('/oidc/clients', OAuthClientListResponseSchema);
26
+
27
+ if (resp.success) {
28
+ return resp.data;
29
+ }
30
+
31
+ throw new OAuthResponseError({ message: resp.message });
32
+ }
33
+
34
+ export async function oauthClientGet(client: APIClient, id: string): Promise<OAuthClientListItem> {
35
+ const resp = await client.get(
36
+ `/oidc/clients/${encodeURIComponent(id)}`,
37
+ OAuthClientGetResponseSchema
38
+ );
39
+
40
+ if (resp.success) {
41
+ return resp.data;
42
+ }
43
+
44
+ throw new OAuthResponseError({ message: resp.message });
45
+ }
46
+
47
+ export async function oauthClientCreate(
48
+ client: APIClient,
49
+ request: OAuthClientCreateRequest
50
+ ): Promise<OAuthClientCreateData> {
51
+ const resp = await client.post(
52
+ '/oidc/clients',
53
+ request,
54
+ OAuthClientCreateResponseSchema,
55
+ OAuthClientCreateRequestSchema
56
+ );
57
+
58
+ if (resp.success) {
59
+ return resp.data;
60
+ }
61
+
62
+ throw new OAuthResponseError({ message: resp.message });
63
+ }
64
+
65
+ export async function oauthClientUpdate(
66
+ client: APIClient,
67
+ id: string,
68
+ request: OAuthClientUpdateRequest
69
+ ): Promise<OAuthClientUpdateData> {
70
+ const resp = await client.put(
71
+ `/oidc/clients/${encodeURIComponent(id)}`,
72
+ request,
73
+ OAuthClientUpdateResponseSchema,
74
+ OAuthClientUpdateRequestSchema
75
+ );
76
+
77
+ if (resp.success) {
78
+ return resp.data;
79
+ }
80
+
81
+ throw new OAuthResponseError({ message: resp.message });
82
+ }
83
+
84
+ export async function oauthClientDelete(client: APIClient, id: string): Promise<{ deleted: true }> {
85
+ const resp = await client.delete(
86
+ `/oidc/clients/${encodeURIComponent(id)}`,
87
+ OAuthClientDeleteResponseSchema
88
+ );
89
+
90
+ if (resp.success) {
91
+ return resp.data;
92
+ }
93
+
94
+ throw new OAuthResponseError({ message: resp.message });
95
+ }
96
+
97
+ export async function oauthClientRotateSecret(
98
+ client: APIClient,
99
+ id: string
100
+ ): Promise<OAuthRotateSecretData> {
101
+ const resp = await client.post(
102
+ `/oidc/clients/${encodeURIComponent(id)}/rotate-secret`,
103
+ undefined,
104
+ OAuthClientRotateSecretResponseSchema
105
+ );
106
+
107
+ if (resp.success) {
108
+ return resp.data;
109
+ }
110
+
111
+ throw new OAuthResponseError({ message: resp.message });
112
+ }
113
+
114
+ export async function oauthClientUsers(
115
+ client: APIClient,
116
+ id: string
117
+ ): Promise<OAuthConsentGrant[]> {
118
+ const resp = await client.get(
119
+ `/oidc/clients/${encodeURIComponent(id)}/users`,
120
+ OAuthClientUsersResponseSchema
121
+ );
122
+
123
+ if (resp.success) {
124
+ return resp.data;
125
+ }
126
+
127
+ throw new OAuthResponseError({ message: resp.message });
128
+ }
129
+
130
+ export async function oauthClientRevokeAllUsers(
131
+ client: APIClient,
132
+ id: string
133
+ ): Promise<{ deleted: true }> {
134
+ const resp = await client.delete(
135
+ `/oidc/clients/${encodeURIComponent(id)}/users`,
136
+ OAuthClientRevokeAllUsersResponseSchema
137
+ );
138
+
139
+ if (resp.success) {
140
+ return resp.data;
141
+ }
142
+
143
+ throw new OAuthResponseError({ message: resp.message });
144
+ }
145
+
146
+ export async function oauthClientRevokeUser(
147
+ client: APIClient,
148
+ id: string,
149
+ userId: string
150
+ ): Promise<{ deleted: true }> {
151
+ const resp = await client.delete(
152
+ `/oidc/clients/${encodeURIComponent(id)}/users/${encodeURIComponent(userId)}`,
153
+ OAuthClientRevokeUserResponseSchema
154
+ );
155
+
156
+ if (resp.success) {
157
+ return resp.data;
158
+ }
159
+
160
+ throw new OAuthResponseError({ message: resp.message });
161
+ }
@@ -0,0 +1,33 @@
1
+ import { APIClient } from '../api.ts';
2
+ import {
3
+ OAuthUserConsentResponseSchema,
4
+ OAuthUserConsentRevokeResponseSchema,
5
+ type OAuthUserConsent,
6
+ } from './types.ts';
7
+ import { OAuthResponseError } from './util.ts';
8
+
9
+ export async function oauthUserConsent(client: APIClient): Promise<OAuthUserConsent[]> {
10
+ const resp = await client.get('/oidc/user/consent', OAuthUserConsentResponseSchema);
11
+
12
+ if (resp.success) {
13
+ return resp.data;
14
+ }
15
+
16
+ throw new OAuthResponseError({ message: resp.message });
17
+ }
18
+
19
+ export async function oauthUserConsentRevoke(
20
+ client: APIClient,
21
+ clientId: string
22
+ ): Promise<{ deleted: true }> {
23
+ const resp = await client.delete(
24
+ `/oidc/user/consent/${encodeURIComponent(clientId)}`,
25
+ OAuthUserConsentRevokeResponseSchema
26
+ );
27
+
28
+ if (resp.success) {
29
+ return resp.data;
30
+ }
31
+
32
+ throw new OAuthResponseError({ message: resp.message });
33
+ }
@@ -0,0 +1,8 @@
1
+ export * from './types.ts';
2
+ export * from './clients.ts';
3
+ export * from './activity.ts';
4
+ export * from './consent.ts';
5
+ export * from './scopes.ts';
6
+ export * from './members.ts';
7
+ export * from './keys.ts';
8
+ export * from './util.ts';
@@ -0,0 +1,13 @@
1
+ import { APIClient } from '../api.ts';
2
+ import { OAuthKeysRotateResponseSchema } from './types.ts';
3
+ import { OAuthResponseError } from './util.ts';
4
+
5
+ export async function oauthKeysRotate(client: APIClient): Promise<{ rotated: true }> {
6
+ const resp = await client.post('/oidc/keys/rotate', undefined, OAuthKeysRotateResponseSchema);
7
+
8
+ if (resp.success) {
9
+ return resp.data;
10
+ }
11
+
12
+ throw new OAuthResponseError({ message: resp.message });
13
+ }
@@ -0,0 +1,13 @@
1
+ import { APIClient } from '../api.ts';
2
+ import { OAuthOrgMembersResponseSchema, type OAuthOrgMember } from './types.ts';
3
+ import { OAuthResponseError } from './util.ts';
4
+
5
+ export async function oauthOrgMembers(client: APIClient): Promise<OAuthOrgMember[]> {
6
+ const resp = await client.get('/oidc/org/members', OAuthOrgMembersResponseSchema);
7
+
8
+ if (resp.success) {
9
+ return resp.data;
10
+ }
11
+
12
+ throw new OAuthResponseError({ message: resp.message });
13
+ }
@@ -0,0 +1,13 @@
1
+ import { APIClient } from '../api.ts';
2
+ import { OAuthScopesResponseSchema, type OAuthScopesData } from './types.ts';
3
+ import { OAuthResponseError } from './util.ts';
4
+
5
+ export async function oauthScopes(client: APIClient): Promise<OAuthScopesData> {
6
+ const resp = await client.get('/oidc/scopes', OAuthScopesResponseSchema);
7
+
8
+ if (resp.success) {
9
+ return resp.data;
10
+ }
11
+
12
+ throw new OAuthResponseError({ message: resp.message });
13
+ }
@@ -0,0 +1,240 @@
1
+ import { z } from 'zod';
2
+ import { APIResponseSchema } from '../api.ts';
3
+
4
+ export const OAuthClientSchema = z.object({
5
+ id: z.string(),
6
+ name: z.string(),
7
+ description: z.string(),
8
+ homepage_url: z.string(),
9
+ icon: z.string().nullable().optional(),
10
+ client_type: z.enum(['public', 'confidential']),
11
+ redirect_uris: z.array(z.string()),
12
+ post_logout_redirect_uris: z.array(z.string()),
13
+ grant_types: z.array(z.string()),
14
+ response_types: z.array(z.string()),
15
+ scopes: z.array(z.string()),
16
+ org_id: z.string().optional(),
17
+ project_id: z.string().optional(),
18
+ access_token_lifetime_seconds: z.number().optional(),
19
+ refresh_token_lifetime_seconds: z.number().optional(),
20
+ id_token_lifetime_seconds: z.number().optional(),
21
+ allowed_user_ids: z.array(z.string()),
22
+ created_at: z.string(),
23
+ updated_at: z.string(),
24
+ });
25
+
26
+ export type OAuthClient = z.infer<typeof OAuthClientSchema>;
27
+
28
+ export const OAuthClientListItemSchema = OAuthClientSchema.extend({
29
+ user_count: z.number(),
30
+ last_activity: z.string().nullable().optional(),
31
+ link: z.string(),
32
+ });
33
+
34
+ export type OAuthClientListItem = z.infer<typeof OAuthClientListItemSchema>;
35
+
36
+ export const OAuthClientCreateRequestSchema = z.object({
37
+ name: z.string(),
38
+ description: z.string(),
39
+ homepage_url: z.string(),
40
+ icon: z.string().nullable().optional(),
41
+ client_type: z.enum(['public', 'confidential']).optional(),
42
+ redirect_uris: z.array(z.string()).optional(),
43
+ post_logout_redirect_uris: z.array(z.string()).optional(),
44
+ grant_types: z.array(z.string()).optional(),
45
+ response_types: z.array(z.string()).optional(),
46
+ scopes: z.array(z.string()).optional(),
47
+ project_id: z.string().optional(),
48
+ access_token_lifetime_seconds: z.number().optional(),
49
+ refresh_token_lifetime_seconds: z.number().optional(),
50
+ id_token_lifetime_seconds: z.number().optional(),
51
+ allowed_user_ids: z.array(z.string()).optional(),
52
+ });
53
+
54
+ export type OAuthClientCreateRequest = z.infer<typeof OAuthClientCreateRequestSchema>;
55
+
56
+ export const OAuthClientCreateDataSchema = z.object({
57
+ client: OAuthClientSchema,
58
+ client_secret: z.string(),
59
+ });
60
+
61
+ export type OAuthClientCreateData = z.infer<typeof OAuthClientCreateDataSchema>;
62
+
63
+ export const OAuthClientUpdateRequestSchema = z.object({
64
+ name: z.string().optional(),
65
+ description: z.string().optional(),
66
+ homepage_url: z.string().optional(),
67
+ icon: z.string().nullable().optional(),
68
+ client_type: z.enum(['public', 'confidential']).optional(),
69
+ redirect_uris: z.array(z.string()).optional(),
70
+ post_logout_redirect_uris: z.array(z.string()).optional(),
71
+ grant_types: z.array(z.string()).optional(),
72
+ response_types: z.array(z.string()).optional(),
73
+ scopes: z.array(z.string()).optional(),
74
+ project_id: z.string().optional(),
75
+ access_token_lifetime_seconds: z.number().optional(),
76
+ refresh_token_lifetime_seconds: z.number().optional(),
77
+ id_token_lifetime_seconds: z.number().optional(),
78
+ allowed_user_ids: z.array(z.string()).optional(),
79
+ });
80
+
81
+ export type OAuthClientUpdateRequest = z.infer<typeof OAuthClientUpdateRequestSchema>;
82
+
83
+ export const OAuthClientUpdateDataSchema = z.object({
84
+ client: OAuthClientSchema,
85
+ client_secret: z.string().optional(),
86
+ });
87
+
88
+ export type OAuthClientUpdateData = z.infer<typeof OAuthClientUpdateDataSchema>;
89
+
90
+ export const OAuthRotateSecretDataSchema = z.object({
91
+ client_id: z.string(),
92
+ client_secret: z.string(),
93
+ });
94
+
95
+ export type OAuthRotateSecretData = z.infer<typeof OAuthRotateSecretDataSchema>;
96
+
97
+ export const OAuthDeletedDataSchema = z.object({
98
+ deleted: z.literal(true),
99
+ });
100
+
101
+ export type OAuthDeletedData = z.infer<typeof OAuthDeletedDataSchema>;
102
+
103
+ export const OAuthClientActivityItemSchema = z.object({
104
+ activity_date: z.string(),
105
+ total_access: z.number(),
106
+ unique_users: z.number(),
107
+ });
108
+
109
+ export type OAuthClientActivityItem = z.infer<typeof OAuthClientActivityItemSchema>;
110
+
111
+ export const OAuthBulkActivityItemSchema = z.object({
112
+ client_id: z.string(),
113
+ activity_date: z.string(),
114
+ unique_users: z.number(),
115
+ });
116
+
117
+ export type OAuthBulkActivityItem = z.infer<typeof OAuthBulkActivityItemSchema>;
118
+
119
+ export const OAuthConsentGrantSchema = z.object({
120
+ user_id: z.string(),
121
+ scopes: z.array(z.string()),
122
+ created_at: z.string(),
123
+ updated_at: z.string(),
124
+ });
125
+
126
+ export type OAuthConsentGrant = z.infer<typeof OAuthConsentGrantSchema>;
127
+
128
+ export const OAuthUserConsentSchema = z.object({
129
+ client_id: z.string(),
130
+ scopes: z.array(z.string()),
131
+ created_at: z.string(),
132
+ updated_at: z.string(),
133
+ client_name: z.string(),
134
+ client_description: z.string(),
135
+ client_icon: z.string().nullable(),
136
+ client_homepage_url: z.string(),
137
+ });
138
+
139
+ export type OAuthUserConsent = z.infer<typeof OAuthUserConsentSchema>;
140
+
141
+ export const OAuthScopeSchema = z.object({
142
+ name: z.string(),
143
+ description: z.string(),
144
+ consent_title: z.string(),
145
+ consent_description: z.string(),
146
+ sensitive: z.boolean(),
147
+ required: z.boolean(),
148
+ default: z.boolean(),
149
+ });
150
+
151
+ export type OAuthScope = z.infer<typeof OAuthScopeSchema>;
152
+
153
+ export const OAuthPermissionLevelSchema = z.object({
154
+ label: z.string(),
155
+ value: z.string(),
156
+ scopes: z.array(z.string()),
157
+ });
158
+
159
+ export type OAuthPermissionLevel = z.infer<typeof OAuthPermissionLevelSchema>;
160
+
161
+ export const OAuthPermissionGroupSchema = z.object({
162
+ id: z.string(),
163
+ name: z.string(),
164
+ description: z.string(),
165
+ levels: z.array(OAuthPermissionLevelSchema),
166
+ });
167
+
168
+ export type OAuthPermissionGroup = z.infer<typeof OAuthPermissionGroupSchema>;
169
+
170
+ export const OAuthPermissionCategorySchema = z.object({
171
+ id: z.string(),
172
+ label: z.string(),
173
+ groups: z.array(OAuthPermissionGroupSchema),
174
+ });
175
+
176
+ export type OAuthPermissionCategory = z.infer<typeof OAuthPermissionCategorySchema>;
177
+
178
+ export const OAuthScopesDataSchema = z.object({
179
+ scopes: z.array(OAuthScopeSchema),
180
+ permissions: z.array(OAuthPermissionCategorySchema),
181
+ });
182
+
183
+ export type OAuthScopesData = z.infer<typeof OAuthScopesDataSchema>;
184
+
185
+ export const OAuthOrgMemberSchema = z.object({
186
+ id: z.string(),
187
+ first_name: z.string().nullable(),
188
+ last_name: z.string().nullable(),
189
+ email: z.string().nullable(),
190
+ photo_url: z.string().nullable(),
191
+ role: z.string(),
192
+ });
193
+
194
+ export type OAuthOrgMember = z.infer<typeof OAuthOrgMemberSchema>;
195
+
196
+ export const OAuthKeyRotatedDataSchema = z.object({
197
+ rotated: z.literal(true),
198
+ });
199
+
200
+ export type OAuthKeyRotatedData = z.infer<typeof OAuthKeyRotatedDataSchema>;
201
+
202
+ export const OAuthClientListResponseSchema = APIResponseSchema(z.array(OAuthClientListItemSchema));
203
+ export const OAuthClientGetResponseSchema = APIResponseSchema(OAuthClientListItemSchema);
204
+ export const OAuthClientCreateResponseSchema = APIResponseSchema(OAuthClientCreateDataSchema);
205
+ export const OAuthClientUpdateResponseSchema = APIResponseSchema(OAuthClientUpdateDataSchema);
206
+ export const OAuthClientDeleteResponseSchema = APIResponseSchema(OAuthDeletedDataSchema);
207
+ export const OAuthClientRotateSecretResponseSchema = APIResponseSchema(OAuthRotateSecretDataSchema);
208
+ export const OAuthClientUsersResponseSchema = APIResponseSchema(z.array(OAuthConsentGrantSchema));
209
+ export const OAuthClientRevokeAllUsersResponseSchema = APIResponseSchema(OAuthDeletedDataSchema);
210
+ export const OAuthClientRevokeUserResponseSchema = APIResponseSchema(OAuthDeletedDataSchema);
211
+ export const OAuthClientActivityResponseSchema = APIResponseSchema(
212
+ z.array(OAuthClientActivityItemSchema)
213
+ );
214
+ export const OAuthBulkActivityResponseSchema = APIResponseSchema(
215
+ z.array(OAuthBulkActivityItemSchema)
216
+ );
217
+ export const OAuthUserConsentResponseSchema = APIResponseSchema(z.array(OAuthUserConsentSchema));
218
+ export const OAuthUserConsentRevokeResponseSchema = APIResponseSchema(OAuthDeletedDataSchema);
219
+ export const OAuthScopesResponseSchema = APIResponseSchema(OAuthScopesDataSchema);
220
+ export const OAuthOrgMembersResponseSchema = APIResponseSchema(z.array(OAuthOrgMemberSchema));
221
+ export const OAuthKeysRotateResponseSchema = APIResponseSchema(OAuthKeyRotatedDataSchema);
222
+
223
+ export type OAuthClientListResponse = z.infer<typeof OAuthClientListResponseSchema>;
224
+ export type OAuthClientGetResponse = z.infer<typeof OAuthClientGetResponseSchema>;
225
+ export type OAuthClientCreateResponse = z.infer<typeof OAuthClientCreateResponseSchema>;
226
+ export type OAuthClientUpdateResponse = z.infer<typeof OAuthClientUpdateResponseSchema>;
227
+ export type OAuthClientDeleteResponse = z.infer<typeof OAuthClientDeleteResponseSchema>;
228
+ export type OAuthClientRotateSecretResponse = z.infer<typeof OAuthClientRotateSecretResponseSchema>;
229
+ export type OAuthClientUsersResponse = z.infer<typeof OAuthClientUsersResponseSchema>;
230
+ export type OAuthClientRevokeAllUsersResponse = z.infer<
231
+ typeof OAuthClientRevokeAllUsersResponseSchema
232
+ >;
233
+ export type OAuthClientRevokeUserResponse = z.infer<typeof OAuthClientRevokeUserResponseSchema>;
234
+ export type OAuthClientActivityResponse = z.infer<typeof OAuthClientActivityResponseSchema>;
235
+ export type OAuthBulkActivityResponse = z.infer<typeof OAuthBulkActivityResponseSchema>;
236
+ export type OAuthUserConsentResponse = z.infer<typeof OAuthUserConsentResponseSchema>;
237
+ export type OAuthUserConsentRevokeResponse = z.infer<typeof OAuthUserConsentRevokeResponseSchema>;
238
+ export type OAuthScopesResponse = z.infer<typeof OAuthScopesResponseSchema>;
239
+ export type OAuthOrgMembersResponse = z.infer<typeof OAuthOrgMembersResponseSchema>;
240
+ export type OAuthKeysRotateResponse = z.infer<typeof OAuthKeysRotateResponseSchema>;
@@ -0,0 +1,3 @@
1
+ import { StructuredError } from '../../error.ts';
2
+
3
+ export const OAuthResponseError = StructuredError('OAuthResponseError');
@@ -0,0 +1,148 @@
1
+ import { OrgEnvDeleteRequestSchema } from './env-delete.ts';
2
+ import { OrgEnvDataSchema } from './env-get.ts';
3
+ import { OrgEnvUpdateRequestSchema } from './env-update.ts';
4
+ import { OrgInfoApiSchema } from './types.ts';
5
+ import type { Service } from '../api-reference.ts';
6
+
7
+ const service: Service = {
8
+ name: 'Organizations',
9
+ slug: 'organizations',
10
+ description: 'Manage organizations, environment variables, and org-level resources',
11
+ endpoints: [
12
+ {
13
+ id: 'list-organizations',
14
+ title: 'List Organizations',
15
+ method: 'GET',
16
+ path: '/cli/organization',
17
+ description: 'List all organizations the authenticated user belongs to.',
18
+ pathParams: [],
19
+ queryParams: [],
20
+ requestBody: null,
21
+ responseDescription: 'Returns all organizations the authenticated user belongs to.',
22
+ responseFields: { schema: OrgInfoApiSchema, stripRequired: true },
23
+ statuses: [
24
+ { code: 200, description: 'Organizations returned' },
25
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
26
+ ],
27
+ examplePath: '/cli/organization',
28
+ },
29
+ {
30
+ id: 'get-env-vars',
31
+ title: 'Get Environment Variables',
32
+ sectionTitle: 'Environment Variables',
33
+ method: 'GET',
34
+ path: '/cli/organization/{id}/env',
35
+ description: 'Retrieve environment variables and secrets for an organization.',
36
+ pathParams: [
37
+ { name: 'id', type: 'string', description: 'Organization ID', required: true },
38
+ ],
39
+ queryParams: [
40
+ {
41
+ name: 'mask',
42
+ type: 'boolean',
43
+ description: 'Mask secret values (default true)',
44
+ required: false,
45
+ },
46
+ ],
47
+ requestBody: null,
48
+ responseDescription: 'Returns environment variables and secrets for the organization.',
49
+ responseFields: { schema: OrgEnvDataSchema },
50
+ statuses: [
51
+ { code: 200, description: 'Environment variables returned' },
52
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
53
+ { code: 404, description: 'Organization not found' },
54
+ ],
55
+ examplePath: '/cli/organization/org_abc123/env',
56
+ },
57
+ {
58
+ id: 'update-env-vars',
59
+ title: 'Update Environment Variables',
60
+ sectionTitle: 'Environment Variables',
61
+ method: 'PUT',
62
+ path: '/cli/organization/{id}/env',
63
+ description:
64
+ 'Update environment variables and secrets for an organization. Updates are merged with existing values.',
65
+ pathParams: [
66
+ { name: 'id', type: 'string', description: 'Organization ID', required: true },
67
+ ],
68
+ queryParams: [],
69
+ requestBody: {
70
+ description: 'Environment variables and secrets to set.',
71
+ fields: { schema: OrgEnvUpdateRequestSchema, omit: ['id'] },
72
+ },
73
+ responseDescription: 'Updates are merged with existing values. Returns 204 on success.',
74
+ statuses: [
75
+ { code: 204, description: 'Environment variables updated' },
76
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
77
+ { code: 404, description: 'Organization not found' },
78
+ ],
79
+ examplePath: '/cli/organization/org_abc123/env',
80
+ exampleBody: { env: { MY_VAR: 'value' }, secrets: { API_KEY: 'sk_...' } },
81
+ },
82
+ {
83
+ id: 'delete-env-vars',
84
+ title: 'Delete Environment Variables',
85
+ sectionTitle: 'Environment Variables',
86
+ method: 'DELETE',
87
+ path: '/cli/organization/{id}/env',
88
+ description: 'Delete specific environment variables and secrets from an organization.',
89
+ pathParams: [
90
+ { name: 'id', type: 'string', description: 'Organization ID', required: true },
91
+ ],
92
+ queryParams: [],
93
+ requestBody: {
94
+ description: 'Keys to delete from environment variables and secrets.',
95
+ fields: { schema: OrgEnvDeleteRequestSchema, omit: ['id'] },
96
+ },
97
+ responseDescription: 'Returns 204 on success.',
98
+ statuses: [
99
+ { code: 204, description: 'Environment variables deleted' },
100
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
101
+ { code: 404, description: 'Organization not found' },
102
+ ],
103
+ examplePath: '/cli/organization/org_abc123/env',
104
+ exampleBody: { env: ['MY_VAR'], secrets: ['OLD_KEY'] },
105
+ },
106
+ {
107
+ id: 'list-resources',
108
+ title: 'List All Resources',
109
+ sectionTitle: 'Resources',
110
+ method: 'GET',
111
+ path: '/resource',
112
+ description: 'List S3 buckets and databases across all regions.',
113
+ pathParams: [],
114
+ queryParams: [
115
+ {
116
+ name: 'type',
117
+ type: 'string',
118
+ description: "'all', 's3', or 'db' (default 'all')",
119
+ required: false,
120
+ },
121
+ { name: 'name', type: 'string', description: 'Filter by name', required: false },
122
+ {
123
+ name: 'limit',
124
+ type: 'number',
125
+ description: 'Maximum results to return',
126
+ required: false,
127
+ },
128
+ { name: 'offset', type: 'number', description: 'Pagination offset', required: false },
129
+ {
130
+ name: 'sort',
131
+ type: 'string',
132
+ description: "'name', 'created', or 'region'",
133
+ required: false,
134
+ },
135
+ { name: 'direction', type: 'string', description: "'asc' or 'desc'", required: false },
136
+ ],
137
+ requestBody: null,
138
+ responseDescription: 'Returns S3 buckets and databases across all regions.',
139
+ statuses: [
140
+ { code: 200, description: 'Resources returned' },
141
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
142
+ ],
143
+ examplePath: '/resource',
144
+ },
145
+ ],
146
+ };
147
+
148
+ export default service;
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+
3
+ /** Basic organization info returned in list endpoints */
4
+ export const OrgInfoApiSchema = z.object({
5
+ id: z.string().describe('Organization ID'),
6
+ name: z.string().describe('Organization name'),
7
+ });
8
+
9
+ export type OrgInfo = z.infer<typeof OrgInfoApiSchema>;