@taruvi/sdk 1.3.2 → 1.3.3

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 (227) hide show
  1. package/dist/client.d.ts +29 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/{src/client.ts → dist/client.js} +37 -57
  4. package/dist/client.js.map +1 -0
  5. package/dist/index.d.ts +25 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +15 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/lib/Analytics/AnalyticsClient.d.ts +9 -0
  10. package/dist/lib/Analytics/AnalyticsClient.d.ts.map +1 -0
  11. package/dist/lib/Analytics/AnalyticsClient.js +17 -0
  12. package/dist/lib/Analytics/AnalyticsClient.js.map +1 -0
  13. package/dist/lib/Analytics/types.d.ts +7 -0
  14. package/dist/lib/Analytics/types.d.ts.map +1 -0
  15. package/dist/lib/Analytics/types.js +2 -0
  16. package/dist/lib/Analytics/types.js.map +1 -0
  17. package/dist/lib/App/AppClient.d.ts +15 -0
  18. package/dist/lib/App/AppClient.d.ts.map +1 -0
  19. package/dist/lib/App/AppClient.js +41 -0
  20. package/dist/lib/App/AppClient.js.map +1 -0
  21. package/dist/lib/App/types.d.ts +36 -0
  22. package/dist/lib/App/types.d.ts.map +1 -0
  23. package/dist/lib/App/types.js +2 -0
  24. package/dist/lib/App/types.js.map +1 -0
  25. package/dist/lib/Database/DatabaseClient.d.ts +28 -0
  26. package/dist/lib/Database/DatabaseClient.d.ts.map +1 -0
  27. package/dist/lib/Database/DatabaseClient.js +116 -0
  28. package/dist/lib/Database/DatabaseClient.js.map +1 -0
  29. package/dist/lib/Database/types.d.ts +24 -0
  30. package/dist/lib/Database/types.d.ts.map +1 -0
  31. package/dist/lib/Database/types.js +2 -0
  32. package/dist/lib/Database/types.js.map +1 -0
  33. package/dist/lib/Function/FunctionsClient.d.ts +9 -0
  34. package/dist/lib/Function/FunctionsClient.d.ts.map +1 -0
  35. package/dist/lib/Function/FunctionsClient.js +20 -0
  36. package/dist/lib/Function/FunctionsClient.js.map +1 -0
  37. package/dist/lib/Function/types.d.ts +16 -0
  38. package/dist/lib/Function/types.d.ts.map +1 -0
  39. package/dist/lib/Function/types.js +2 -0
  40. package/dist/lib/Function/types.js.map +1 -0
  41. package/dist/lib/Graphs/GraphClient.d.ts +26 -0
  42. package/dist/lib/Graphs/GraphClient.d.ts.map +1 -0
  43. package/dist/lib/Graphs/GraphClient.js +86 -0
  44. package/dist/lib/Graphs/GraphClient.js.map +1 -0
  45. package/dist/lib/Graphs/types.d.ts +23 -0
  46. package/dist/lib/Graphs/types.d.ts.map +1 -0
  47. package/dist/lib/Graphs/types.js +2 -0
  48. package/dist/lib/Graphs/types.js.map +1 -0
  49. package/dist/lib/Policy/PolicyClient.d.ts +9 -0
  50. package/dist/lib/Policy/PolicyClient.d.ts.map +1 -0
  51. package/{src/lib/Policy/PolicyClient.ts → dist/lib/Policy/PolicyClient.js} +12 -17
  52. package/dist/lib/Policy/PolicyClient.js.map +1 -0
  53. package/dist/lib/Policy/types.d.ts +22 -0
  54. package/dist/lib/Policy/types.d.ts.map +1 -0
  55. package/dist/lib/Policy/types.js +2 -0
  56. package/dist/lib/Policy/types.js.map +1 -0
  57. package/dist/lib/Secrets/SecretsClient.d.ts +14 -0
  58. package/dist/lib/Secrets/SecretsClient.d.ts.map +1 -0
  59. package/dist/lib/Secrets/SecretsClient.js +32 -0
  60. package/dist/lib/Secrets/SecretsClient.js.map +1 -0
  61. package/dist/lib/Secrets/types.d.ts +13 -0
  62. package/dist/lib/Secrets/types.d.ts.map +1 -0
  63. package/dist/lib/Secrets/types.js +2 -0
  64. package/dist/lib/Secrets/types.js.map +1 -0
  65. package/dist/lib/Settings/SettingsClient.d.ts +7 -0
  66. package/dist/lib/Settings/SettingsClient.d.ts.map +1 -0
  67. package/dist/lib/Settings/SettingsClient.js +11 -0
  68. package/dist/lib/Settings/SettingsClient.js.map +1 -0
  69. package/dist/lib/Settings/types.d.ts +4 -0
  70. package/dist/lib/Settings/types.d.ts.map +1 -0
  71. package/dist/lib/Settings/types.js +2 -0
  72. package/dist/lib/Settings/types.js.map +1 -0
  73. package/dist/lib/Storage/StorageClient.d.ts +26 -0
  74. package/dist/lib/Storage/StorageClient.d.ts.map +1 -0
  75. package/dist/lib/Storage/StorageClient.js +78 -0
  76. package/dist/lib/Storage/StorageClient.js.map +1 -0
  77. package/dist/lib/Storage/types.d.ts +35 -0
  78. package/dist/lib/Storage/types.d.ts.map +1 -0
  79. package/dist/lib/Storage/types.js +2 -0
  80. package/dist/lib/Storage/types.js.map +1 -0
  81. package/dist/lib/auth/AuthClient.d.ts +66 -0
  82. package/dist/lib/auth/AuthClient.d.ts.map +1 -0
  83. package/{src/lib/auth/AuthClient.ts → dist/lib/auth/AuthClient.js} +69 -104
  84. package/dist/lib/auth/AuthClient.js.map +1 -0
  85. package/dist/lib/auth/types.d.ts +9 -0
  86. package/dist/lib/auth/types.d.ts.map +1 -0
  87. package/dist/lib/auth/types.js +2 -0
  88. package/dist/lib/auth/types.js.map +1 -0
  89. package/dist/lib/user/UserClient.d.ts +16 -0
  90. package/dist/lib/user/UserClient.d.ts.map +1 -0
  91. package/dist/lib/user/UserClient.js +41 -0
  92. package/dist/lib/user/UserClient.js.map +1 -0
  93. package/dist/lib/user/types.d.ts +100 -0
  94. package/dist/lib/user/types.d.ts.map +1 -0
  95. package/dist/lib/user/types.js +2 -0
  96. package/dist/lib/user/types.js.map +1 -0
  97. package/dist/lib-internal/errors/ErrorClient.d.ts +4 -0
  98. package/dist/lib-internal/errors/ErrorClient.d.ts.map +1 -0
  99. package/dist/lib-internal/errors/ErrorClient.js +6 -0
  100. package/dist/lib-internal/errors/ErrorClient.js.map +1 -0
  101. package/dist/lib-internal/errors/index.d.ts +8 -0
  102. package/dist/lib-internal/errors/index.d.ts.map +1 -0
  103. package/{src/lib-internal/errors/index.ts → dist/lib-internal/errors/index.js} +1 -3
  104. package/dist/lib-internal/errors/index.js.map +1 -0
  105. package/dist/lib-internal/errors/types.d.ts +83 -0
  106. package/dist/lib-internal/errors/types.d.ts.map +1 -0
  107. package/dist/lib-internal/errors/types.js +65 -0
  108. package/dist/lib-internal/errors/types.js.map +1 -0
  109. package/dist/lib-internal/http/HttpClient.d.ts +22 -0
  110. package/dist/lib-internal/http/HttpClient.d.ts.map +1 -0
  111. package/dist/lib-internal/http/HttpClient.js +65 -0
  112. package/dist/lib-internal/http/HttpClient.js.map +1 -0
  113. package/dist/lib-internal/http/types.d.ts +12 -0
  114. package/dist/lib-internal/http/types.d.ts.map +1 -0
  115. package/{src/lib-internal/http/types.ts → dist/lib-internal/http/types.js} +2 -3
  116. package/dist/lib-internal/http/types.js.map +1 -0
  117. package/dist/lib-internal/routes/AnalyticsRoutes.d.ts +4 -0
  118. package/dist/lib-internal/routes/AnalyticsRoutes.d.ts.map +1 -0
  119. package/dist/lib-internal/routes/AnalyticsRoutes.js +4 -0
  120. package/dist/lib-internal/routes/AnalyticsRoutes.js.map +1 -0
  121. package/dist/lib-internal/routes/AppRoutes.d.ts +10 -0
  122. package/dist/lib-internal/routes/AppRoutes.d.ts.map +1 -0
  123. package/dist/lib-internal/routes/AppRoutes.js +6 -0
  124. package/dist/lib-internal/routes/AppRoutes.js.map +1 -0
  125. package/dist/lib-internal/routes/AuthRoutes.d.ts +2 -0
  126. package/dist/lib-internal/routes/AuthRoutes.d.ts.map +1 -0
  127. package/dist/lib-internal/routes/AuthRoutes.js +2 -0
  128. package/dist/lib-internal/routes/AuthRoutes.js.map +1 -0
  129. package/dist/lib-internal/routes/DatabaseRoutes.d.ts +10 -0
  130. package/dist/lib-internal/routes/DatabaseRoutes.d.ts.map +1 -0
  131. package/dist/lib-internal/routes/DatabaseRoutes.js +6 -0
  132. package/dist/lib-internal/routes/DatabaseRoutes.js.map +1 -0
  133. package/dist/lib-internal/routes/FunctionRoutes.d.ts +4 -0
  134. package/dist/lib-internal/routes/FunctionRoutes.d.ts.map +1 -0
  135. package/dist/lib-internal/routes/FunctionRoutes.js +4 -0
  136. package/dist/lib-internal/routes/FunctionRoutes.js.map +1 -0
  137. package/dist/lib-internal/routes/GraphRoutes.d.ts +14 -0
  138. package/dist/lib-internal/routes/GraphRoutes.d.ts.map +1 -0
  139. package/dist/lib-internal/routes/GraphRoutes.js +11 -0
  140. package/dist/lib-internal/routes/GraphRoutes.js.map +1 -0
  141. package/dist/lib-internal/routes/PolicyRoutes.d.ts +5 -0
  142. package/dist/lib-internal/routes/PolicyRoutes.d.ts.map +1 -0
  143. package/dist/lib-internal/routes/PolicyRoutes.js +5 -0
  144. package/dist/lib-internal/routes/PolicyRoutes.js.map +1 -0
  145. package/dist/lib-internal/routes/SecretsRoutes.d.ts +6 -0
  146. package/dist/lib-internal/routes/SecretsRoutes.d.ts.map +1 -0
  147. package/dist/lib-internal/routes/SecretsRoutes.js +6 -0
  148. package/dist/lib-internal/routes/SecretsRoutes.js.map +1 -0
  149. package/dist/lib-internal/routes/SettingsRoutes.d.ts +4 -0
  150. package/dist/lib-internal/routes/SettingsRoutes.d.ts.map +1 -0
  151. package/{src/lib-internal/routes/SettingsRoutes.ts → dist/lib-internal/routes/SettingsRoutes.js} +2 -1
  152. package/dist/lib-internal/routes/SettingsRoutes.js.map +1 -0
  153. package/dist/lib-internal/routes/StorageRoutes.d.ts +11 -0
  154. package/dist/lib-internal/routes/StorageRoutes.d.ts.map +1 -0
  155. package/dist/lib-internal/routes/StorageRoutes.js +8 -0
  156. package/dist/lib-internal/routes/StorageRoutes.js.map +1 -0
  157. package/dist/lib-internal/routes/UserRoutes.d.ts +11 -0
  158. package/dist/lib-internal/routes/UserRoutes.d.ts.map +1 -0
  159. package/dist/lib-internal/routes/UserRoutes.js +11 -0
  160. package/dist/lib-internal/routes/UserRoutes.js.map +1 -0
  161. package/dist/lib-internal/routes/index.d.ts +2 -0
  162. package/dist/lib-internal/routes/index.d.ts.map +1 -0
  163. package/dist/lib-internal/routes/index.js +2 -0
  164. package/dist/lib-internal/routes/index.js.map +1 -0
  165. package/dist/lib-internal/token/TokenClient.d.ts +71 -0
  166. package/dist/lib-internal/token/TokenClient.d.ts.map +1 -0
  167. package/{src/lib-internal/token/TokenClient.ts → dist/lib-internal/token/TokenClient.js} +99 -144
  168. package/dist/lib-internal/token/TokenClient.js.map +1 -0
  169. package/dist/lib-internal/token/types.d.ts +2 -0
  170. package/dist/lib-internal/token/types.d.ts.map +1 -0
  171. package/dist/lib-internal/token/types.js +2 -0
  172. package/dist/lib-internal/token/types.js.map +1 -0
  173. package/dist/types.d.ts +49 -0
  174. package/dist/types.d.ts.map +1 -0
  175. package/dist/types.js +2 -0
  176. package/dist/types.js.map +1 -0
  177. package/dist/utils/enums.d.ts +20 -0
  178. package/dist/utils/enums.d.ts.map +1 -0
  179. package/{src/utils/enums.ts → dist/utils/enums.js} +4 -10
  180. package/dist/utils/enums.js.map +1 -0
  181. package/dist/utils/utils.d.ts +5 -0
  182. package/dist/utils/utils.d.ts.map +1 -0
  183. package/dist/utils/utils.js +32 -0
  184. package/dist/utils/utils.js.map +1 -0
  185. package/package.json +8 -3
  186. package/.claude/settings.local.json +0 -19
  187. package/USAGE_EXAMPLE.md +0 -86
  188. package/src/index.ts +0 -41
  189. package/src/lib/Analytics/AnalyticsClient.ts +0 -24
  190. package/src/lib/Analytics/types.ts +0 -7
  191. package/src/lib/App/AppClient.ts +0 -54
  192. package/src/lib/App/types.ts +0 -42
  193. package/src/lib/Database/DatabaseClient.ts +0 -143
  194. package/src/lib/Database/types.ts +0 -49
  195. package/src/lib/Function/FunctionsClient.ts +0 -27
  196. package/src/lib/Function/types.ts +0 -17
  197. package/src/lib/Graphs/GraphClient.ts +0 -105
  198. package/src/lib/Graphs/types.ts +0 -26
  199. package/src/lib/Policy/types.ts +0 -24
  200. package/src/lib/Secrets/SecretsClient.ts +0 -39
  201. package/src/lib/Secrets/types.ts +0 -17
  202. package/src/lib/Settings/SettingsClient.ts +0 -14
  203. package/src/lib/Settings/types.ts +0 -4
  204. package/src/lib/Storage/StorageClient.ts +0 -105
  205. package/src/lib/Storage/types.ts +0 -41
  206. package/src/lib/auth/types.ts +0 -9
  207. package/src/lib/user/UserClient.ts +0 -52
  208. package/src/lib/user/types.ts +0 -111
  209. package/src/lib-internal/errors/ErrorClient.ts +0 -12
  210. package/src/lib-internal/errors/types.ts +0 -105
  211. package/src/lib-internal/http/HttpClient.ts +0 -91
  212. package/src/lib-internal/routes/AnalyticsRoutes.ts +0 -3
  213. package/src/lib-internal/routes/AppRoutes.ts +0 -9
  214. package/src/lib-internal/routes/AuthRoutes.ts +0 -0
  215. package/src/lib-internal/routes/DatabaseRoutes.ts +0 -9
  216. package/src/lib-internal/routes/FunctionRoutes.ts +0 -3
  217. package/src/lib-internal/routes/GraphRoutes.ts +0 -14
  218. package/src/lib-internal/routes/PolicyRoutes.ts +0 -4
  219. package/src/lib-internal/routes/SecretsRoutes.ts +0 -5
  220. package/src/lib-internal/routes/StorageRoutes.ts +0 -15
  221. package/src/lib-internal/routes/UserRoutes.ts +0 -9
  222. package/src/lib-internal/routes/index.ts +0 -0
  223. package/src/lib-internal/token/types.ts +0 -0
  224. package/src/types.ts +0 -71
  225. package/src/utils/utils.ts +0 -33
  226. package/tests/mocks/db.json +0 -1
  227. package/tsconfig.json +0 -43
