@taruvi/sdk 1.5.0 → 1.5.1

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 (229) hide show
  1. package/README.md +60 -1289
  2. package/dist/client.d.ts +27 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/{src/client.ts → dist/client.js} +30 -48
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +28 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +20 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/lib/analytics/AnalyticsClient.d.ts +9 -0
  11. package/dist/lib/analytics/AnalyticsClient.d.ts.map +1 -0
  12. package/dist/lib/analytics/AnalyticsClient.js +17 -0
  13. package/dist/lib/analytics/AnalyticsClient.js.map +1 -0
  14. package/dist/lib/analytics/types.d.ts +6 -0
  15. package/dist/lib/analytics/types.d.ts.map +1 -0
  16. package/dist/lib/analytics/types.js +2 -0
  17. package/dist/lib/analytics/types.js.map +1 -0
  18. package/dist/lib/app/AppClient.d.ts +15 -0
  19. package/dist/lib/app/AppClient.d.ts.map +1 -0
  20. package/dist/lib/app/AppClient.js +41 -0
  21. package/dist/lib/app/AppClient.js.map +1 -0
  22. package/dist/lib/app/types.d.ts +41 -0
  23. package/dist/lib/app/types.d.ts.map +1 -0
  24. package/dist/lib/app/types.js +2 -0
  25. package/dist/lib/app/types.js.map +1 -0
  26. package/dist/lib/auth/AuthClient.d.ts +47 -0
  27. package/dist/lib/auth/AuthClient.d.ts.map +1 -0
  28. package/{src/lib/auth/AuthClient.ts → dist/lib/auth/AuthClient.js} +58 -79
  29. package/dist/lib/auth/AuthClient.js.map +1 -0
  30. package/dist/lib/database/DatabaseClient.d.ts +76 -0
  31. package/dist/lib/database/DatabaseClient.d.ts.map +1 -0
  32. package/dist/lib/database/DatabaseClient.js +250 -0
  33. package/dist/lib/database/DatabaseClient.js.map +1 -0
  34. package/dist/lib/database/types.d.ts +66 -0
  35. package/dist/lib/database/types.d.ts.map +1 -0
  36. package/dist/lib/database/types.js +20 -0
  37. package/dist/lib/database/types.js.map +1 -0
  38. package/dist/lib/functions/FunctionsClient.d.ts +9 -0
  39. package/dist/lib/functions/FunctionsClient.d.ts.map +1 -0
  40. package/dist/lib/functions/FunctionsClient.js +20 -0
  41. package/dist/lib/functions/FunctionsClient.js.map +1 -0
  42. package/dist/lib/functions/types.d.ts +25 -0
  43. package/dist/lib/functions/types.d.ts.map +1 -0
  44. package/dist/lib/functions/types.js +2 -0
  45. package/dist/lib/functions/types.js.map +1 -0
  46. package/dist/lib/policy/PolicyClient.d.ts +25 -0
  47. package/dist/lib/policy/PolicyClient.d.ts.map +1 -0
  48. package/{src/lib/policy/PolicyClient.ts → dist/lib/policy/PolicyClient.js} +26 -40
  49. package/dist/lib/policy/PolicyClient.js.map +1 -0
  50. package/dist/lib/policy/types.d.ts +32 -0
  51. package/dist/lib/policy/types.d.ts.map +1 -0
  52. package/dist/lib/policy/types.js +2 -0
  53. package/dist/lib/policy/types.js.map +1 -0
  54. package/dist/lib/secrets/SecretsClient.d.ts +29 -0
  55. package/dist/lib/secrets/SecretsClient.d.ts.map +1 -0
  56. package/dist/lib/secrets/SecretsClient.js +66 -0
  57. package/dist/lib/secrets/SecretsClient.js.map +1 -0
  58. package/dist/lib/secrets/types.d.ts +43 -0
  59. package/dist/lib/secrets/types.d.ts.map +1 -0
  60. package/dist/lib/secrets/types.js +2 -0
  61. package/dist/lib/secrets/types.js.map +1 -0
  62. package/dist/lib/settings/SettingsClient.d.ts +9 -0
  63. package/dist/lib/settings/SettingsClient.d.ts.map +1 -0
  64. package/dist/lib/settings/SettingsClient.js +17 -0
  65. package/dist/lib/settings/SettingsClient.js.map +1 -0
  66. package/dist/lib/settings/types.d.ts +6 -0
  67. package/dist/lib/settings/types.d.ts.map +1 -0
  68. package/dist/lib/settings/types.js +2 -0
  69. package/dist/lib/settings/types.js.map +1 -0
  70. package/dist/lib/storage/StorageClient.d.ts +38 -0
  71. package/dist/lib/storage/StorageClient.d.ts.map +1 -0
  72. package/dist/lib/storage/StorageClient.js +102 -0
  73. package/dist/lib/storage/StorageClient.js.map +1 -0
  74. package/dist/lib/storage/types.d.ts +73 -0
  75. package/dist/lib/storage/types.d.ts.map +1 -0
  76. package/dist/lib/storage/types.js +2 -0
  77. package/dist/lib/storage/types.js.map +1 -0
  78. package/dist/lib/users/UserClient.d.ts +17 -0
  79. package/dist/lib/users/UserClient.d.ts.map +1 -0
  80. package/dist/lib/users/UserClient.js +40 -0
  81. package/dist/lib/users/UserClient.js.map +1 -0
  82. package/dist/lib/users/types.d.ts +108 -0
  83. package/dist/lib/users/types.d.ts.map +1 -0
  84. package/dist/lib/users/types.js +2 -0
  85. package/dist/lib/users/types.js.map +1 -0
  86. package/dist/lib-internal/errors/ErrorClient.d.ts +42 -0
  87. package/dist/lib-internal/errors/ErrorClient.d.ts.map +1 -0
  88. package/dist/lib-internal/errors/ErrorClient.js +102 -0
  89. package/dist/lib-internal/errors/ErrorClient.js.map +1 -0
  90. package/dist/lib-internal/errors/index.d.ts +4 -0
  91. package/dist/lib-internal/errors/index.d.ts.map +1 -0
  92. package/dist/lib-internal/errors/index.js +3 -0
  93. package/dist/lib-internal/errors/index.js.map +1 -0
  94. package/dist/lib-internal/errors/types.d.ts +29 -0
  95. package/dist/lib-internal/errors/types.d.ts.map +1 -0
  96. package/dist/lib-internal/errors/types.js +18 -0
  97. package/dist/lib-internal/errors/types.js.map +1 -0
  98. package/dist/lib-internal/http/HttpClient.d.ts +24 -0
  99. package/dist/lib-internal/http/HttpClient.d.ts.map +1 -0
  100. package/dist/lib-internal/http/HttpClient.js +103 -0
  101. package/dist/lib-internal/http/HttpClient.js.map +1 -0
  102. package/dist/lib-internal/http/types.d.ts +12 -0
  103. package/dist/lib-internal/http/types.d.ts.map +1 -0
  104. package/{src/lib-internal/http/types.ts → dist/lib-internal/http/types.js} +2 -3
  105. package/dist/lib-internal/http/types.js.map +1 -0
  106. package/dist/lib-internal/routes/AnalyticsRoutes.d.ts +4 -0
  107. package/dist/lib-internal/routes/AnalyticsRoutes.d.ts.map +1 -0
  108. package/dist/lib-internal/routes/AnalyticsRoutes.js +4 -0
  109. package/dist/lib-internal/routes/AnalyticsRoutes.js.map +1 -0
  110. package/dist/lib-internal/routes/AppRoutes.d.ts +10 -0
  111. package/dist/lib-internal/routes/AppRoutes.d.ts.map +1 -0
  112. package/dist/lib-internal/routes/AppRoutes.js +6 -0
  113. package/dist/lib-internal/routes/AppRoutes.js.map +1 -0
  114. package/dist/lib-internal/routes/AuthRoutes.d.ts +4 -0
  115. package/dist/lib-internal/routes/AuthRoutes.d.ts.map +1 -0
  116. package/{src/lib-internal/routes/AuthRoutes.ts → dist/lib-internal/routes/AuthRoutes.js} +2 -1
  117. package/dist/lib-internal/routes/AuthRoutes.js.map +1 -0
  118. package/dist/lib-internal/routes/DatabaseRoutes.d.ts +11 -0
  119. package/dist/lib-internal/routes/DatabaseRoutes.d.ts.map +1 -0
  120. package/dist/lib-internal/routes/DatabaseRoutes.js +7 -0
  121. package/dist/lib-internal/routes/DatabaseRoutes.js.map +1 -0
  122. package/dist/lib-internal/routes/FunctionRoutes.d.ts +4 -0
  123. package/dist/lib-internal/routes/FunctionRoutes.d.ts.map +1 -0
  124. package/dist/lib-internal/routes/FunctionRoutes.js +4 -0
  125. package/dist/lib-internal/routes/FunctionRoutes.js.map +1 -0
  126. package/dist/lib-internal/routes/PolicyRoutes.d.ts +5 -0
  127. package/dist/lib-internal/routes/PolicyRoutes.d.ts.map +1 -0
  128. package/dist/lib-internal/routes/PolicyRoutes.js +5 -0
  129. package/dist/lib-internal/routes/PolicyRoutes.js.map +1 -0
  130. package/dist/lib-internal/routes/SecretsRoutes.d.ts +6 -0
  131. package/dist/lib-internal/routes/SecretsRoutes.d.ts.map +1 -0
  132. package/dist/lib-internal/routes/SecretsRoutes.js +6 -0
  133. package/dist/lib-internal/routes/SecretsRoutes.js.map +1 -0
  134. package/dist/lib-internal/routes/SettingsRoutes.d.ts +5 -0
  135. package/dist/lib-internal/routes/SettingsRoutes.d.ts.map +1 -0
  136. package/{src/lib-internal/routes/SettingsRoutes.ts → dist/lib-internal/routes/SettingsRoutes.js} +2 -1
  137. package/dist/lib-internal/routes/SettingsRoutes.js.map +1 -0
  138. package/dist/lib-internal/routes/StorageRoutes.d.ts +11 -0
  139. package/dist/lib-internal/routes/StorageRoutes.d.ts.map +1 -0
  140. package/dist/lib-internal/routes/StorageRoutes.js +8 -0
  141. package/dist/lib-internal/routes/StorageRoutes.js.map +1 -0
  142. package/dist/lib-internal/routes/UserRoutes.d.ts +13 -0
  143. package/dist/lib-internal/routes/UserRoutes.d.ts.map +1 -0
  144. package/dist/lib-internal/routes/UserRoutes.js +13 -0
  145. package/dist/lib-internal/routes/UserRoutes.js.map +1 -0
  146. package/dist/lib-internal/routes/index.d.ts +2 -0
  147. package/dist/lib-internal/routes/index.d.ts.map +1 -0
  148. package/dist/lib-internal/routes/index.js +2 -0
  149. package/dist/lib-internal/routes/index.js.map +1 -0
  150. package/dist/lib-internal/token/TokenClient.d.ts +38 -0
  151. package/dist/lib-internal/token/TokenClient.d.ts.map +1 -0
  152. package/{src/lib-internal/token/TokenClient.ts → dist/lib-internal/token/TokenClient.js} +44 -59
  153. package/dist/lib-internal/token/TokenClient.js.map +1 -0
  154. package/dist/lib-internal/token/types.d.ts +2 -0
  155. package/dist/lib-internal/token/types.d.ts.map +1 -0
  156. package/dist/lib-internal/token/types.js +2 -0
  157. package/dist/lib-internal/token/types.js.map +1 -0
  158. package/dist/types.d.ts +74 -0
  159. package/dist/types.d.ts.map +1 -0
  160. package/dist/types.js +2 -0
  161. package/dist/types.js.map +1 -0
  162. package/dist/utils/enums.d.ts +31 -0
  163. package/dist/utils/enums.d.ts.map +1 -0
  164. package/dist/utils/enums.js +26 -0
  165. package/dist/utils/enums.js.map +1 -0
  166. package/dist/utils/utils.d.ts +6 -0
  167. package/dist/utils/utils.d.ts.map +1 -0
  168. package/dist/utils/utils.js +38 -0
  169. package/dist/utils/utils.js.map +1 -0
  170. package/package.json +11 -2
  171. package/.github/worflows/publish.yml +0 -57
  172. package/.github/workflows/publish.yml +0 -58
  173. package/.kiro/settings/lsp.json +0 -198
  174. package/MODULE_NAMING_CHANGES.md +0 -81
  175. package/PARAMETER_NAMING_CHANGES.md +0 -106
  176. package/USAGE_EXAMPLE.md +0 -86
  177. package/src/index.ts +0 -50
  178. package/src/lib/analytics/AnalyticsClient.ts +0 -24
  179. package/src/lib/analytics/types.ts +0 -8
  180. package/src/lib/app/AppClient.ts +0 -54
  181. package/src/lib/app/types.ts +0 -50
  182. package/src/lib/auth/types.ts +0 -123
  183. package/src/lib/database/DatabaseClient.ts +0 -244
  184. package/src/lib/database/types.ts +0 -90
  185. package/src/lib/functions/FunctionsClient.ts +0 -27
  186. package/src/lib/functions/types.ts +0 -27
  187. package/src/lib/policy/types.ts +0 -39
  188. package/src/lib/secrets/SecretsClient.ts +0 -75
  189. package/src/lib/secrets/types.ts +0 -59
  190. package/src/lib/settings/SettingsClient.ts +0 -22
  191. package/src/lib/settings/types.ts +0 -9
  192. package/src/lib/storage/StorageClient.ts +0 -131
  193. package/src/lib/storage/types.ts +0 -86
  194. package/src/lib/users/UserClient.ts +0 -63
  195. package/src/lib/users/types.ts +0 -123
  196. package/src/lib-internal/errors/ErrorClient.ts +0 -114
  197. package/src/lib-internal/errors/index.ts +0 -3
  198. package/src/lib-internal/errors/types.ts +0 -29
  199. package/src/lib-internal/http/HttpClient.ts +0 -117
  200. package/src/lib-internal/routes/AnalyticsRoutes.ts +0 -3
  201. package/src/lib-internal/routes/AppRoutes.ts +0 -9
  202. package/src/lib-internal/routes/DatabaseRoutes.ts +0 -10
  203. package/src/lib-internal/routes/FunctionRoutes.ts +0 -3
  204. package/src/lib-internal/routes/PolicyRoutes.ts +0 -4
  205. package/src/lib-internal/routes/SecretsRoutes.ts +0 -5
  206. package/src/lib-internal/routes/StorageRoutes.ts +0 -15
  207. package/src/lib-internal/routes/UserRoutes.ts +0 -12
  208. package/src/lib-internal/routes/index.ts +0 -0
  209. package/src/lib-internal/token/types.ts +0 -0
  210. package/src/types.ts +0 -98
  211. package/src/utils/enums.ts +0 -24
  212. package/src/utils/utils.ts +0 -37
  213. package/tests/fixtures/mockClient.ts +0 -19
  214. package/tests/mocks/db.json +0 -1
  215. package/tests/unit/analytics/AnalyticsClient.test.ts +0 -84
  216. package/tests/unit/app/AppClient.test.ts +0 -114
  217. package/tests/unit/auth/AuthClient.test.ts +0 -91
  218. package/tests/unit/client/Client.test.ts +0 -87
  219. package/tests/unit/database/DatabaseClient.test.ts +0 -565
  220. package/tests/unit/edge-cases/robustness.test.ts +0 -258
  221. package/tests/unit/errors/errors.test.ts +0 -236
  222. package/tests/unit/functions/FunctionsClient.test.ts +0 -99
  223. package/tests/unit/policy/PolicyClient.test.ts +0 -180
  224. package/tests/unit/secrets/SecretsClient.test.ts +0 -146
  225. package/tests/unit/settings/SettingsClient.test.ts +0 -50
  226. package/tests/unit/storage/StorageClient.test.ts +0 -252
  227. package/tests/unit/users/UserClient.test.ts +0 -150
  228. package/tsconfig.json +0 -44
  229. package/vitest.config.ts +0 -7
