@katerai/sdk 0.6.0 → 0.7.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 (321) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +23 -16
  3. package/client.d.mts +10 -13
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +10 -13
  6. package/client.d.ts.map +1 -1
  7. package/client.js +37 -15
  8. package/client.js.map +1 -1
  9. package/client.mjs +37 -15
  10. package/client.mjs.map +1 -1
  11. package/internal/utils/log.d.mts.map +1 -1
  12. package/internal/utils/log.d.ts.map +1 -1
  13. package/internal/utils/log.js +2 -1
  14. package/internal/utils/log.js.map +1 -1
  15. package/internal/utils/log.mjs +2 -1
  16. package/internal/utils/log.mjs.map +1 -1
  17. package/package.json +2 -2
  18. package/resources/index.d.mts +0 -2
  19. package/resources/index.d.mts.map +1 -1
  20. package/resources/index.d.ts +0 -2
  21. package/resources/index.d.ts.map +1 -1
  22. package/resources/index.js +1 -5
  23. package/resources/index.js.map +1 -1
  24. package/resources/index.mjs +0 -2
  25. package/resources/index.mjs.map +1 -1
  26. package/resources/v1/connections.d.mts +216 -1
  27. package/resources/v1/connections.d.mts.map +1 -1
  28. package/resources/v1/connections.d.ts +216 -1
  29. package/resources/v1/connections.d.ts.map +1 -1
  30. package/resources/v1/connections.js +22 -2
  31. package/resources/v1/connections.js.map +1 -1
  32. package/resources/v1/connections.mjs +20 -1
  33. package/resources/v1/connections.mjs.map +1 -1
  34. package/resources/v1/index.d.mts +2 -6
  35. package/resources/v1/index.d.mts.map +1 -1
  36. package/resources/v1/index.d.ts +2 -6
  37. package/resources/v1/index.d.ts.map +1 -1
  38. package/resources/v1/index.js +5 -13
  39. package/resources/v1/index.js.map +1 -1
  40. package/resources/v1/index.mjs +2 -6
  41. package/resources/v1/index.mjs.map +1 -1
  42. package/resources/v1/tenants.d.mts +125 -1
  43. package/resources/v1/tenants.d.mts.map +1 -1
  44. package/resources/v1/tenants.d.ts +125 -1
  45. package/resources/v1/tenants.d.ts.map +1 -1
  46. package/resources/v1/tenants.js +46 -2
  47. package/resources/v1/tenants.js.map +1 -1
  48. package/resources/v1/tenants.mjs +44 -1
  49. package/resources/v1/tenants.mjs.map +1 -1
  50. package/resources/v1/v1.d.mts +6 -22
  51. package/resources/v1/v1.d.mts.map +1 -1
  52. package/resources/v1/v1.d.ts +6 -22
  53. package/resources/v1/v1.d.ts.map +1 -1
  54. package/resources/v1/v1.js +4 -20
  55. package/resources/v1/v1.js.map +1 -1
  56. package/resources/v1/v1.mjs +4 -20
  57. package/resources/v1/v1.mjs.map +1 -1
  58. package/src/client.ts +48 -23
  59. package/src/internal/utils/log.ts +1 -0
  60. package/src/resources/index.ts +0 -2
  61. package/src/resources/v1/connections.ts +277 -1
  62. package/src/resources/v1/index.ts +7 -44
  63. package/src/resources/v1/tenants.ts +162 -1
  64. package/src/resources/v1/v1.ts +14 -104
  65. package/src/version.ts +1 -1
  66. package/version.d.mts +1 -1
  67. package/version.d.ts +1 -1
  68. package/version.js +1 -1
  69. package/version.mjs +1 -1
  70. package/resources/healthz.d.mts +0 -16
  71. package/resources/healthz.d.mts.map +0 -1
  72. package/resources/healthz.d.ts +0 -16
  73. package/resources/healthz.d.ts.map +0 -1
  74. package/resources/healthz.js +0 -15
  75. package/resources/healthz.js.map +0 -1
  76. package/resources/healthz.mjs +0 -11
  77. package/resources/healthz.mjs.map +0 -1
  78. package/resources/readyz.d.mts +0 -16
  79. package/resources/readyz.d.mts.map +0 -1
  80. package/resources/readyz.d.ts +0 -16
  81. package/resources/readyz.d.ts.map +0 -1
  82. package/resources/readyz.js +0 -15
  83. package/resources/readyz.js.map +0 -1
  84. package/resources/readyz.mjs +0 -11
  85. package/resources/readyz.mjs.map +0 -1
  86. package/resources/v1/connections/connections.d.mts +0 -1470
  87. package/resources/v1/connections/connections.d.mts.map +0 -1
  88. package/resources/v1/connections/connections.d.ts +0 -1470
  89. package/resources/v1/connections/connections.d.ts.map +0 -1
  90. package/resources/v1/connections/connections.js +0 -163
  91. package/resources/v1/connections/connections.js.map +0 -1
  92. package/resources/v1/connections/connections.mjs +0 -158
  93. package/resources/v1/connections/connections.mjs.map +0 -1
  94. package/resources/v1/connections/databases.d.mts +0 -25
  95. package/resources/v1/connections/databases.d.mts.map +0 -1
  96. package/resources/v1/connections/databases.d.ts +0 -25
  97. package/resources/v1/connections/databases.d.ts.map +0 -1
  98. package/resources/v1/connections/databases.js +0 -26
  99. package/resources/v1/connections/databases.js.map +0 -1
  100. package/resources/v1/connections/databases.mjs +0 -22
  101. package/resources/v1/connections/databases.mjs.map +0 -1
  102. package/resources/v1/connections/index.d.mts +0 -5
  103. package/resources/v1/connections/index.d.mts.map +0 -1
  104. package/resources/v1/connections/index.d.ts +0 -5
  105. package/resources/v1/connections/index.d.ts.map +0 -1
  106. package/resources/v1/connections/index.js +0 -13
  107. package/resources/v1/connections/index.js.map +0 -1
  108. package/resources/v1/connections/index.mjs +0 -6
  109. package/resources/v1/connections/index.mjs.map +0 -1
  110. package/resources/v1/connections/views.d.mts +0 -77
  111. package/resources/v1/connections/views.d.mts.map +0 -1
  112. package/resources/v1/connections/views.d.ts +0 -77
  113. package/resources/v1/connections/views.d.ts.map +0 -1
  114. package/resources/v1/connections/views.js +0 -24
  115. package/resources/v1/connections/views.js.map +0 -1
  116. package/resources/v1/connections/views.mjs +0 -20
  117. package/resources/v1/connections/views.mjs.map +0 -1
  118. package/resources/v1/connections/yaml.d.mts +0 -57
  119. package/resources/v1/connections/yaml.d.mts.map +0 -1
  120. package/resources/v1/connections/yaml.d.ts +0 -57
  121. package/resources/v1/connections/yaml.d.ts.map +0 -1
  122. package/resources/v1/connections/yaml.js +0 -22
  123. package/resources/v1/connections/yaml.js.map +0 -1
  124. package/resources/v1/connections/yaml.mjs +0 -18
  125. package/resources/v1/connections/yaml.mjs.map +0 -1
  126. package/resources/v1/github/github.d.mts +0 -99
  127. package/resources/v1/github/github.d.mts.map +0 -1
  128. package/resources/v1/github/github.d.ts +0 -99
  129. package/resources/v1/github/github.d.ts.map +0 -1
  130. package/resources/v1/github/github.js +0 -49
  131. package/resources/v1/github/github.js.map +0 -1
  132. package/resources/v1/github/github.mjs +0 -44
  133. package/resources/v1/github/github.mjs.map +0 -1
  134. package/resources/v1/github/index.d.mts +0 -5
  135. package/resources/v1/github/index.d.mts.map +0 -1
  136. package/resources/v1/github/index.d.ts +0 -5
  137. package/resources/v1/github/index.d.ts.map +0 -1
  138. package/resources/v1/github/index.js +0 -13
  139. package/resources/v1/github/index.js.map +0 -1
  140. package/resources/v1/github/index.mjs +0 -6
  141. package/resources/v1/github/index.mjs.map +0 -1
  142. package/resources/v1/github/repos.d.mts +0 -54
  143. package/resources/v1/github/repos.d.mts.map +0 -1
  144. package/resources/v1/github/repos.d.ts +0 -54
  145. package/resources/v1/github/repos.d.ts.map +0 -1
  146. package/resources/v1/github/repos.js +0 -22
  147. package/resources/v1/github/repos.js.map +0 -1
  148. package/resources/v1/github/repos.mjs +0 -18
  149. package/resources/v1/github/repos.mjs.map +0 -1
  150. package/resources/v1/github/scaffold.d.mts +0 -29
  151. package/resources/v1/github/scaffold.d.mts.map +0 -1
  152. package/resources/v1/github/scaffold.d.ts +0 -29
  153. package/resources/v1/github/scaffold.d.ts.map +0 -1
  154. package/resources/v1/github/scaffold.js +0 -21
  155. package/resources/v1/github/scaffold.js.map +0 -1
  156. package/resources/v1/github/scaffold.mjs +0 -17
  157. package/resources/v1/github/scaffold.mjs.map +0 -1
  158. package/resources/v1/github/webhooks.d.mts +0 -28
  159. package/resources/v1/github/webhooks.d.mts.map +0 -1
  160. package/resources/v1/github/webhooks.d.ts +0 -28
  161. package/resources/v1/github/webhooks.d.ts.map +0 -1
  162. package/resources/v1/github/webhooks.js +0 -27
  163. package/resources/v1/github/webhooks.js.map +0 -1
  164. package/resources/v1/github/webhooks.mjs +0 -23
  165. package/resources/v1/github/webhooks.mjs.map +0 -1
  166. package/resources/v1/github.d.mts +0 -2
  167. package/resources/v1/github.d.mts.map +0 -1
  168. package/resources/v1/github.d.ts +0 -2
  169. package/resources/v1/github.d.ts.map +0 -1
  170. package/resources/v1/github.js +0 -6
  171. package/resources/v1/github.js.map +0 -1
  172. package/resources/v1/github.mjs +0 -3
  173. package/resources/v1/github.mjs.map +0 -1
  174. package/resources/v1/groups/groups.d.mts +0 -162
  175. package/resources/v1/groups/groups.d.mts.map +0 -1
  176. package/resources/v1/groups/groups.d.ts +0 -162
  177. package/resources/v1/groups/groups.d.ts.map +0 -1
  178. package/resources/v1/groups/groups.js +0 -81
  179. package/resources/v1/groups/groups.js.map +0 -1
  180. package/resources/v1/groups/groups.mjs +0 -76
  181. package/resources/v1/groups/groups.mjs.map +0 -1
  182. package/resources/v1/groups/index.d.mts +0 -3
  183. package/resources/v1/groups/index.d.mts.map +0 -1
  184. package/resources/v1/groups/index.d.ts +0 -3
  185. package/resources/v1/groups/index.d.ts.map +0 -1
  186. package/resources/v1/groups/index.js +0 -9
  187. package/resources/v1/groups/index.js.map +0 -1
  188. package/resources/v1/groups/index.mjs +0 -4
  189. package/resources/v1/groups/index.mjs.map +0 -1
  190. package/resources/v1/groups/tenants.d.mts +0 -55
  191. package/resources/v1/groups/tenants.d.mts.map +0 -1
  192. package/resources/v1/groups/tenants.d.ts +0 -55
  193. package/resources/v1/groups/tenants.d.ts.map +0 -1
  194. package/resources/v1/groups/tenants.js +0 -39
  195. package/resources/v1/groups/tenants.js.map +0 -1
  196. package/resources/v1/groups/tenants.mjs +0 -35
  197. package/resources/v1/groups/tenants.mjs.map +0 -1
  198. package/resources/v1/groups.d.mts +0 -2
  199. package/resources/v1/groups.d.mts.map +0 -1
  200. package/resources/v1/groups.d.ts +0 -2
  201. package/resources/v1/groups.d.ts.map +0 -1
  202. package/resources/v1/groups.js +0 -6
  203. package/resources/v1/groups.js.map +0 -1
  204. package/resources/v1/groups.mjs +0 -3
  205. package/resources/v1/groups.mjs.map +0 -1
  206. package/resources/v1/me.d.mts +0 -43
  207. package/resources/v1/me.d.mts.map +0 -1
  208. package/resources/v1/me.d.ts +0 -43
  209. package/resources/v1/me.d.ts.map +0 -1
  210. package/resources/v1/me.js +0 -20
  211. package/resources/v1/me.js.map +0 -1
  212. package/resources/v1/me.mjs +0 -16
  213. package/resources/v1/me.mjs.map +0 -1
  214. package/resources/v1/org/client.d.mts +0 -53
  215. package/resources/v1/org/client.d.mts.map +0 -1
  216. package/resources/v1/org/client.d.ts +0 -53
  217. package/resources/v1/org/client.d.ts.map +0 -1
  218. package/resources/v1/org/client.js +0 -25
  219. package/resources/v1/org/client.js.map +0 -1
  220. package/resources/v1/org/client.mjs +0 -21
  221. package/resources/v1/org/client.mjs.map +0 -1
  222. package/resources/v1/org/index.d.mts +0 -4
  223. package/resources/v1/org/index.d.mts.map +0 -1
  224. package/resources/v1/org/index.d.ts +0 -4
  225. package/resources/v1/org/index.d.ts.map +0 -1
  226. package/resources/v1/org/index.js +0 -11
  227. package/resources/v1/org/index.js.map +0 -1
  228. package/resources/v1/org/index.mjs +0 -5
  229. package/resources/v1/org/index.mjs.map +0 -1
  230. package/resources/v1/org/org.d.mts +0 -14
  231. package/resources/v1/org/org.d.mts.map +0 -1
  232. package/resources/v1/org/org.d.ts +0 -14
  233. package/resources/v1/org/org.d.ts.map +0 -1
  234. package/resources/v1/org/org.js +0 -21
  235. package/resources/v1/org/org.js.map +0 -1
  236. package/resources/v1/org/org.mjs +0 -16
  237. package/resources/v1/org/org.mjs.map +0 -1
  238. package/resources/v1/org/users.d.mts +0 -87
  239. package/resources/v1/org/users.d.mts.map +0 -1
  240. package/resources/v1/org/users.d.ts +0 -87
  241. package/resources/v1/org/users.d.ts.map +0 -1
  242. package/resources/v1/org/users.js +0 -60
  243. package/resources/v1/org/users.js.map +0 -1
  244. package/resources/v1/org/users.mjs +0 -56
  245. package/resources/v1/org/users.mjs.map +0 -1
  246. package/resources/v1/org.d.mts +0 -2
  247. package/resources/v1/org.d.mts.map +0 -1
  248. package/resources/v1/org.d.ts +0 -2
  249. package/resources/v1/org.d.ts.map +0 -1
  250. package/resources/v1/org.js +0 -6
  251. package/resources/v1/org.js.map +0 -1
  252. package/resources/v1/org.mjs +0 -3
  253. package/resources/v1/org.mjs.map +0 -1
  254. package/resources/v1/tenants/batch.d.mts +0 -159
  255. package/resources/v1/tenants/batch.d.mts.map +0 -1
  256. package/resources/v1/tenants/batch.d.ts +0 -159
  257. package/resources/v1/tenants/batch.d.ts.map +0 -1
  258. package/resources/v1/tenants/batch.js +0 -42
  259. package/resources/v1/tenants/batch.js.map +0 -1
  260. package/resources/v1/tenants/batch.mjs +0 -38
  261. package/resources/v1/tenants/batch.mjs.map +0 -1
  262. package/resources/v1/tenants/groups.d.mts +0 -43
  263. package/resources/v1/tenants/groups.d.mts.map +0 -1
  264. package/resources/v1/tenants/groups.d.ts +0 -43
  265. package/resources/v1/tenants/groups.d.ts.map +0 -1
  266. package/resources/v1/tenants/groups.js +0 -20
  267. package/resources/v1/tenants/groups.js.map +0 -1
  268. package/resources/v1/tenants/groups.mjs +0 -16
  269. package/resources/v1/tenants/groups.mjs.map +0 -1
  270. package/resources/v1/tenants/import.d.mts +0 -126
  271. package/resources/v1/tenants/import.d.mts.map +0 -1
  272. package/resources/v1/tenants/import.d.ts +0 -126
  273. package/resources/v1/tenants/import.d.ts.map +0 -1
  274. package/resources/v1/tenants/import.js +0 -50
  275. package/resources/v1/tenants/import.js.map +0 -1
  276. package/resources/v1/tenants/import.mjs +0 -46
  277. package/resources/v1/tenants/import.mjs.map +0 -1
  278. package/resources/v1/tenants/index.d.mts +0 -5
  279. package/resources/v1/tenants/index.d.mts.map +0 -1
  280. package/resources/v1/tenants/index.d.ts +0 -5
  281. package/resources/v1/tenants/index.d.ts.map +0 -1
  282. package/resources/v1/tenants/index.js +0 -13
  283. package/resources/v1/tenants/index.js.map +0 -1
  284. package/resources/v1/tenants/index.mjs +0 -6
  285. package/resources/v1/tenants/index.mjs.map +0 -1
  286. package/resources/v1/tenants/tenants.d.mts +0 -248
  287. package/resources/v1/tenants/tenants.d.mts.map +0 -1
  288. package/resources/v1/tenants/tenants.d.ts +0 -248
  289. package/resources/v1/tenants/tenants.d.ts.map +0 -1
  290. package/resources/v1/tenants/tenants.js +0 -113
  291. package/resources/v1/tenants/tenants.js.map +0 -1
  292. package/resources/v1/tenants/tenants.mjs +0 -108
  293. package/resources/v1/tenants/tenants.mjs.map +0 -1
  294. package/src/resources/healthz.ts +0 -20
  295. package/src/resources/readyz.ts +0 -20
  296. package/src/resources/v1/connections/connections.ts +0 -1905
  297. package/src/resources/v1/connections/databases.ts +0 -42
  298. package/src/resources/v1/connections/index.ts +0 -33
  299. package/src/resources/v1/connections/views.ts +0 -112
  300. package/src/resources/v1/connections/yaml.ts +0 -81
  301. package/src/resources/v1/github/github.ts +0 -165
  302. package/src/resources/v1/github/index.ts +0 -20
  303. package/src/resources/v1/github/repos.ts +0 -85
  304. package/src/resources/v1/github/scaffold.ts +0 -44
  305. package/src/resources/v1/github/webhooks.ts +0 -60
  306. package/src/resources/v1/github.ts +0 -3
  307. package/src/resources/v1/groups/groups.ts +0 -218
  308. package/src/resources/v1/groups/index.ts +0 -10
  309. package/src/resources/v1/groups/tenants.ts +0 -78
  310. package/src/resources/v1/groups.ts +0 -3
  311. package/src/resources/v1/me.ts +0 -62
  312. package/src/resources/v1/org/client.ts +0 -81
  313. package/src/resources/v1/org/index.ts +0 -11
  314. package/src/resources/v1/org/org.ts +0 -32
  315. package/src/resources/v1/org/users.ts +0 -127
  316. package/src/resources/v1/org.ts +0 -3
  317. package/src/resources/v1/tenants/batch.ts +0 -200
  318. package/src/resources/v1/tenants/groups.ts +0 -52
  319. package/src/resources/v1/tenants/import.ts +0 -158
  320. package/src/resources/v1/tenants/index.ts +0 -29
  321. package/src/resources/v1/tenants/tenants.ts +0 -344