@@ -0,0 +1,66 @@
1
+ import type { Client } from "../../client.js";
2
+ import type { UserDataResponse } from "../user/types.js";
3
+ /**
4
+ * Auth Client - Handles user authentication using Web UI Flow
5
+ * Implements cross-domain authentication with redirect-based token delivery
6
+ *
7
+ * Flow:
8
+ * 1. User calls login() → Redirects to backend /accounts/login/
9
+ * 2. User authenticates on backend
10
+ * 3. Backend redirects back with tokens in URL hash
11
+ * 4. Client extracts and stores tokens automatically
12
+ */
13
+ export declare class Auth {
14
+ private client;
15
+ constructor(client: Client);
16
+ /**
17
+ * Redirect to login page (Web UI Flow)
18
+ * @param callbackUrl - URL to redirect to after successful login (defaults to current page)
19
+ */
20
+ login(callbackUrl?: string): void;
21
+ /**
22
+ * Redirect to signup page (Web UI Flow)
23
+ * @param callbackUrl - URL to redirect to after successful signup (defaults to current page)
24
+ */
25
+ signup(callbackUrl?: string): void;
26
+ /**
27
+ * Logout user and redirect to logout page
28
+ * Fetches frontendUrl from site settings for redirect
29
+ * @param callbackUrl - URL to redirect to after logout (overrides frontendUrl from settings)
30
+ */
31
+ logout(callbackUrl?: string): Promise<void>;
32
+ /**
33
+ * Check if user is authenticated
34
+ */
35
+ isUserAuthenticated(): boolean;
36
+ /**
37
+ * Get the current access token
38
+ */
39
+ getAccessToken(): string | null;
40
+ /**
41
+ * Get the current refresh token
42
+ */
43
+ getRefreshToken(): string | null;
44
+ /**
45
+ * Check if the access token is expired
46
+ */
47
+ isTokenExpired(): boolean;
48
+ /**
49
+ * Refresh the access token using the refresh token
50
+ * ⚠️ IMPORTANT: Taruvi uses refresh token rotation
51
+ * You will receive BOTH a new access token AND a new refresh token
52
+ *
53
+ * @returns Promise with new tokens or null if refresh failed
54
+ */
55
+ refreshAccessToken(): Promise<{
56
+ access: string;
57
+ refresh: string;
58
+ expires_in: number;
59
+ } | null>;
60
+ /**
61
+ * Get current user from API
62
+ * @returns Promise with user data or null if not authenticated
63
+ */
64
+ getCurrentUser(): Promise<UserDataResponse | null>;
65
+ }
66
+ //# sourceMappingURL=AuthClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthClient.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/AuthClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD;;;;;;;;;GASG;AACH,qBAAa,IAAI;IACb,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAI1B;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAwBjC;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAuBlC;;;;OAIG;IACG,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCjD;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;;;OAMG;IACG,kBAAkB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAgDnG;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAY3D"}
@@ -1,7 +1,4 @@
1
- import type { Client } from "../../client.js";
2
- import type { UserDataResponse } from "../user/types.js";
3
1
  import { UserRoutes } from "../../lib-internal/routes/UserRoutes.js";