@@ -0,0 +1,102 @@
1
+ import { StorageRoutes } from "../../lib-internal/routes/StorageRoutes.js";
2
+ import { HttpMethod } from "../../lib-internal/http/types.js";
3
+ import { buildQueryString } from "../../utils/utils.js";
4
+ export class Storage {
5
+ client;
6
+ config;
7
+ urlParams;
8
+ operation;
9
+ body;
10
+ filters;
11
+ queryParams;
12
+ constructor(client, urlParams = {}, operation, body, filters, queryParams) {
13
+ this.client = client;
14
+ this.urlParams = urlParams;
15
+ this.operation = operation;
16
+ this.config = this.client.getConfig();
17
+ this.body = body;
18
+ this.filters = filters;
19
+ this.queryParams = queryParams;
20
+ }
21
+ from(bucket) {
22
+ return new Storage(this.client, { ...this.urlParams, bucket }, undefined, undefined);
23
+ }
24
+ getUrl(path) {
25
+ if (!this.urlParams.bucket)
26
+ throw new Error('Bucket is required. Call .from(bucketName) first.');
27
+ return `${this.config.apiUrl}/${StorageRoutes.baseUrl(this.config.appSlug, this.urlParams.bucket)}${StorageRoutes.path(path)}/`;
28
+ }
29
+ filter(filters) {
30
+ return new Storage(this.client, { ...this.urlParams }, undefined, undefined, filters);
31
+ }
32
+ delete(paths) {
33
+ return new Storage(this.client, {
34
+ ...this.urlParams, delete: "delete"
35
+ }, HttpMethod.POST, { paths });
36
+ }
37
+ update(path, body) {
38
+ return new Storage(this.client, { ...this.urlParams, path }, HttpMethod.PUT, body);
39
+ }
40
+ download(path) {
41
+ return new Storage(this.client, { ...this.urlParams, path }, HttpMethod.GET);
42
+ }
43
+ metadata(path) {
44
+ return new Storage(this.client, { ...this.urlParams, path }, HttpMethod.GET, undefined, undefined, { metadata: 'true' });
45
+ }
46
+ upload(filesData) {
47
+ const formData = new FormData();
48
+ filesData.files.forEach(f => formData.append('files', f));
49
+ formData.append('paths', JSON.stringify(filesData.paths));
50
+ formData.append('metadata', JSON.stringify(filesData.metadatas));
51
+ return new Storage(this.client, {
52
+ ...this.urlParams, upload: "upload"
53
+ }, HttpMethod.POST, formData);
54
+ }
55
+ buildRoute() {
56
+ if (!this.urlParams.bucket) {
57
+ throw new Error('Bucket is required. Call .from(bucketName) first.');
58
+ }
59
+ return (StorageRoutes.baseUrl(this.config.appSlug, this.urlParams.bucket) +
60
+ Object.keys(this.urlParams).reduce((acc, key) => {
61
+ const value = this.urlParams[key];
62
+ if (!value)
63
+ return acc;
64
+ if (key === 'path' && typeof value === 'string') {
65
+ acc += StorageRoutes.path(value);
66
+ }
67
+ if ((key === 'upload' || key === 'delete') && typeof StorageRoutes[key] === 'function') {
68
+ acc += StorageRoutes[key]();
69
+ }
70
+ return acc;
71
+ }, '') +
72
+ '/' +
73
+ buildQueryString({ ...this.filters, ...this.queryParams }));
74
+ }
75
+ /**
76
+ * Execute the storage operation.
77
+ * Returns different types based on the operation:
78
+ * - List files: StorageListResponse[]
79
+ * - Download: Blob
80
+ * - Upload: StorageUploadBatchResponse
81
+ * - Delete: StorageDeleteBatchResponse
82
+ * - Update: StorageResponse
83
+ */
84
+ async execute() {
85
+ const url = this.buildRoute();
86
+ const operation = this.operation || HttpMethod.GET;
87
+ switch (operation) {
88
+ case HttpMethod.POST:
89
+ return await this.client.httpClient.post(url, this.body);
90
+ case HttpMethod.PUT:
91
+ return await this.client.httpClient.put(url, this.body);
92
+ case HttpMethod.DELETE:
93
+ return await this.client.httpClient.delete(url);
94
+ case HttpMethod.GET:
95
+ default: {
96
+ const isDownload = this.urlParams.path && !this.queryParams?.metadata;
97
+ return await this.client.httpClient.get(url, isDownload ? { responseType: 'blob' } : undefined);
98
+ }
99
+ }
100
+ }
101
+ }
102
+ //# sourceMappingURL=StorageClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageClient.js","sourceRoot":"","sources":["../../../src/lib/storage/StorageClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { TaruviResponse } from "../../types.js";
2
+ export interface BucketUrlParams {
3
+ appSlug?: string;
4
+ bucket?: string;
5
+ path?: string;
6
+ upload?: string;
7
+ delete?: string;
8
+ }
9
+ export interface BucketFileUpload {
10
+ files: [];
11
+ path: string;
12
+ metadata?: Record<string, unknown>;
13
+ }
14
+ export interface StorageRequest {
15
+ files: File[];
16
+ paths: string[];
17
+ metadatas: object[];
18
+ }
19
+ export interface StorageUpdateRequest {
20
+ metadata?: Record<string, unknown>;
21
+ visibility?: 'public' | 'private';
22
+ }
23
+ export interface StorageObject {
24
+ id: number;
25
+ uuid: string;
26
+ bucket?: number;
27
+ bucket_slug?: string;
28
+ bucket_name?: string;
29
+ filename: string;
30
+ file_path: string;
31
+ file_url: string;
32
+ size: number;
33
+ mimetype: string;
34
+ metadata?: Record<string, unknown>;
35
+ visibility?: string;
36
+ created_at: string;
37
+ updated_at: string;
38
+ created_by?: string;
39
+ modified_by?: string;
40
+ }
41
+ export type StorageResponse = TaruviResponse<StorageObject>;
42
+ export type StorageListResponse = TaruviResponse<StorageObject[]>;
43
+ export interface StorageUploadBatchResponse {
44
+ status: "success" | "error";
45
+ message: string;
46
+ data: {
47
+ uploaded_count: number;
48
+ failed_count: number;
49
+ total: number;
50
+ successful: Array<{
51
+ index: number;
52
+ path: string;
53
+ object: StorageObject;
54
+ }>;
55
+ failed: Array<{
56
+ index: number;
57
+ path: string;
58
+ error: string;
59
+ }>;
60
+ };
61
+ }
62
+ export interface StorageDeleteBatchResponse {
63
+ status: "success" | "error";
64
+ message: string;
65
+ data: {
66
+ deleted_count: number;
67
+ failed: Array<{
68
+ path: string;
69
+ error: string;
70
+ }>;
71
+ };
72
+ }
73
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGpD,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,EAAE,CAAA;IACT,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAGD,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CACpC;AAGD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAGD,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;AAC3D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,CAAA;AAGjE,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACF,cAAc,EAAE,MAAM,CAAA;QACtB,YAAY,EAAE,MAAM,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,KAAK,CAAC;YACd,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,aAAa,CAAA;SACxB,CAAC,CAAA;QACF,MAAM,EAAE,KAAK,CAAC;YACV,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;SAChB,CAAC,CAAA;KACL,CAAA;CACJ;AAGD,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACF,aAAa,EAAE,MAAM,CAAA;QACrB,MAAM,EAAE,KAAK,CAAC;YACV,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;SAChB,CAAC,CAAA;KACL,CAAA;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/storage/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { Client } from "../../client.js";
2
+ import type { UserCreateRequest, UserResponse, UserListResponse, UserListFilters, UserUpdateRequest, UserAppsResponse, AssignRolesRequest, RevokeRolesRequest, RolesResponse, UserPreferencesResponse, UserPreferencesUpdate } from "./types.js";
3
+ export declare class User {
4
+ private client;
5
+ constructor(client: Client);
6
+ updateUser(username: string, body: UserUpdateRequest): Promise<UserResponse>;
7
+ getUser(username: string): Promise<UserResponse>;
8
+ list(filters?: UserListFilters): Promise<UserListResponse>;
9
+ getUserApps(username: string): Promise<UserAppsResponse>;
10
+ createUser(userData: UserCreateRequest): Promise<UserResponse>;
11
+ deleteUser(username: string): Promise<void>;
12
+ assignRoles(request: AssignRolesRequest): Promise<RolesResponse>;
13
+ revokeRoles(request: RevokeRolesRequest): Promise<RolesResponse>;
14
+ getPreferences(): Promise<UserPreferencesResponse>;
15
+ updatePreferences(body: UserPreferencesUpdate): Promise<UserPreferencesResponse>;
16
+ }
17
+ //# sourceMappingURL=UserClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserClient.d.ts","sourceRoot":"","sources":["../../../src/lib/users/UserClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKjP,qBAAa,IAAI;IACb,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAIpB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5E,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhD,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK1D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIxD,UAAU,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAO9D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAOhE,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAOhE,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAIlD,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGzF"}
@@ -0,0 +1,40 @@
1
+ import { UserRoutes } from "../../lib-internal/routes/UserRoutes.js";
2
+ import { buildQueryString } from "../../utils/utils.js";
3
+ export class User {
4
+ client;
5
+ constructor(client) {
6
+ this.client = client;
7
+ }
8
+ async updateUser(username, body) {
9
+ return await this.client.httpClient.put(UserRoutes.updateUser(username), body);
10
+ }
11
+ async getUser(username) {
12
+ return await this.client.httpClient.get(UserRoutes.getUser(username));
13
+ }
14
+ async list(filters) {
15
+ const queryString = buildQueryString(filters);
16
+ return await this.client.httpClient.get(UserRoutes.listUser(queryString));
17
+ }
18
+ async getUserApps(username) {
19
+ return await this.client.httpClient.get(UserRoutes.getUserApps(username));
20
+ }
21
+ async createUser(userData) {
22
+ return await this.client.httpClient.post(UserRoutes.baseUrl, userData);
23
+ }
24
+ async deleteUser(username) {
25
+ return await this.client.httpClient.delete(UserRoutes.deleteUser(username));
26
+ }
27
+ async assignRoles(request) {
28
+ return await this.client.httpClient.post(UserRoutes.assignRoles(), request);
29
+ }
30
+ async revokeRoles(request) {
31
+ return await this.client.httpClient.delete(UserRoutes.revokeRoles(), request);
32
+ }
33
+ async getPreferences() {
34
+ return await this.client.httpClient.get(UserRoutes.preferences());
35
+ }
36
+ async updatePreferences(body) {
37
+ return await this.client.httpClient.put(UserRoutes.preferences(), body);
38
+ }
39
+ }
40
+ //# sourceMappingURL=UserClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserClient.js","sourceRoot":"","sources":["../../../src/lib/users/UserClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,MAAM,OAAO,IAAI;IACL,MAAM,CAAQ;IAEtB,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,IAAuB;QACtD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC1B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAe,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAyB;QAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAA6C,CAAC,CAAA;QACnF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAmB,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAC9B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAmB,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA2B;QACxC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CACpC,UAAU,CAAC,OAAO,EAClB,QAAQ,CACX,CAAA;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC7B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B;QACzC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CACpC,UAAU,CAAC,WAAW,EAAE,EACxB,OAAO,CACV,CAAA;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B;QACzC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CACtC,UAAU,CAAC,WAAW,EAAE,EACxB,OAAO,CACV,CAAA;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAA0B,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAA2B;QAC/C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAA0B,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAA;IACpG,CAAC;CACJ"}
@@ -0,0 +1,108 @@
1
+ import type { TaruviResponse } from "../../types.js";
2
+ export interface UserCreateRequest {
3
+ username: string;
4
+ email: string;
5
+ password: string;
6
+ confirm_password: string;
7
+ first_name: string;
8
+ last_name: string;
9
+ is_active?: boolean;
10
+ is_staff?: boolean;
11
+ is_cloud_user?: boolean;
12
+ attributes?: Record<string, unknown>;
13
+ role_slugs?: string[];
14
+ }
15
+ export interface UserData {
16
+ id: string;
17
+ username: string;
18
+ email: string;
19
+ first_name: string;
20
+ last_name: string;
21
+ full_name?: string;
22
+ is_active: boolean;
23
+ is_staff: boolean;
24
+ is_superuser?: boolean;
25
+ is_deleted: boolean;
26
+ date_joined: string;
27
+ last_login?: string;
28
+ groups?: UserGroup[];
29
+ user_permissions?: UserPermission[];
30
+ attributes?: Record<string, unknown>;
31
+ missing_attributes?: string[];
32
+ roles?: UserRole[];
33
+ icon_url?: string;
34
+ }
35
+ export interface UserGroup {
36
+ id: number;
37
+ name: string;
38
+ }
39
+ export interface UserPermission {
40
+ id: number;
41
+ name: string;
42
+ codename: string;
43
+ content_type: string;
44
+ }
45
+ export interface UserRole {
46
+ name: string;
47
+ slug: string;
48
+ type: string;
49
+ app_slug: string;
50
+ source: "direct" | "site_role" | "inherited";
51
+ }
52
+ export interface UserUpdateRequest {
53
+ username?: string;
54
+ email?: string;
55
+ first_name?: string;
56
+ last_name?: string;
57
+ is_active?: boolean;
58
+ is_staff?: boolean;
59
+ }
60
+ export interface UserListFilters {
61
+ search?: string;
62
+ is_active?: boolean;
63
+ is_staff?: boolean;
64
+ is_superuser?: boolean;
65
+ is_deleted?: boolean;
66
+ roles?: string;
67
+ ordering?: string;
68
+ page?: number;
69
+ page_size?: number;
70
+ }
71
+ export interface UserApp {
72
+ name: string;
73
+ slug: string;
74
+ icon: string;
75
+ url: string;
76
+ display_name: string;
77
+ }
78
+ export type UserResponse = TaruviResponse<UserData>;
79
+ export type UserListResponse = TaruviResponse<UserData[]>;
80
+ export type UserAppsResponse = TaruviResponse<UserApp[]>;
81
+ export interface UserPreferences {
82
+ date_format: string;
83
+ time_format: string;
84
+ timezone: string;
85
+ theme: string;
86
+ widget_config: Record<string, unknown>;
87
+ }
88
+ export interface UserPreferencesUpdate {
89
+ date_format?: string;
90
+ time_format?: string;
91
+ timezone?: string;
92
+ theme?: string;
93
+ widget_config?: Record<string, unknown>;
94
+ }
95
+ export type UserPreferencesResponse = TaruviResponse<UserPreferences>;
96
+ export interface AssignRolesRequest {
97
+ roles: string[];
98
+ usernames: string[];
99
+ expires_at?: string;
100
+ }
101
+ export interface RevokeRolesRequest {
102
+ roles: string[];
103
+ usernames: string[];
104
+ }
105
+ export type RolesResponse = TaruviResponse<{
106
+ count: number;
107
+ }>;
108
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/users/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/users/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { type ErrorResponseBody } from './types.js';
2
+ /**
3
+ * Base SDK error. All typed errors extend this.
4
+ */
5
+ export declare class TaruviError extends Error {
6
+ readonly code: string;
7
+ readonly statusCode: number;
8
+ readonly detail: string | undefined;
9
+ readonly errors: Record<string, unknown> | undefined;
10
+ readonly data: unknown;
11
+ constructor(message: string, statusCode: number, code?: string, detail?: string, errors?: Record<string, unknown>, data?: unknown);
12
+ }
13
+ export declare class ValidationError extends TaruviError {
14
+ constructor(message?: string, detail?: string, errors?: Record<string, unknown>);
15
+ }
16
+ export declare class AuthError extends TaruviError {
17
+ constructor(message?: string);
18
+ }
19
+ export declare class ForbiddenError extends TaruviError {
20
+ constructor(message?: string);
21
+ }
22
+ export declare class NotFoundError extends TaruviError {
23
+ constructor(message?: string);
24
+ }
25
+ export declare class ConflictError extends TaruviError {
26
+ constructor(message?: string, detail?: string);
27
+ }
28
+ export declare class TimeoutError extends TaruviError {
29
+ constructor(message?: string);
30
+ }
31
+ export declare class RateLimitError extends TaruviError {
32
+ readonly retryAfter: number | undefined;
33
+ constructor(message?: string, retryAfter?: number);
34
+ }
35
+ export declare class NetworkError extends TaruviError {
36
+ constructor(message?: string);
37
+ }
38
+ /**
39
+ * Maps HTTP status + response body to the appropriate typed error.
40
+ */
41
+ export declare function createErrorFromResponse(statusCode: number, body?: ErrorResponseBody): TaruviError;
42
+ //# sourceMappingURL=ErrorClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorClient.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/errors/ErrorClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9D;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,UAAU,EAAE,MAAM,CAAA;IAClC,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,SAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC3D,SAAgB,IAAI,EAAE,OAAO,CAAA;gBAEjB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO;CAS9J;AAED,qBAAa,eAAgB,SAAQ,WAAW;gBAChC,OAAO,SAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAI/F;AAED,qBAAa,SAAU,SAAQ,WAAW;gBAC1B,OAAO,SAA4B;CAIlD;AAED,qBAAa,cAAe,SAAQ,WAAW;gBAC/B,OAAO,SAAsB;CAI5C;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAC9B,OAAO,SAAuB;CAI7C;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAC9B,OAAO,SAAsB,EAAE,MAAM,CAAC,EAAE,MAAM;CAI7D;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,SAAoB;CAI1C;AAED,qBAAa,cAAe,SAAQ,WAAW;IAC3C,SAAgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;gBAElC,OAAO,SAAwB,EAAE,UAAU,CAAC,EAAE,MAAM;CAKnE;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,SAAkB;CAIxC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,WAAW,CA4BjG"}
@@ -0,0 +1,102 @@
1
+ import { ErrorCode } from './types.js';
2
+ /**
3
+ * Base SDK error. All typed errors extend this.
4
+ */
5
+ export class TaruviError extends Error {
6
+ code;
7
+ statusCode;
8
+ detail;
9
+ errors;
10
+ data;
11
+ constructor(message, statusCode, code = ErrorCode.INTERNAL_ERROR, detail, errors, data) {
12
+ super(message);
13
+ this.name = 'TaruviError';
14
+ this.statusCode = statusCode;
15
+ this.code = code;
16
+ this.detail = detail;
17
+ this.errors = errors;
18
+ this.data = data;
19
+ }
20
+ }
21
+ export class ValidationError extends TaruviError {
22
+ constructor(message = 'Validation failed', detail, errors) {
23
+ super(message, 400, ErrorCode.VALIDATION_ERROR, detail, errors);
24
+ this.name = 'ValidationError';
25
+ }
26
+ }
27
+ export class AuthError extends TaruviError {
28
+ constructor(message = 'Authentication required') {
29
+ super(message, 401, ErrorCode.UNAUTHORIZED);
30
+ this.name = 'AuthError';
31
+ }
32
+ }
33
+ export class ForbiddenError extends TaruviError {
34
+ constructor(message = 'Permission denied') {
35
+ super(message, 403, ErrorCode.FORBIDDEN);
36
+ this.name = 'ForbiddenError';
37
+ }
38
+ }
39
+ export class NotFoundError extends TaruviError {
40
+ constructor(message = 'Resource not found') {
41
+ super(message, 404, ErrorCode.NOT_FOUND);
42
+ this.name = 'NotFoundError';
43
+ }
44
+ }
45
+ export class ConflictError extends TaruviError {
46
+ constructor(message = 'Resource conflict', detail) {
47
+ super(message, 409, ErrorCode.CONFLICT, detail);
48
+ this.name = 'ConflictError';
49
+ }
50
+ }
51
+ export class TimeoutError extends TaruviError {
52
+ constructor(message = 'Request timeout') {
53
+ super(message, 504, ErrorCode.GATEWAY_TIMEOUT);
54
+ this.name = 'TimeoutError';
55
+ }
56
+ }
57
+ export class RateLimitError extends TaruviError {
58
+ retryAfter;
59
+ constructor(message = 'Rate limit exceeded', retryAfter) {
60
+ super(message, 429, ErrorCode.RATE_LIMITED);
61
+ this.name = 'RateLimitError';
62
+ this.retryAfter = retryAfter;
63
+ }
64
+ }
65
+ export class NetworkError extends TaruviError {
66
+ constructor(message = 'Network error') {
67
+ super(message, 0, ErrorCode.NETWORK_ERROR);
68
+ this.name = 'NetworkError';
69
+ }
70
+ }
71
+ /**
72
+ * Maps HTTP status + response body to the appropriate typed error.
73
+ */
74
+ export function createErrorFromResponse(statusCode, body) {
75
+ const message = body?.message || 'Request failed';
76
+ const code = body?.code || ErrorCode.INTERNAL_ERROR;
77
+ const detail = body?.detail;
78
+ const errors = body?.errors;
79
+ const data = body?.data;
80
+ switch (statusCode) {
81
+ case 400:
82
+ if (code === ErrorCode.VALIDATION_ERROR) {
83
+ return new ValidationError(message, detail, errors);
84
+ }
85
+ return new TaruviError(message, 400, code, detail, errors, data);
86
+ case 401:
87
+ return new AuthError(message);
88
+ case 403:
89
+ return new ForbiddenError(message);
90
+ case 404:
91
+ return new NotFoundError(message);
92
+ case 409:
93
+ return new ConflictError(message, detail);
94
+ case 429:
95
+ return new RateLimitError(message);
96
+ case 504:
97
+ return new TimeoutError(message);
98
+ default:
99
+ return new TaruviError(message, statusCode, code, detail, errors, data);
100
+ }
101
+ }
102
+ //# sourceMappingURL=ErrorClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorClient.js","sourceRoot":"","sources":["../../../src/lib-internal/errors/ErrorClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { TaruviError, ValidationError, AuthError, ForbiddenError, NotFoundError, ConflictError, TimeoutError, NetworkError, RateLimitError, createErrorFromResponse } from './ErrorClient.js';
2
+ export { ErrorCode } from './types.js';
3
+ export type { ErrorResponseBody } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC7L,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { TaruviError, ValidationError, AuthError, ForbiddenError, NotFoundError, ConflictError, TimeoutError, NetworkError, RateLimitError, createErrorFromResponse } from './ErrorClient.js';
2
+ export { ErrorCode } from './types.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib-internal/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC7L,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Error codes matching the backend's ErrorCode enum.
3
+ * Maps 1:1 with base.responses.error_codes.ErrorCode in Python.
4
+ */
5
+ export declare enum ErrorCode {
6
+ BAD_REQUEST = "BAD_REQUEST",
7
+ VALIDATION_ERROR = "VALIDATION_ERROR",
8
+ UNAUTHORIZED = "UNAUTHORIZED",
9
+ FORBIDDEN = "FORBIDDEN",
10
+ NOT_FOUND = "NOT_FOUND",
11
+ CONFLICT = "CONFLICT",
12
+ INTERNAL_ERROR = "INTERNAL_ERROR",
13
+ RATE_LIMITED = "RATE_LIMITED",
14
+ GATEWAY_TIMEOUT = "GATEWAY_TIMEOUT",
15
+ NETWORK_ERROR = "NETWORK_ERROR"
16
+ }
17
+ /**
18
+ * Backend error response shape.
19
+ * Matches AppException.to_dict() output.
20
+ */
21
+ export interface ErrorResponseBody {
22
+ status: 'error';
23
+ code: string;
24
+ message: string;
25
+ detail?: string;
26
+ errors?: Record<string, unknown>;
27
+ data?: unknown;
28
+ }
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/errors/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,SAAS;IACjB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Error codes matching the backend's ErrorCode enum.
3
+ * Maps 1:1 with base.responses.error_codes.ErrorCode in Python.
4
+ */
5
+ export var ErrorCode;
6
+ (function (ErrorCode) {
7
+ ErrorCode["BAD_REQUEST"] = "BAD_REQUEST";
8
+ ErrorCode["VALIDATION_ERROR"] = "VALIDATION_ERROR";
9
+ ErrorCode["UNAUTHORIZED"] = "UNAUTHORIZED";
10
+ ErrorCode["FORBIDDEN"] = "FORBIDDEN";
11
+ ErrorCode["NOT_FOUND"] = "NOT_FOUND";
12
+ ErrorCode["CONFLICT"] = "CONFLICT";
13
+ ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
14
+ ErrorCode["RATE_LIMITED"] = "RATE_LIMITED";
15
+ ErrorCode["GATEWAY_TIMEOUT"] = "GATEWAY_TIMEOUT";
16
+ ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
17
+ })(ErrorCode || (ErrorCode = {}));
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib-internal/errors/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,8CAAiC,CAAA;IACjC,0CAA6B,CAAA;IAC7B,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;AACnC,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB"}
@@ -0,0 +1,24 @@
1
+ import type { TaruviConfig } from "../../types.js";
2
+ import type { TokenClient } from "../token/TokenClient.js";
3
+ /**
4
+ * HttpClient handles all HTTP requests to the Taruvi API.
5
+ * Sends session token via X-Session-Token header.
6
+ * Clears tokens on 401 auth failures.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare class HttpClient {
11
+ private tokenClient;
12
+ private axiosInstance;
13
+ constructor(config: TaruviConfig, tokenClient: TokenClient);
14
+ private setupInterceptors;
15
+ private handleError;
16
+ get<T>(endpoint: string, options?: {
17
+ responseType?: 'json' | 'blob';
18
+ }): Promise<T>;
19
+ post<T, D = unknown>(endpoint: string, body: D): Promise<T>;
20
+ put<T, D = unknown>(endpoint: string, body: D): Promise<T>;
21
+ delete<T, D = unknown>(endpoint: string, body?: D): Promise<T>;
22
+ patch<T, D = unknown>(endpoint: string, body: D): Promise<T>;
23
+ }
24
+ //# sourceMappingURL=HttpClient.d.ts.map