@@ -1,3 +1,279 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- export * from './connections/index';
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { RequestOptions } from '../../internal/request-options';
6
+
7
+ export class Connections extends APIResource {
8
+ /**
9
+ * List warehouse connections for the client.
10
+ *
11
+ * Filter connections by approval status using the `status` query parameter:
12
+ *
13
+ * - `approved` (default): Only approved connections (is_pending_approval=false)
14
+ * - `pending`: Only connections awaiting PR approval (is_pending_approval=true)
15
+ * - `all`: All connections regardless of approval status
16
+ *
17
+ * Pending connections include their approval PR URLs when available. Returns empty
18
+ * list if GitHub is not configured.
19
+ *
20
+ * RLS: Filtered to current client (DualClientRLSDB).
21
+ */
22
+ listConnections(
23
+ query: ConnectionListConnectionsParams | null | undefined = {},
24
+ options?: RequestOptions,
25
+ ): APIPromise<ConnectionListConnectionsResponse> {
26
+ return this._client.get('/api/v1/connections', { query, ...options });
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Response model for a single connection.
32
+ *
33
+ * All data comes from the database (source of truth). For YAML-compatible output
34
+ * with 'kater_id', use the /schema endpoint instead.
35
+ */
36
+ export interface Connection {
37
+ /**
38
+ * Connection ID
39
+ */
40
+ id: string;
41
+
42
+ /**
43
+ * Creation timestamp
44
+ */
45
+ created_at: string;
46
+
47
+ /**
48
+ * Credential ID
49
+ */
50
+ credential_id: string;
51
+
52
+ /**
53
+ * Databases in this connection
54
+ */
55
+ databases: Array<Connection.Database>;
56
+
57
+ /**
58
+ * Connection name
59
+ */
60
+ name: string;
61
+
62
+ /**
63
+ * Last update timestamp
64
+ */
65
+ updated_at: string;
66
+
67
+ /**
68
+ * Warehouse-specific configuration
69
+ */
70
+ warehouse_metadata:
71
+ | Connection.SnowflakeMetadata
72
+ | Connection.PostgresqlMetadata
73
+ | Connection.DatabricksMetadata
74
+ | Connection.ClickhouseMetadata
75
+ | Connection.MssqlMetadata;
76
+
77
+ /**
78
+ * Warehouse type (snowflake, postgresql, etc.)
79
+ */
80
+ warehouse_type: string;
81
+
82
+ /**
83
+ * GitHub PR URL for approving the connection (None if already approved)
84
+ */
85
+ approval_pr_url?: string | null;
86
+
87
+ /**
88
+ * Connection description
89
+ */
90
+ description?: string | null;
91
+
92
+ /**
93
+ * True if this connection is awaiting PR approval
94
+ */
95
+ is_pending_approval?: boolean;
96
+
97
+ /**
98
+ * Human-readable label
99
+ */
100
+ label?: string | null;
101
+
102
+ /**
103
+ * Query timeout in seconds
104
+ */
105
+ query_timeout?: number | null;
106
+
107
+ /**
108
+ * Timezone conversion mode (do_not_convert, convert_to_utc)
109
+ */
110
+ query_timezone_conversion?: string | null;
111
+ }
112
+
113
+ export namespace Connection {
114
+ /**
115
+ * Database info from ConnectionSchema.
116
+ */
117
+ export interface Database {
118
+ /**
119
+ * Database ID
120
+ */
121
+ id: string;
122
+
123
+ /**
124
+ * Actual name of the database in the warehouse
125
+ */
126
+ database_object_name: string;
127
+
128
+ /**
129
+ * Database name
130
+ */
131
+ name: string;
132
+
133
+ /**
134
+ * Schemas in this database
135
+ */
136
+ schemas: Array<Database.Schema>;
137
+
138
+ /**
139
+ * Database description
140
+ */
141
+ description?: string | null;
142
+
143
+ /**
144
+ * Human-readable label
145
+ */
146
+ label?: string | null;
147
+
148
+ /**
149
+ * Timezone for the database
150
+ */
151
+ timezone?: string | null;
152
+ }
153
+
154
+ export namespace Database {
155
+ /**
156
+ * Schema info from ConnectionSchema.
157
+ */
158
+ export interface Schema {
159
+ /**
160
+ * Schema ID
161
+ */
162
+ id: string;
163
+
164
+ /**
165
+ * Actual name of the schema in the warehouse
166
+ */
167
+ database_object_name: string;
168
+
169
+ /**
170
+ * Schema name
171
+ */
172
+ name: string;
173
+
174
+ /**
175
+ * Schema description
176
+ */
177
+ description?: string | null;
178
+
179
+ /**
180
+ * Human-readable label
181
+ */
182
+ label?: string | null;
183
+ }
184
+ }
185
+
186
+ export interface SnowflakeMetadata {
187
+ /**
188
+ * Authentication method
189
+ */
190
+ auth_method: 'username_password' | 'key_pair';
191
+
192
+ /**
193
+ * Snowflake role
194
+ */
195
+ role: string;
196
+
197
+ /**
198
+ * Snowflake account identifier
199
+ */
200
+ snowflake_account_id: string;
201
+
202
+ /**
203
+ * Snowflake compute warehouse name
204
+ */
205
+ warehouse: string;
206
+
207
+ warehouse_type: 'snowflake';
208
+ }
209
+
210
+ export interface PostgresqlMetadata {
211
+ /**
212
+ * Database host address
213
+ */
214
+ host: string;
215
+
216
+ /**
217
+ * Database port (default: 5432)
218
+ */
219
+ port: number;
220
+
221
+ warehouse_type: 'postgresql';
222
+ }
223
+
224
+ export interface DatabricksMetadata {
225
+ /**
226
+ * Databricks SQL warehouse HTTP path
227
+ */
228
+ http_path: string;
229
+
230
+ /**
231
+ * Databricks server hostname
232
+ */
233
+ server_hostname: string;
234
+
235
+ warehouse_type: 'databricks';
236
+ }
237
+
238
+ export interface ClickhouseMetadata {
239
+ /**
240
+ * ClickHouse host address
241
+ */
242
+ host: string;
243
+
244
+ /**
245
+ * ClickHouse port (default: 8443)
246
+ */
247
+ port: number;
248
+
249
+ warehouse_type: 'clickhouse';
250
+ }
251
+
252
+ export interface MssqlMetadata {
253
+ /**
254
+ * SQL Server host address
255
+ */
256
+ host: string;
257
+
258
+ /**
259
+ * SQL Server port (default: 1433)
260
+ */
261
+ port: number;
262
+
263
+ warehouse_type: 'mssql';
264
+ }
265
+ }
266
+
267
+ export type ConnectionListConnectionsResponse = Array<Connection>;
268
+
269
+ export interface ConnectionListConnectionsParams {
270
+ status?: 'approved' | 'pending' | 'all';
271
+ }
272
+
273
+ export declare namespace Connections {
274
+ export {
275
+ type Connection as Connection,
276
+ type ConnectionListConnectionsResponse as ConnectionListConnectionsResponse,
277
+ type ConnectionListConnectionsParams as ConnectionListConnectionsParams,
278
+ };
279
+ }
@@ -3,50 +3,13 @@
3
3
  export {
4
4
  Connections,
5
5
  type Connection,
6
- type DatabaseConfig,
7
- type ConnectionListResponse,
8
- type ConnectionApproveSyncResponse,
9
- type ConnectionListSyncsResponse,
10
- type ConnectionRetrieveCredentialResponse,
11
- type ConnectionRetrieveSchemaResponse,
12
- type ConnectionRetrieveSyncStatusResponse,
13
- type ConnectionStreamSyncProgressResponse,
14
- type ConnectionSyncResponse,
15
- type ConnectionUpdateCredentialsResponse,
16
- type ConnectionCreateParams,
17
- type ConnectionUpdateParams,
18
- type ConnectionListParams,
19
- type ConnectionApproveSyncParams,
20
- type ConnectionListSyncsParams,
21
- type ConnectionRetrieveSyncStatusParams,
22
- type ConnectionStreamSyncProgressParams,
23
- type ConnectionUpdateCredentialsParams,
24
- } from './connections/index';
25
- export {
26
- GitHub,
27
- type GitHubCallbackResponse,
28
- type GitHubConnectResponse,
29
- type GitHubGetInstallationLinkResponse,
30
- type GitHubGetStatusResponse,
31
- type GitHubCallbackParams,
32
- type GitHubConnectParams,
33
- } from './github/index';
34
- export {
35
- Groups,
36
- type GroupDetail,
37
- type GroupListResponse,
38
- type GroupCreateParams,
39
- type GroupUpdateParams,
40
- } from './groups/index';
41
- export { Me, type ClientUser, type ClientUserRole } from './me';
42
- export { Org } from './org/index';
6
+ type ConnectionListConnectionsResponse,
7
+ type ConnectionListConnectionsParams,
8
+ } from './connections';
43
9
  export {
44
10
  Tenants,
45
- type CreateTenant,
46
- type Tenant,
47
- type TenantListResponse,
48
- type TenantRetrieveSchemaResponse,
49
- type TenantCreateParams,
50
- type TenantUpdateParams,
51
- } from './tenants/index';
11
+ type ImportTenantsResponse,
12
+ type TenantImportFromCsvParams,
13
+ type TenantImportFromWarehouseParams,
14
+ } from './tenants';
52
15
  export { V1 } from './v1';