4
-
5
2
  /**
6
3
  * Auth Client - Handles user authentication using Web UI Flow
7
4
  * Implements cross-domain authentication with redirect-based token delivery
@@ -13,132 +10,109 @@ import { UserRoutes } from "../../lib-internal/routes/UserRoutes.js";
13
10
  * 4. Client extracts and stores tokens automatically
14
11
  */
15
12
  export class Auth {
16
- private client: Client
17
-
18
- constructor(client: Client) {
19
- this.client = client
13
+ client;
14
+ constructor(client) {
15
+ this.client = client;
20
16
  }
21
-
22
17
  /**
23
18
  * Redirect to login page (Web UI Flow)
24
19
  * @param callbackUrl - URL to redirect to after successful login (defaults to current page)
25
20
  */
26
- login(callbackUrl?: string): void {
21
+ login(callbackUrl) {
27
22
  if (typeof window === "undefined") {
28
- console.error("login() can only be called in browser environment")
29
- return
23
+ console.error("login() can only be called in browser environment");
24
+ return;
30
25
  }
31
-
32
- const config = this.client.getConfig()
33
- const callback = callbackUrl || window.location.origin + window.location.pathname
34
- const deskUrl = config.deskUrl || config.baseUrl
35
-
26
+ const config = this.client.getConfig();
27
+ const callback = callbackUrl || window.location.origin + window.location.pathname;
28
+ const deskUrl = config.deskUrl || config.baseUrl;
36
29
  // Redirect to /accounts/login/ with redirect_to parameter
37
- const loginUrl = `${deskUrl}/accounts/login/?redirect_to=${encodeURIComponent(callback)}`
38
-
30
+ const loginUrl = `${deskUrl}/accounts/login/?redirect_to=${encodeURIComponent(callback)}`;
39
31
  // Optional: Store state before redirecting
40
32
  if (typeof sessionStorage !== "undefined") {
41
33
  sessionStorage.setItem("auth_state", JSON.stringify({
42
34
  returnTo: window.location.pathname,
43
35
  timestamp: Date.now()
44
- }))
36
+ }));
45
37
  }
46
-
47
- window.location.href = loginUrl
38
+ window.location.href = loginUrl;
48
39
  }