@@ -1,3 +1,164 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- export * from './tenants/index';
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { type Uploadable } from '../../core/uploads';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+ import { multipartFormRequestOptions } from '../../internal/uploads';
8
+
9
+ export class Tenants extends APIResource {
10
+ /**
11
+ * Import tenants from a CSV file using upsert semantics.
12
+ *
13
+ * Expected CSV format:
14
+ *
15
+ * - tenant_key (required): Unique tenant identifier
16
+ * - tenant_name (optional): Human-readable name
17
+ * - group_names (optional): Comma-separated list of group names
18
+ *
19
+ * Creates new tenants and updates existing ones with new name/groups. Groups are
20
+ * added additively (not replaced) and auto-created if needed.
21
+ *
22
+ * RLS: Filtered to current client (ClientRLSDB).
23
+ *
24
+ * Raises: ValidationError: If CSV format is invalid (400)
25
+ * TenantCreationNotAllowedError: If tenancy type is NONE (400)
26
+ */
27
+ importFromCsv(
28
+ body: TenantImportFromCsvParams,
29
+ options?: RequestOptions,
30
+ ): APIPromise<ImportTenantsResponse> {
31
+ return this._client.post(
32
+ '/api/v1/tenants/import/csv',
33
+ multipartFormRequestOptions({ body, ...options }, this._client),
34
+ );
35
+ }
36
+
37
+ /**
38
+ * Import tenants from a warehouse table using upsert semantics.
39
+ *
40
+ * Creates new tenants and updates existing ones with new name/groups. Groups are
41
+ * added additively (not replaced).
42
+ *
43
+ * Streams data from the warehouse in batches to handle large datasets without
44
+ * loading everything into memory.
45
+ *
46
+ * For tenants with groups, groups are aggregated per tenant key and auto-created
47
+ * if they don't exist.
48
+ *
49
+ * RLS: Filtered to current client (ClientRLSDB).
50
+ *
51
+ * Raises: ConnectionNotFoundError: If the connection doesn't exist (404)
52
+ * TenantCreationNotAllowedError: If tenancy type is NONE (400)
53
+ */
54
+ importFromWarehouse(
55
+ body: TenantImportFromWarehouseParams,
56
+ options?: RequestOptions,
57
+ ): APIPromise<ImportTenantsResponse> {
58
+ return this._client.post('/api/v1/tenants/import/warehouse', { body, ...options });
59
+ }
60
+ }
61
+
62
+ /**
63
+ * Response model for tenant import operation.
64
+ */
65
+ export interface ImportTenantsResponse {
66
+ /**
67
+ * Unique tenant keys found in source
68
+ */
69
+ total_found: number;
70
+
71
+ /**
72
+ * New tenants created
73
+ */
74
+ total_imported: number;
75
+
76
+ /**
77
+ * Existing tenants updated
78
+ */
79
+ total_updated: number;
80
+
81
+ /**
82
+ * Tenant-specific errors
83
+ */
84
+ errors?: Array<ImportTenantsResponse.Error>;
85
+
86
+ /**
87
+ * Groups that were auto-created
88
+ */
89
+ groups_created?: Array<string>;
90
+ }
91
+
92
+ export namespace ImportTenantsResponse {
93
+ /**
94
+ * Error for a single tenant during import.
95
+ */
96
+ export interface Error {
97
+ /**
98
+ * Error code
99
+ */
100
+ code: string;
101
+
102
+ /**
103
+ * Error message
104
+ */
105
+ message: string;
106
+
107
+ /**
108
+ * Tenant key that failed
109
+ */
110
+ tenant_key: string;
111
+ }
112
+ }
113
+
114
+ export interface TenantImportFromCsvParams {
115
+ /**
116
+ * CSV file with tenant data
117
+ */
118
+ file: Uploadable;
119
+ }
120
+
121
+ export interface TenantImportFromWarehouseParams {
122
+ /**
123
+ * Warehouse connection ID to query
124
+ */
125
+ connection_id: string;
126
+
127
+ /**
128
+ * Database name containing the tenant table
129
+ */
130
+ database: string;
131
+
132
+ /**
133
+ * Schema name containing the tenant table
134
+ */
135
+ schema: string;
136
+
137
+ /**
138
+ * Table name containing tenant data
139
+ */
140
+ table: string;
141
+
142
+ /**
143
+ * Column name for tenant key
144
+ */
145
+ tenant_key_column: string;
146
+
147
+ /**
148
+ * Column name for tenant group (optional)
149
+ */
150
+ tenant_group_column?: string | null;
151
+
152
+ /**
153
+ * Column name for tenant display name (optional)
154
+ */
155
+ tenant_name_column?: string | null;
156
+ }
157
+
158
+ export declare namespace Tenants {
159
+ export {
160
+ type ImportTenantsResponse as ImportTenantsResponse,
161
+ type TenantImportFromCsvParams as TenantImportFromCsvParams,
162
+ type TenantImportFromWarehouseParams as TenantImportFromWarehouseParams,
163
+ };
164
+ }
@@ -1,131 +1,41 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../../core/resource';
4
- import * as MeAPI from './me';
5
- import { ClientUser, ClientUserRole, Me } from './me';
6
- import * as ConnectionsAPI from './connections/connections';
4
+ import * as ConnectionsAPI from './connections';
7
5
  import {
8
6
  Connection,
9
- ConnectionApproveSyncParams,
10
- ConnectionApproveSyncResponse,
11
- ConnectionCreateParams,
12
- ConnectionListParams,
13
- ConnectionListResponse,
14
- ConnectionListSyncsParams,
15
- ConnectionListSyncsResponse,
16
- ConnectionRetrieveCredentialResponse,
17
- ConnectionRetrieveSchemaResponse,
18
- ConnectionRetrieveSyncStatusParams,
19
- ConnectionRetrieveSyncStatusResponse,
20
- ConnectionStreamSyncProgressParams,
21
- ConnectionStreamSyncProgressResponse,
22
- ConnectionSyncResponse,
23
- ConnectionUpdateCredentialsParams,
24
- ConnectionUpdateCredentialsResponse,
25
- ConnectionUpdateParams,
7
+ ConnectionListConnectionsParams,
8
+ ConnectionListConnectionsResponse,
26
9
  Connections,
27
- DatabaseConfig,
28
- } from './connections/connections';
29
- import * as GitHubAPI from './github/github';
10
+ } from './connections';
11
+ import * as TenantsAPI from './tenants';
30
12
  import {
31
- GitHub,
32
- GitHubCallbackParams,
33
- GitHubCallbackResponse,
34
- GitHubConnectParams,
35
- GitHubConnectResponse,
36
- GitHubGetInstallationLinkResponse,
37
- GitHubGetStatusResponse,
38
- } from './github/github';
39
- import * as GroupsAPI from './groups/groups';
40
- import {
41
- GroupCreateParams,
42
- GroupDetail,
43
- GroupListResponse,
44
- GroupUpdateParams,
45
- Groups,
46
- } from './groups/groups';
47
- import * as OrgAPI from './org/org';
48
- import { Org } from './org/org';
49
- import * as TenantsAPI from './tenants/tenants';
50
- import {
51
- CreateTenant,
52
- Tenant,
53
- TenantCreateParams,
54
- TenantListResponse,
55
- TenantRetrieveSchemaResponse,
56
- TenantUpdateParams,
13
+ ImportTenantsResponse,
14
+ TenantImportFromCsvParams,
15
+ TenantImportFromWarehouseParams,
57
16
  Tenants,
58
- } from './tenants/tenants';
17
+ } from './tenants';
59
18
 
60
19
  export class V1 extends APIResource {
61
20
  connections: ConnectionsAPI.Connections = new ConnectionsAPI.Connections(this._client);
62
- github: GitHubAPI.GitHub = new GitHubAPI.GitHub(this._client);
63
- groups: GroupsAPI.Groups = new GroupsAPI.Groups(this._client);
64
- me: MeAPI.Me = new MeAPI.Me(this._client);
65
- org: OrgAPI.Org = new OrgAPI.Org(this._client);
66
21
  tenants: TenantsAPI.Tenants = new TenantsAPI.Tenants(this._client);
67
22
  }
68
23
 
69
24
  V1.Connections = Connections;
70
- V1.GitHub = GitHub;
71
- V1.Groups = Groups;
72
- V1.Me = Me;
73
- V1.Org = Org;
74
25
  V1.Tenants = Tenants;
75
26
 
76
27
  export declare namespace V1 {
77
28
  export {
78
29
  Connections as Connections,
79
30
  type Connection as Connection,
80
- type DatabaseConfig as DatabaseConfig,
81
- type ConnectionListResponse as ConnectionListResponse,
82
- type ConnectionApproveSyncResponse as ConnectionApproveSyncResponse,
83
- type ConnectionListSyncsResponse as ConnectionListSyncsResponse,
84
- type ConnectionRetrieveCredentialResponse as ConnectionRetrieveCredentialResponse,
85
- type ConnectionRetrieveSchemaResponse as ConnectionRetrieveSchemaResponse,
86
- type ConnectionRetrieveSyncStatusResponse as ConnectionRetrieveSyncStatusResponse,
87
- type ConnectionStreamSyncProgressResponse as ConnectionStreamSyncProgressResponse,
88
- type ConnectionSyncResponse as ConnectionSyncResponse,
89
- type ConnectionUpdateCredentialsResponse as ConnectionUpdateCredentialsResponse,
90
- type ConnectionCreateParams as ConnectionCreateParams,
91
- type ConnectionUpdateParams as ConnectionUpdateParams,
92
- type ConnectionListParams as ConnectionListParams,
93
- type ConnectionApproveSyncParams as ConnectionApproveSyncParams,
94
- type ConnectionListSyncsParams as ConnectionListSyncsParams,
95
- type ConnectionRetrieveSyncStatusParams as ConnectionRetrieveSyncStatusParams,
96
- type ConnectionStreamSyncProgressParams as ConnectionStreamSyncProgressParams,
97
- type ConnectionUpdateCredentialsParams as ConnectionUpdateCredentialsParams,
98
- };
99
-
100
- export {
101
- GitHub as GitHub,
102
- type GitHubCallbackResponse as GitHubCallbackResponse,
103
- type GitHubConnectResponse as GitHubConnectResponse,
104
- type GitHubGetInstallationLinkResponse as GitHubGetInstallationLinkResponse,
105
- type GitHubGetStatusResponse as GitHubGetStatusResponse,
106
- type GitHubCallbackParams as GitHubCallbackParams,
107
- type GitHubConnectParams as GitHubConnectParams,
31
+ type ConnectionListConnectionsResponse as ConnectionListConnectionsResponse,
32
+ type ConnectionListConnectionsParams as ConnectionListConnectionsParams,
108
33
  };
109
34
 
110
- export {
111
- Groups as Groups,
112
- type GroupDetail as GroupDetail,
113
- type GroupListResponse as GroupListResponse,
114
- type GroupCreateParams as GroupCreateParams,
115
- type GroupUpdateParams as GroupUpdateParams,
116
- };
117
-
118
- export { Me as Me, type ClientUser as ClientUser, type ClientUserRole as ClientUserRole };
119
-
120
- export { Org as Org };
121
-
122
35
  export {
123
36
  Tenants as Tenants,
124
- type CreateTenant as CreateTenant,
125
- type Tenant as Tenant,
126
- type TenantListResponse as TenantListResponse,
127
- type TenantRetrieveSchemaResponse as TenantRetrieveSchemaResponse,
128
- type TenantCreateParams as TenantCreateParams,
129
- type TenantUpdateParams as TenantUpdateParams,
37
+ type ImportTenantsResponse as ImportTenantsResponse,
38
+ type TenantImportFromCsvParams as TenantImportFromCsvParams,
39
+ type TenantImportFromWarehouseParams as TenantImportFromWarehouseParams,
130
40
  };
131
41
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.6.0'; // x-release-please-version
1
+ export const VERSION = '0.7.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.6.0";
1
+ export declare const VERSION = "0.7.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.6.0";
1
+ export declare const VERSION = "0.7.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.6.0'; // x-release-please-version
4
+ exports.VERSION = '0.7.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.6.0'; // x-release-please-version
1
+ export const VERSION = '0.7.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map
@@ -1,16 +0,0 @@
1
- import { APIResource } from "../core/resource.mjs";
2
- import { APIPromise } from "../core/api-promise.mjs";
3
- import { RequestOptions } from "../internal/request-options.mjs";
4
- export declare class Healthz extends APIResource {
5
- /**
6
- * Returns 200 if the service is alive. Used by Kubernetes liveness probe.
7
- */
8
- check(options?: RequestOptions): APIPromise<HealthzCheckResponse>;
9
- }
10
- export type HealthzCheckResponse = {
11
- [key: string]: string;
12
- };
13
- export declare namespace Healthz {
14
- export { type HealthzCheckResponse as HealthzCheckResponse };
15
- }
16
- //# sourceMappingURL=healthz.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"healthz.d.mts","sourceRoot":"","sources":["../src/resources/healthz.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAE;AAEzB,qBAAa,OAAQ,SAAQ,WAAW;IACtC;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC;CAGlE;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE7D,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,OAAO,EAAE,KAAK,oBAAoB,IAAI,oBAAoB,EAAE,CAAC;CAC9D"}