49
-
50
40
  /**
51
41
  * Redirect to signup page (Web UI Flow)
52
42
  * @param callbackUrl - URL to redirect to after successful signup (defaults to current page)
53
43
  */
54
- signup(callbackUrl?: string): void {
44
+ signup(callbackUrl) {
55
45
  if (typeof window === "undefined") {
56
- console.error("signup() can only be called in browser environment")
57
- return
46
+ console.error("signup() can only be called in browser environment");
47
+ return;
58
48
  }
59
-
60
- const config = this.client.getConfig()
61
- const callback = callbackUrl || window.location.origin + window.location.pathname
62
-
49
+ const config = this.client.getConfig();
50
+ const callback = callbackUrl || window.location.origin + window.location.pathname;
63
51
  // Redirect to /accounts/signup/ with redirect_to parameter
64
- const signupUrl = `${config.baseUrl}/accounts/signup/?redirect_to=${encodeURIComponent(callback)}`
65
-
52
+ const signupUrl = `${config.baseUrl}/accounts/signup/?redirect_to=${encodeURIComponent(callback)}`;
66
53
  // Optional: Store state before redirecting
67
54
  if (typeof sessionStorage !== "undefined") {
68
55
  sessionStorage.setItem("auth_state", JSON.stringify({
69
56
  returnTo: window.location.pathname,
70
57
  timestamp: Date.now()
71
- }))
58
+ }));
72
59
  }
73
-
74
- window.location.href = signupUrl
60
+ window.location.href = signupUrl;
75
61
  }
76
-
77
62
  /**
78
63
  * Logout user and redirect to logout page
79
64
  * Fetches frontendUrl from site settings for redirect
80
65
  * @param callbackUrl - URL to redirect to after logout (overrides frontendUrl from settings)
81
66
  */
82
- async logout(callbackUrl?: string): Promise<void> {
67
+ async logout(callbackUrl) {
83
68
  if (typeof window === "undefined") {
84
- console.error("logout() can only be called in browser environment")
85
- return
69
+ console.error("logout() can only be called in browser environment");
70
+ return;
86
71
  }
87
-
88
72
  // Clear tokens immediately
89
- this.client.tokenClient.clearTokens()
90
-
91
- const config = this.client.getConfig()
92
- const deskUrl = config.deskUrl || config.baseUrl
93
- let callback: string = callbackUrl || ""
94
-
73
+ this.client.tokenClient.clearTokens();
74
+ const config = this.client.getConfig();
75
+ const deskUrl = config.deskUrl || config.baseUrl;
76
+ let callback = callbackUrl || "";
95
77
  // If no callback provided, fetch frontendUrl from site settings
96
78
  if (!callback) {
97
79
  try {
98
- const settings = await this.client.httpClient.get<{ frontend_url?: string }>(
99
- `api/sites/${config.appSlug}/metadata`
100
- )
101
- callback = settings.frontend_url || window.location.origin
102
- } catch (error) {
103
- console.error("Failed to fetch site settings, using origin:", error)
104
- callback = window.location.origin
80
+ const settings = await this.client.httpClient.get(`api/sites/${config.appSlug}/metadata`);
81
+ callback = settings.frontend_url || window.location.origin;
82
+ }
83
+ catch (error) {
84
+ console.error("Failed to fetch site settings, using origin:", error);
85
+ callback = window.location.origin;
105
86
  }
106
87
  }
107
-
108
88
  // Redirect to /accounts/logout/
109
- const logoutUrl = `${deskUrl}/accounts/logout/?redirect_to=${encodeURIComponent(callback)}`
110
-
111
- window.location.href = logoutUrl
89
+ const logoutUrl = `${deskUrl}/accounts/logout/?redirect_to=${encodeURIComponent(callback)}`;
90
+ window.location.href = logoutUrl;
112
91
  }
113
-
114
92
  /**
115
93
  * Check if user is authenticated
116
94
  */
117
- isUserAuthenticated(): boolean {
118
- return this.client.tokenClient.isAuthenticated()
95
+ isUserAuthenticated() {
96
+ return this.client.tokenClient.isAuthenticated();
119
97
  }
120
-
121
98
  /**
122
99
  * Get the current access token
123
100
  */
124
- getAccessToken(): string | null {
125
- return this.client.tokenClient.getToken()
101
+ getAccessToken() {
102
+ return this.client.tokenClient.getToken();
126
103
  }
127
-
128
104
  /**
129
105
  * Get the current refresh token
130
106
  */
131
- getRefreshToken(): string | null {
132
- return this.client.tokenClient.getRefreshToken()
107
+ getRefreshToken() {
108
+ return this.client.tokenClient.getRefreshToken();
133
109
  }
134
-
135
110
  /**
136
111
  * Check if the access token is expired
137
112
  */
138
- isTokenExpired(): boolean {
139
- return this.client.tokenClient.isTokenExpired()
113
+ isTokenExpired() {
114
+ return this.client.tokenClient.isTokenExpired();
140
115
  }
141
-
142
116
  /**
143
117
  * Refresh the access token using the refresh token
144
118
  * ⚠️ IMPORTANT: Taruvi uses refresh token rotation
@@ -146,68 +120,59 @@ export class Auth {
146
120
  *
147
121
  * @returns Promise with new tokens or null if refresh failed
148
122
  */
149
- async refreshAccessToken(): Promise<{ access: string; refresh: string; expires_in: number } | null> {
150
- const refreshToken = this.client.tokenClient.getRefreshToken()
151
-
123
+ async refreshAccessToken() {
124
+ const refreshToken = this.client.tokenClient.getRefreshToken();
152
125
  if (!refreshToken) {
153
- console.error("No refresh token available")
154
- return null
126
+ console.error("No refresh token available");
127
+ return null;
155
128
  }
156
-
157
129
  try {
158
- const config = this.client.getConfig()
130
+ const config = this.client.getConfig();
159
131
  const response = await fetch(`${config.baseUrl}/api/cloud/auth/jwt/token/refresh/`, {
160
132
  method: "POST",
161
133
  headers: { "Content-Type": "application/json" },
162
134
  body: JSON.stringify({ refresh: refreshToken })
163
- })
164
-
135
+ });
165
136
  if (!response.ok) {
166
- throw new Error(`Token refresh failed: ${response.statusText}`)
137
+ throw new Error(`Token refresh failed: ${response.statusText}`);
167
138
  }
168
-
169
- const data = await response.json()
170
-
139
+ const data = await response.json();
171
140
  // Update tokens in storage (both access and refresh due to rotation)
172
- this.client.tokenClient.updateAccessToken(data.access, data.expires_in || 172800)
173
-
141
+ this.client.tokenClient.updateAccessToken(data.access, data.expires_in || 172800);
174
142
  if (data.refresh) {
175
- this.client.tokenClient.updateRefreshToken(data.refresh)
143
+ this.client.tokenClient.updateRefreshToken(data.refresh);
176
144
  }
177
-
178
145
  return {
179
146
  access: data.access,
180
147
  refresh: data.refresh || refreshToken,
181
148
  expires_in: data.expires_in || 172800
182
- }
183
- } catch (error) {
184
- console.error("Failed to refresh access token:", error)
185
-
149
+ };
150
+ }
151
+ catch (error) {
152
+ console.error("Failed to refresh access token:", error);
186
153
  // Clear tokens and redirect to login
187
- this.client.tokenClient.clearTokens()
188
-
154
+ this.client.tokenClient.clearTokens();
189
155
  if (typeof window !== "undefined") {
190
- this.login()
156
+ this.login();
191
157
  }
192
-
193
- return null
158
+ return null;
194
159
  }
195
160
  }
196
-
197
161
  /**
198
162
  * Get current user from API
199
163
  * @returns Promise with user data or null if not authenticated
200
164
  */
201
- async getCurrentUser(): Promise<UserDataResponse | null> {
165
+ async getCurrentUser() {
202
166
  if (!this.isUserAuthenticated()) {
203
- return null
167
+ return null;
204
168
  }
205
-
206
169
  try {
207
- return await this.client.httpClient.get<UserDataResponse>(UserRoutes.getCurrentUser())
208
- } catch (error) {
209
- console.error("Failed to fetch current user:", error)
210
- return null
170
+ return await this.client.httpClient.get(UserRoutes.getCurrentUser());
171
+ }
172
+ catch (error) {
173
+ console.error("Failed to fetch current user:", error);
174
+ return null;
211
175
  }
212
176
  }
213
- }
177
+ }
178
+ //# sourceMappingURL=AuthClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthClient.js","sourceRoot":"","sources":["../../../src/lib/auth/AuthClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface SignInWithPassword {
2
+ username: string;
3
+ password: string;
4
+ }
5
+ export interface AuthClientInterface {
6
+ baseUrl: string;
7
+ apiKey?: string;
8
+ }
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/auth/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { Client } from "../../client.js";
2
+ import type { UserCreateRequest, UserCreateResponse, UserDataResponse, UserList, UserUpdateRequest, UserAppsResponse } from "./types.js";
3
+ export declare class User {
4
+ private client;
5
+ constructor(client: Client);
6
+ getUserData(): Promise<UserDataResponse>;
7
+ updateUser(username: string, body: UserUpdateRequest): Promise<UserCreateResponse>;
8
+ getUser(username: string): Promise<UserDataResponse>;
9
+ list(filters: UserList): Promise<unknown>;
10
+ getUserApps(username: string): Promise<UserAppsResponse>;
11
+ getPreferences(): Promise<any>;
12
+ updatePreferences(body: Record<string, unknown>): Promise<any>;
13
+ createUser(userData: UserCreateRequest): Promise<UserCreateResponse>;
14
+ deleteUser(username: string): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=UserClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserClient.d.ts","sourceRoot":"","sources":["../../../src/lib/user/UserClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAKzI,qBAAa,IAAI;IACb,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAKpB,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAKxC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIlF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpD,IAAI,CAAC,OAAO,EAAE,QAAQ;IAKtB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIxD,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAI9B,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAK9D,UAAU,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQpE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMpD"}
@@ -0,0 +1,41 @@
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
+ // - getUserProfile
9
+ async getUserData() {
10
+ return await this.client.httpClient.get(UserRoutes.getCurrentUser());
11
+ }
12
+ // - updateUser
13
+ async updateUser(username, body) {
14
+ return await this.client.httpClient.put(UserRoutes.updateUser(username), body);
15
+ }
16
+ async getUser(username) {
17
+ return await this.client.httpClient.get(UserRoutes.getUser(username));
18
+ }
19
+ async list(filters) {
20
+ const queryString = buildQueryString(filters);
21
+ return await this.client.httpClient.get(UserRoutes.listUser(queryString));
22
+ }
23
+ async getUserApps(username) {
24
+ return await this.client.httpClient.get(UserRoutes.getUserApps(username));
25
+ }
26
+ async getPreferences() {
27
+ return await this.client.httpClient.get(UserRoutes.getPreferences());
28
+ }
29
+ async updatePreferences(body) {
30
+ return await this.client.httpClient.post(UserRoutes.getPreferences(), body);
31
+ }
32
+ // - createUser
33
+ async createUser(userData) {
34
+ return await this.client.httpClient.post(UserRoutes.baseUrl, userData);
35
+ }
36
+ // - deleteUser
37
+ async deleteUser(username) {
38
+ return await this.client.httpClient.delete(UserRoutes.deleteUser(username));
39
+ }
40
+ }
41
+ //# sourceMappingURL=UserClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserClient.js","sourceRoot":"","sources":["../../../src/lib/user/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,mBAAmB;IACnB,KAAK,CAAC,WAAW;QACb,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAmB,UAAU,CAAC,cAAc,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,eAAe;IACf,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,CAAmB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAiB;QACxB,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAA6C,CAAC,CAAA;QACnF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;IAC7E,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,cAAc;QAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAA6B;QACjD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAA;IAC/E,CAAC;IAED,eAAe;IACf,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,eAAe;IACf,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;CAIJ"}
@@ -0,0 +1,100 @@
1
+ export interface UserCreateRequest {
2
+ username: string;
3
+ email: string;
4
+ first_name: string;
5
+ last_name: string;
6
+ password: string;
7
+ confirm_password: string;
8
+ is_active?: boolean;
9
+ is_staff?: boolean;
10
+ attributes?: string;
11
+ }
12
+ export interface UserCreateResponse {
13
+ id: number;
14
+ uuid: string;
15
+ username: string;
16
+ email: string;
17
+ first_name: string;
18
+ last_name: string;
19
+ is_active: boolean;
20
+ is_staff: boolean;
21
+ is_superuser: boolean;
22
+ is_deleted: boolean;
23
+ date_joined: string;
24
+ }
25
+ export interface UserGroup {
26
+ id: number;
27
+ name: string;
28
+ }
29
+ export interface UserPermission {
30
+ id: number;
31
+ name: string;
32
+ codename: string;
33
+ content_type: string;
34
+ }
35
+ export interface UserRole {
36
+ name: string;
37
+ slug: string;
38
+ type: "app_role";
39
+ app_slug: string;
40
+ source: "direct" | "site_role" | "inherited";
41
+ }
42
+ export interface UserDataResponse {
43
+ id: number;
44
+ username: string;
45
+ email: string;
46
+ first_name: string;
47
+ last_name: string;
48
+ full_name: string;
49
+ is_active: boolean;
50
+ is_staff: boolean;
51
+ is_superuser: boolean;
52
+ is_deleted: boolean;
53
+ date_joined: string;
54
+ last_login: string;
55
+ groups: UserGroup[];
56
+ user_permissions: UserPermission[];
57
+ attributes: Record<string, unknown>;
58
+ missing_attributes: string[];
59
+ roles: UserRole[];
60
+ }
61
+ export interface UserUpdateRequest {
62
+ username?: string;
63
+ email?: string;
64
+ first_name?: string;
65
+ last_name?: string;
66
+ is_active?: boolean;
67
+ is_staff?: boolean;
68
+ }
69
+ export interface UserUpdateResponse {
70
+ id: number;
71
+ uuid: string;
72
+ username: string;
73
+ email: string;
74
+ first_name: string;
75
+ last_name: string;
76
+ is_active: boolean;
77
+ is_staff: boolean;
78
+ is_superuser: boolean;
79
+ is_deleted: boolean;
80
+ date_joined: string;
81
+ }
82
+ export interface UserList {
83
+ search: string;
84
+ is_active: boolean;
85
+ is_staff: boolean;
86
+ is_superuser: boolean;
87
+ is_deleted: boolean;
88
+ ordering: string;
89
+ page: Number;
90
+ page_size: Number;
91
+ }
92
+ export interface UserApp {
93
+ name: string;
94
+ slug: string;
95
+ icon: string;
96
+ url: string;
97
+ display_name: string;
98
+ }
99
+ export type UserAppsResponse = UserApp[];
100
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/user/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/user/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare class ErrorClient {
2
+ constructor();
3
+ }
4
+ //# 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,qBAAa,WAAW;;CAWvB"}
@@ -0,0 +1,6 @@
1
+ export class ErrorClient {
2
+ constructor() {
3
+ // No dependencies needed for now
4
+ }
5
+ }
6
+ //# sourceMappingURL=ErrorClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorClient.js","sourceRoot":"","sources":["../../../src/lib-internal/errors/ErrorClient.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAEpB;QACI,iCAAiC;IACrC,CAAC;CAOJ"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Error handling module exports
3
+ *
4
+ * This module provides comprehensive error handling for the Taruvi SDK
5
+ * including typed error classes, error codes, and utility functions.
6
+ */
7
+ export { ErrorClient } from './ErrorClient.js';
8
+ //# 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;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -4,10 +4,8 @@
4
4
  * This module provides comprehensive error handling for the Taruvi SDK
5
5
  * including typed error classes, error codes, and utility functions.
6
6
  */
7
-
8
7
  // Export error client
9
8
  export { ErrorClient } from './ErrorClient.js';
10
-
11
9
  // TODO: Export all error classes when implemented
12
10
  // - TaruviError
13
11
  // - AuthError
@@ -16,10 +14,10 @@ export { ErrorClient } from './ErrorClient.js';
16
14
  // - NetworkError
17
15
  // - ValidationError
18
16
  // - FunctionError
19
-
20
17
  // TODO: Export types when implemented
21
18
  // - ErrorCode
22
19
  // - ErrorSeverity
23
20
  // - ErrorResponse
24
21
  // - HttpErrorResponse
25
22
  // - ValidationErrorDetail
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib-internal/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,kDAAkD;AAClD,gBAAgB;AAChB,cAAc;AACd,kBAAkB;AAClB,iBAAiB;AACjB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAElB,sCAAsC;AACtC,cAAc;AACd,kBAAkB;AAClB,kBAAkB;AAClB,sBAAsB;AACtB,0BAA0B"}