@taruvi/sdk 1.5.0-beta.1 → 1.5.0-beta.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 (230) hide show
  1. package/README.md +58 -1295
  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} +29 -47
  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 +38 -0
  27. package/dist/lib/auth/AuthClient.d.ts.map +1 -0
  28. package/{src/lib/auth/AuthClient.ts → dist/lib/auth/AuthClient.js} +48 -69
  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 +2 -0
  115. package/dist/lib-internal/routes/AuthRoutes.d.ts.map +1 -0
  116. package/dist/lib-internal/routes/AuthRoutes.js +2 -0
  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/{src/utils/utils.ts → dist/utils/utils.js} +27 -27
  169. package/dist/utils/utils.js.map +1 -0
  170. package/package.json +11 -2
  171. package/.claude/settings.local.json +0 -19
  172. package/.github/worflows/publish.yml +0 -57
  173. package/.github/workflows/publish.yml +0 -58
  174. package/.kiro/settings/lsp.json +0 -198
  175. package/MODULE_NAMING_CHANGES.md +0 -81
  176. package/PARAMETER_NAMING_CHANGES.md +0 -106
  177. package/USAGE_EXAMPLE.md +0 -86
  178. package/src/index.ts +0 -51
  179. package/src/lib/analytics/AnalyticsClient.ts +0 -24
  180. package/src/lib/analytics/types.ts +0 -8
  181. package/src/lib/app/AppClient.ts +0 -54
  182. package/src/lib/app/types.ts +0 -50
  183. package/src/lib/auth/types.ts +0 -123
  184. package/src/lib/database/DatabaseClient.ts +0 -306
  185. package/src/lib/database/types.ts +0 -156
  186. package/src/lib/functions/FunctionsClient.ts +0 -27
  187. package/src/lib/functions/types.ts +0 -27
  188. package/src/lib/policy/types.ts +0 -39
  189. package/src/lib/secrets/SecretsClient.ts +0 -75
  190. package/src/lib/secrets/types.ts +0 -59
  191. package/src/lib/settings/SettingsClient.ts +0 -22
  192. package/src/lib/settings/types.ts +0 -9
  193. package/src/lib/storage/StorageClient.ts +0 -131
  194. package/src/lib/storage/types.ts +0 -86
  195. package/src/lib/users/UserClient.ts +0 -63
  196. package/src/lib/users/types.ts +0 -123
  197. package/src/lib-internal/errors/ErrorClient.ts +0 -114
  198. package/src/lib-internal/errors/index.ts +0 -3
  199. package/src/lib-internal/errors/types.ts +0 -29
  200. package/src/lib-internal/http/HttpClient.ts +0 -116
  201. package/src/lib-internal/routes/AnalyticsRoutes.ts +0 -3
  202. package/src/lib-internal/routes/AppRoutes.ts +0 -9
  203. package/src/lib-internal/routes/AuthRoutes.ts +0 -0
  204. package/src/lib-internal/routes/DatabaseRoutes.ts +0 -10
  205. package/src/lib-internal/routes/FunctionRoutes.ts +0 -3
  206. package/src/lib-internal/routes/PolicyRoutes.ts +0 -4
  207. package/src/lib-internal/routes/SecretsRoutes.ts +0 -5
  208. package/src/lib-internal/routes/StorageRoutes.ts +0 -15
  209. package/src/lib-internal/routes/UserRoutes.ts +0 -12
  210. package/src/lib-internal/routes/index.ts +0 -0
  211. package/src/lib-internal/token/types.ts +0 -0
  212. package/src/types.ts +0 -104
  213. package/src/utils/enums.ts +0 -24
  214. package/tests/fixtures/mockClient.ts +0 -19
  215. package/tests/mocks/db.json +0 -1
  216. package/tests/unit/analytics/AnalyticsClient.test.ts +0 -84
  217. package/tests/unit/app/AppClient.test.ts +0 -114
  218. package/tests/unit/auth/AuthClient.test.ts +0 -91
  219. package/tests/unit/client/Client.test.ts +0 -87
  220. package/tests/unit/database/DatabaseClient.test.ts +0 -652
  221. package/tests/unit/edge-cases/robustness.test.ts +0 -258
  222. package/tests/unit/errors/errors.test.ts +0 -236
  223. package/tests/unit/functions/FunctionsClient.test.ts +0 -99
  224. package/tests/unit/policy/PolicyClient.test.ts +0 -180
  225. package/tests/unit/secrets/SecretsClient.test.ts +0 -146
  226. package/tests/unit/settings/SettingsClient.test.ts +0 -50
  227. package/tests/unit/storage/StorageClient.test.ts +0 -252
  228. package/tests/unit/users/UserClient.test.ts +0 -150
  229. package/tsconfig.json +0 -44
  230. package/vitest.config.ts +0 -7
@@ -0,0 +1,27 @@
1
+ import { HttpClient } from "./lib-internal/http/HttpClient.js";
2
+ import { TokenClient } from "./lib-internal/token/TokenClient.js";
3
+ import type { TaruviConfig } from "./types.js";
4
+ export declare class Client {
5
+ private readonly config;
6
+ private readonly _httpClient;
7
+ private readonly _tokenClient;
8
+ constructor(config: TaruviConfig);
9
+ /**
10
+ * Extracts session token from URL hash and stores it using TokenClient.
11
+ * Handles callback URLs like: #session_token=xxx
12
+ * After extraction, the URL hash is cleared.
13
+ */
14
+ private extractTokensFromUrl;
15
+ /**
16
+ * @internal
17
+ * Internal use only - not part of public API
18
+ */
19
+ get httpClient(): HttpClient;
20
+ /**
21
+ * @internal
22
+ * Internal use only - not part of public API
23
+ */
24
+ get tokenClient(): TokenClient;
25
+ getConfig(): Readonly<TaruviConfig>;
26
+ }
27
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,qBAAa,MAAM;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;gBAE9B,MAAM,EAAE,YAAY;IA2BhC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;;OAGG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC;CAGtC"}
@@ -1,88 +1,70 @@
1
1
  import { HttpClient } from "./lib-internal/http/HttpClient.js";
2
2
  import { TokenClient } from "./lib-internal/token/TokenClient.js";
3
- import type { TaruviConfig } from "./types.js";
4
3
  import packageJson from "../package.json" with { type: "json" };
5
-
6
4
  export class Client {
7
- private readonly config: TaruviConfig
8
- private readonly _httpClient: HttpClient
9
- private readonly _tokenClient: TokenClient
10
-
11
- constructor(config: TaruviConfig) {
5
+ config;
6
+ _httpClient;
7
+ _tokenClient;
8
+ constructor(config) {
12
9
  if (!config) {
13
- throw new Error("Config is required")
10
+ throw new Error("Config is required");
14
11
  }
15
-
16
12
  if (!config.apiKey) {
17
- throw new Error("API key is required")
13
+ throw new Error("API key is required");
18
14
  }
19
-
20
15
  if (!config.apiUrl) {
21
- throw new Error("API URL is required")
16
+ throw new Error("API URL is required");
22
17
  }
23
-
24
- this.config = config
25
-
18
+ this.config = config;
26
19
  // Internal clients for SDK use only
27
20
  // TokenClient must be created first, then passed to HttpClient
28
-
29
- this._tokenClient = new TokenClient(config.token)
30
- this._httpClient = new HttpClient(this.config, this._tokenClient)
31
-
21
+ this._tokenClient = new TokenClient(config.token);
22
+ this._httpClient = new HttpClient(this.config, this._tokenClient);
32
23
  // Check URL hash for tokens (OAuth callback)
33
- this.extractTokensFromUrl()
34
-
35
- console.info(`Taruvi SDK v${packageJson.version} initialized`)
24
+ this.extractTokensFromUrl();
25
+ console.info(`Taruvi SDK v${packageJson.version} initialized`);
36
26
  }
37
-
38
27
  /**
39
28
  * Extracts session token from URL hash and stores it using TokenClient.
40
29
  * Handles callback URLs like: #session_token=xxx
41
30
  * After extraction, the URL hash is cleared.
42
31
  */
43
- private extractTokensFromUrl(): void {
32
+ extractTokensFromUrl() {
44
33
  if (typeof window === "undefined" || typeof localStorage === "undefined") {
45
- return
34
+ return;
46
35
  }
47
-
48
- const hash = window.location.hash
36
+ const hash = window.location.hash;
49
37
  if (!hash) {
50
- return
38
+ return;
51
39
  }
52
-
53
- const params = new URLSearchParams(hash.substring(1))
54
- const sessionToken = params.get("session_token")
55
-
40
+ const params = new URLSearchParams(hash.substring(1));
41
+ const sessionToken = params.get("session_token");
56
42
  if (!sessionToken) {
57
- return
43
+ return;
58
44
  }
59
-
60
- this._tokenClient.setTokens({ sessionToken })
61
-
45
+ this._tokenClient.setTokens({ sessionToken });
62
46
  // Clear hash from URL without reloading page
63
47
  if (window.history && window.history.replaceState) {
64
- const urlWithoutHash = window.location.pathname + window.location.search
65
- window.history.replaceState(null, "", urlWithoutHash)
48
+ const urlWithoutHash = window.location.pathname + window.location.search;
49
+ window.history.replaceState(null, "", urlWithoutHash);
66
50
  }
67
51
  }
68
-
69
52
  /**
70
53
  * @internal
71
54
  * Internal use only - not part of public API
72
55
  */
73
- get httpClient(): HttpClient {
74
- return this._httpClient
56
+ get httpClient() {
57
+ return this._httpClient;
75
58
  }
76
-
77
59
  /**
78
60
  * @internal
79
61
  * Internal use only - not part of public API
80
62
  */
81
- get tokenClient(): TokenClient {
82
- return this._tokenClient
63
+ get tokenClient() {
64
+ return this._tokenClient;
83
65
  }
84
-
85
- getConfig(): Readonly<TaruviConfig> {
86
- return { ...this.config }
66
+ getConfig() {
67
+ return { ...this.config };
87
68
  }
88
69
  }
70
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,MAAM,OAAO,MAAM;IACE,MAAM,CAAc;IACpB,WAAW,CAAY;IACvB,YAAY,CAAa;IAE1C,YAAY,MAAoB;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC1C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC1C,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,oCAAoC;QACpC,+DAA+D;QAE/D,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAEjE,6CAA6C;QAC7C,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAE3B,OAAO,CAAC,IAAI,CAAC,eAAe,WAAW,CAAC,OAAO,cAAc,CAAC,CAAA;IAClE,CAAC;IAED;;;;OAIG;IACK,oBAAoB;QACxB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACvE,OAAM;QACV,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAA;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAM;QACV,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAEhD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAM;QACV,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;QAE7C,6CAA6C;QAC7C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;YACxE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;QACzD,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAA;IAC5B,CAAC;IAED,SAAS;QACL,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;CACJ"}
@@ -0,0 +1,28 @@
1
+ export { Client } from "./client.js";
2
+ export { TaruviError, ValidationError, AuthError, ForbiddenError, NotFoundError, ConflictError, TimeoutError, NetworkError, RateLimitError } from "./lib-internal/errors/index.js";
3
+ export { ErrorCode } from "./lib-internal/errors/index.js";
4
+ export type { ErrorResponseBody } from "./lib-internal/errors/index.js";
5
+ export { Auth } from "./lib/auth/AuthClient.js";
6
+ export { User } from "./lib/users/UserClient.js";
7
+ export { Storage } from "./lib/storage/StorageClient.js";
8
+ export { Database } from "./lib/database/DatabaseClient.js";
9
+ export { Settings } from "./lib/settings/SettingsClient.js";
10
+ export { Functions } from "./lib/functions/FunctionsClient.js";
11
+ export { Secrets } from "./lib/secrets/SecretsClient.js";
12
+ export { Policy } from "./lib/policy/PolicyClient.js";
13
+ export { App } from "./lib/app/AppClient.js";
14
+ export { Analytics } from "./lib/analytics/AnalyticsClient.js";
15
+ export type { TaruviConfig, TaruviResponse, PaginationInfo, StorageFilters, DatabaseFilters } from "./types.js";
16
+ export type { AuthTokens } from "./lib-internal/token/TokenClient.js";
17
+ export type { UserCreateRequest, UserData, UserUpdateRequest, UserListFilters, UserApp, UserResponse, UserListResponse, UserAppsResponse, AssignRolesRequest, RevokeRolesRequest, RolesResponse, UserGroup, UserPermission, UserRole, UserPreferences, UserPreferencesUpdate, UserPreferencesResponse } from "./lib/users/types.js";
18
+ export type { Principal, Resource, Resources, PolicyCheckResult, PolicyCheckBatchResult, ResourceCheckResponse, GetAllowedActionsOptions } from "./lib/policy/types.js";
19
+ export type { RoleData, AppSettingsData, RoleResponse, RolesListResponse, AppSettingsResponse } from "./lib/app/types.js";
20
+ export type { FunctionRequest, FunctionResponse, FunctionInvocation } from "./lib/functions/types.js";
21
+ export type { DatabaseRequest, DatabaseResponse, DatabaseSingleResponse, FilterOperator, GraphFormat, EdgeRequest, EdgeResponse, EdgeDeleteRequest, PgRangeValue, BackendFilterLeafNode, BackendFilterLogicalNode, BackendFilterNode, BackendFilterTreeRoot } from "./lib/database/types.js";
22
+ export { isBackendFilterTreeRoot } from "./lib/database/types.js";
23
+ export { SortOrder, DataFormat, GraphInclude, Visibility, MimeTypeCategory } from "./utils/enums.js";
24
+ export type { StorageRequest, StorageUpdateRequest, StorageObject, StorageResponse, StorageListResponse, StorageUploadBatchResponse, StorageDeleteBatchResponse } from "./lib/storage/types.js";
25
+ export type { SiteSettingsData, SettingsResponse } from "./lib/settings/types.js";
26
+ export type { SecretCreateRequest, SecretUpdateRequest, SecretData, SecretResponse, SecretsListResponse, SecretsBatchResponse, SecretsBatchMetadataResponse, GetSecretOptions, GetSecretsOptions } from "./lib/secrets/types.js";
27
+ export type { AnalyticsRequest, AnalyticsResponse } from "./lib/analytics/types.js";
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAClL,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGvE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAG9D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC/G,YAAY,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAGrE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAGnU,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAGvK,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGzH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAGrG,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC5R,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGpG,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAG/L,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAGhO,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ // Export main client
2
+ export { Client } from "./client.js";
3
+ // Export error classes
4
+ export { TaruviError, ValidationError, AuthError, ForbiddenError, NotFoundError, ConflictError, TimeoutError, NetworkError, RateLimitError } from "./lib-internal/errors/index.js";
5
+ export { ErrorCode } from "./lib-internal/errors/index.js";
6
+ // Export public client classes
7
+ export { Auth } from "./lib/auth/AuthClient.js";
8
+ export { User } from "./lib/users/UserClient.js";
9
+ export { Storage } from "./lib/storage/StorageClient.js";
10
+ export { Database } from "./lib/database/DatabaseClient.js";
11
+ export { Settings } from "./lib/settings/SettingsClient.js";
12
+ export { Functions } from "./lib/functions/FunctionsClient.js";
13
+ export { Secrets } from "./lib/secrets/SecretsClient.js";
14
+ export { Policy } from "./lib/policy/PolicyClient.js";
15
+ export { App } from "./lib/app/AppClient.js";
16
+ export { Analytics } from "./lib/analytics/AnalyticsClient.js";
17
+ export { isBackendFilterTreeRoot } from "./lib/database/types.js";
18
+ // Enums / runtime constants
19
+ export { SortOrder, DataFormat, GraphInclude, Visibility, MimeTypeCategory } from "./utils/enums.js";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,uBAAuB;AACvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAClL,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG1D,+BAA+B;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAoB9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,4BAA4B;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { Client } from "../../client.js";
2
+ import type { AnalyticsRequest, AnalyticsResponse } from "./types.js";
3
+ export declare class Analytics {
4
+ private client;
5
+ private config;
6
+ constructor(client: Client);
7
+ execute<T = unknown>(querySlug: string, options?: AnalyticsRequest): Promise<AnalyticsResponse<T>>;
8
+ }
9
+ //# sourceMappingURL=AnalyticsClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnalyticsClient.d.ts","sourceRoot":"","sources":["../../../src/lib/analytics/AnalyticsClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGtE,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,MAAM;IAKpB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAS/G"}
@@ -0,0 +1,17 @@
1
+ import { AnalyticsRoutes } from "../../lib-internal/routes/AnalyticsRoutes.js";
2
+ export class Analytics {
3
+ client;
4
+ config;
5
+ constructor(client) {
6
+ this.client = client;
7
+ this.config = this.client.getConfig();
8
+ }
9
+ async execute(querySlug, options = {}) {
10
+ const url = AnalyticsRoutes.baseUrl(this.config.appSlug, querySlug);
11
+ const body = {
12
+ params: options.params || {}
13
+ };
14
+ return await this.client.httpClient.post(url, body);
15
+ }
16
+ }
17
+ //# sourceMappingURL=AnalyticsClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnalyticsClient.js","sourceRoot":"","sources":["../../../src/lib/analytics/AnalyticsClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAE/E,MAAM,OAAO,SAAS;IACV,MAAM,CAAQ;IACd,MAAM,CAAc;IAE5B,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,OAAO,CAAc,SAAiB,EAAE,UAA4B,EAAE;QACxE,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAEnE,MAAM,IAAI,GAAG;YACT,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC/B,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAuB,GAAG,EAAE,IAAI,CAAC,CAAA;IAC7E,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ import type { TaruviResponse } from "../../types.js";
2
+ export interface AnalyticsRequest {
3
+ params?: Record<string, unknown>;
4
+ }
5
+ export type AnalyticsResponse<T = unknown> = TaruviResponse<T>;
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/analytics/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAGD,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/analytics/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { Client } from "../../client.js";
2
+ import { HttpMethod } from "../../lib-internal/http/types.js";
3
+ import type { UrlParams } from "./types.js";
4
+ export declare class App {
5
+ private client;
6
+ private urlParams;
7
+ private config;
8
+ private operation;
9
+ constructor(client: Client, urlParams?: UrlParams, operation?: HttpMethod | undefined);
10
+ roles(): App;
11
+ settings(): App;
12
+ private buildRoute;
13
+ execute(): Promise<unknown>;
14
+ }
15
+ //# sourceMappingURL=AppClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppClient.d.ts","sourceRoot":"","sources":["../../../src/lib/app/AppClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAwB;gBAE7B,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,SAAc,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS;IAOzF,KAAK;IAIL,QAAQ;IAIR,OAAO,CAAC,UAAU;IAgBZ,OAAO;CAUhB"}
@@ -0,0 +1,41 @@
1
+ import { AppRoutes } from "../../lib-internal/routes/AppRoutes.js";
2
+ import { HttpMethod } from "../../lib-internal/http/types.js";
3
+ export class App {
4
+ client;
5
+ urlParams;
6
+ config;
7
+ operation;
8
+ constructor(client, urlParams = {}, operation) {
9
+ this.client = client;
10
+ this.urlParams = urlParams;
11
+ this.operation = operation;
12
+ this.config = this.client.getConfig();
13
+ }
14
+ roles() {
15
+ return new App(this.client, { ...this.urlParams, roles: "roles" }, HttpMethod.GET);
16
+ }
17
+ settings() {
18
+ return new App(this.client, { ...this.urlParams, settings: "settings" }, HttpMethod.GET);
19
+ }
20
+ buildRoute() {
21
+ return (AppRoutes.baseUrl(this.config.appSlug) +
22
+ Object.keys(this.urlParams).reduce((acc, key) => {
23
+ const value = this.urlParams[key];
24
+ const routeBuilder = AppRoutes[key];
25
+ if (value && routeBuilder) {
26
+ acc += routeBuilder();
27
+ }
28
+ return acc;
29
+ }, ""));
30
+ }
31
+ async execute() {
32
+ const url = this.buildRoute();
33
+ const operation = this.operation || HttpMethod.GET;
34
+ switch (operation) {
35
+ case HttpMethod.GET:
36
+ default:
37
+ return await this.client.httpClient.get(url);
38
+ }
39
+ }
40
+ }
41
+ //# sourceMappingURL=AppClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppClient.js","sourceRoot":"","sources":["../../../src/lib/app/AppClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAoB,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAI9D,MAAM,OAAO,GAAG;IACJ,MAAM,CAAQ;IACd,SAAS,CAAW;IACpB,MAAM,CAAc;IACpB,SAAS,CAAwB;IAEzC,YAAY,MAAc,EAAE,YAAuB,EAAE,EAAE,SAAkC;QACrF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;IACzC,CAAC;IAED,KAAK;QACD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACtF,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAC,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAC1F,CAAC;IAEO,UAAU;QACd,OAAO,CACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBACjC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;gBAEnC,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;oBACxB,GAAG,IAAI,YAAY,EAAE,CAAA;gBACzB,CAAC;gBAED,OAAO,GAAG,CAAA;YACd,CAAC,EAAE,EAAE,CAAC,CACT,CAAA;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,CAAA;QAElD,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,UAAU,CAAC,GAAG,CAAC;YACpB;gBACI,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpD,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,41 @@
1
+ import type { Client } from "../../client.js";
2
+ import { HttpMethod } from "../../lib-internal/http/types.js";
3
+ import type { TaruviResponse } from "../../types.js";
4
+ export type AppOperation = HttpMethod;
5
+ export interface UrlParams {
6
+ appSlug?: string;
7
+ roles?: string;
8
+ settings?: string;
9
+ }
10
+ export interface AppClientInterface {
11
+ client: Client;
12
+ urlParams?: UrlParams;
13
+ }
14
+ export interface RoleData {
15
+ id: string | number;
16
+ name: string;
17
+ slug: string;
18
+ description?: string;
19
+ permissions?: string[];
20
+ created_at?: string;
21
+ updated_at?: string;
22
+ }
23
+ export interface AppSettingsData {
24
+ display_name: string;
25
+ icon: string | null;
26
+ icon_url: string | null;
27
+ primary_color: string;
28
+ secondary_color: string;
29
+ banner_image: string | null;
30
+ banner_image_url: string | null;
31
+ category: string;
32
+ documentation_url: string | null;
33
+ support_email: string | null;
34
+ default_frontend_worker_url: string | null;
35
+ created_at: string;
36
+ updated_at: string;
37
+ }
38
+ export type RoleResponse = TaruviResponse<RoleData>;
39
+ export type RolesListResponse = TaruviResponse<RoleData[]>;
40
+ export type AppSettingsResponse = TaruviResponse<AppSettingsData>;
41
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/app/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAA;AAGrC,MAAM,WAAW,SAAS;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,SAAS,CAAA;CACxB;AAGD,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAGD,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACrB;AAGD,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;AACnD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC1D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { HttpMethod } from "../../lib-internal/http/types.js";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/app/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA"}
@@ -0,0 +1,38 @@
1
+ import type { Client } from "../../client.js";
2
+ import type { TaruviResponse } from "../../types.js";
3
+ import type { UserData } from "../users/types.js";
4
+ /**
5
+ * Auth Client - Handles user authentication using Web UI Flow
6
+ * Uses session token for API authentication via X-Session-Token header.
7
+ * On 401, tokens are cleared automatically by HttpClient interceptor (403 does not clear the token).
8
+ */
9
+ export declare class Auth {
10
+ private client;
11
+ constructor(client: Client);
12
+ /**
13
+ * Redirect to login page (Web UI Flow)
14
+ */
15
+ login(callbackUrl?: string): void;
16
+ /**
17
+ * Redirect to signup page (Web UI Flow)
18
+ */
19
+ signup(callbackUrl?: string): void;
20
+ /**
21
+ * Logout user and redirect to logout page
22
+ */
23
+ logout(callbackUrl?: string): Promise<void>;
24
+ /**
25
+ * Check if user is authenticated (has session token)
26
+ */
27
+ isUserAuthenticated(): boolean;
28
+ /**
29
+ * Get the current session token
30
+ */
31
+ getSessionToken(): string | null;
32
+ /**
33
+ * Get current user from API
34
+ * @returns Promise with user data or null if not authenticated
35
+ */
36
+ getCurrentUser(): Promise<TaruviResponse<UserData> | null>;
37
+ }
38
+ //# 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,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD;;;;GAIG;AACH,qBAAa,IAAI;IACb,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBjC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAoBlC;;OAEG;IACG,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjD;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAYnE"}
@@ -1,126 +1,105 @@
1
- import type { Client } from "../../client.js";
2
- import type { TaruviResponse } from "../../types.js";
3
- import type { UserData } from "../users/types.js";
4
1
  import { UserRoutes } from "../../lib-internal/routes/UserRoutes.js";
5
-
6
2
  /**
7
3
  * Auth Client - Handles user authentication using Web UI Flow
8
4
  * Uses session token for API authentication via X-Session-Token header.
9
- * On 401/403, tokens are cleared automatically by HttpClient interceptor.
5
+ * On 401, tokens are cleared automatically by HttpClient interceptor (403 does not clear the token).
10
6
  */
11
7
  export class Auth {
12
- private client: Client
13
-
14
- constructor(client: Client) {
15
- this.client = client
8
+ client;
9
+ constructor(client) {
10
+ this.client = client;
16
11
  }
17
-
18
12
  /**
19
13
  * Redirect to login page (Web UI Flow)
20
14
  */
21
- login(callbackUrl?: string): void {
15
+ login(callbackUrl) {
22
16
  if (typeof window === "undefined") {
23
- console.error("login() can only be called in browser environment")
24
- return
17
+ console.error("login() can only be called in browser environment");
18
+ return;
25
19
  }
26
-
27
- const config = this.client.getConfig()
28
- const callback = callbackUrl || window.location.origin + window.location.pathname
29
- const deskUrl = config.deskUrl || config.apiUrl
30
- const loginUrl = `${deskUrl}/accounts/login/?redirect_to=${encodeURIComponent(callback)}`
31
-
20
+ const config = this.client.getConfig();
21
+ const callback = callbackUrl || window.location.origin + window.location.pathname;
22
+ const deskUrl = config.deskUrl || config.apiUrl;
23
+ const loginUrl = `${deskUrl}/accounts/login/?redirect_to=${encodeURIComponent(callback)}`;
32
24
  if (typeof sessionStorage !== "undefined") {
33
25
  sessionStorage.setItem("auth_state", JSON.stringify({
34
26
  returnTo: window.location.pathname,
35
27
  timestamp: Date.now()
36
- }))
28
+ }));
37
29
  }
38
-
39
- window.location.href = loginUrl
30
+ window.location.href = loginUrl;
40
31
  }
41
-
42
32
  /**
43
33
  * Redirect to signup page (Web UI Flow)
44
34
  */
45
- signup(callbackUrl?: string): void {
35
+ signup(callbackUrl) {
46
36
  if (typeof window === "undefined") {
47
- console.error("signup() can only be called in browser environment")
48
- return
37
+ console.error("signup() can only be called in browser environment");
38
+ return;
49
39
  }
50
-
51
- const config = this.client.getConfig()
52
- const callback = callbackUrl || window.location.origin + window.location.pathname
53
- const signupUrl = `${config.apiUrl}/accounts/signup/?redirect_to=${encodeURIComponent(callback)}`
54
-
40
+ const config = this.client.getConfig();
41
+ const callback = callbackUrl || window.location.origin + window.location.pathname;
42
+ const signupUrl = `${config.apiUrl}/accounts/signup/?redirect_to=${encodeURIComponent(callback)}`;
55
43
  if (typeof sessionStorage !== "undefined") {
56
44
  sessionStorage.setItem("auth_state", JSON.stringify({
57
45
  returnTo: window.location.pathname,
58
46
  timestamp: Date.now()
59
- }))
47
+ }));
60
48
  }
61
-
62
- window.location.href = signupUrl
49
+ window.location.href = signupUrl;
63
50
  }
64
-
65
51
  /**
66
52
  * Logout user and redirect to logout page
67
53
  */
68
- async logout(callbackUrl?: string): Promise<void> {
54
+ async logout(callbackUrl) {
69
55
  if (typeof window === "undefined") {
70
- console.error("logout() can only be called in browser environment")
71
- return
56
+ console.error("logout() can only be called in browser environment");
57
+ return;
72
58
  }
73
-
74
- this.client.tokenClient.clearTokens()
75
-
76
- const config = this.client.getConfig()
77
- const deskUrl = config.deskUrl || config.apiUrl
78
- let callback: string = callbackUrl || ""
79
-
59
+ this.client.tokenClient.clearTokens();
60
+ const config = this.client.getConfig();
61
+ const deskUrl = config.deskUrl || config.apiUrl;
62
+ let callback = callbackUrl || "";
80
63
  if (!callback) {
81
64
  try {
82
- const settings = await this.client.httpClient.get<{ frontend_url?: string }>(
83
- `api/sites/${config.appSlug}/metadata`
84
- )
85
- callback = settings.frontend_url || window.location.origin
86
- } catch (error) {
87
- console.error("Failed to fetch site settings, using origin:", error)
88
- callback = window.location.origin
65
+ const settings = await this.client.httpClient.get(`api/sites/${config.appSlug}/metadata`);
66
+ callback = settings.frontend_url || window.location.origin;
67
+ }
68
+ catch (error) {
69
+ console.error("Failed to fetch site settings, using origin:", error);
70
+ callback = window.location.origin;
89
71
  }
90
72
  }
91
-
92
- const logoutUrl = `${deskUrl}/accounts/logout/?redirect_to=${encodeURIComponent(callback)}`
93
- window.location.href = logoutUrl
73
+ const logoutUrl = `${deskUrl}/accounts/logout/?redirect_to=${encodeURIComponent(callback)}`;
74
+ window.location.href = logoutUrl;
94
75
  }
95
-
96
76
  /**
97
77
  * Check if user is authenticated (has session token)
98
78
  */
99
- isUserAuthenticated(): boolean {
100
- return this.client.tokenClient.isAuthenticated()
79
+ isUserAuthenticated() {
80
+ return this.client.tokenClient.isAuthenticated();
101
81
  }
102
-
103
82
  /**
104
83
  * Get the current session token
105
84
  */
106
- getSessionToken(): string | null {
107
- return this.client.tokenClient.getSessionToken()
85
+ getSessionToken() {
86
+ return this.client.tokenClient.getSessionToken();
108
87
  }
109
-
110
88
  /**
111
89
  * Get current user from API
112
90
  * @returns Promise with user data or null if not authenticated
113
91
  */
114
- async getCurrentUser(): Promise<TaruviResponse<UserData> | null> {
92
+ async getCurrentUser() {
115
93
  if (!this.isUserAuthenticated()) {
116
- return null
94
+ return null;
117
95
  }
118
-
119
96
  try {
120
- return await this.client.httpClient.get<TaruviResponse<UserData>>(UserRoutes.getCurrentUser())
121
- } catch (error) {
122
- console.error("Failed to fetch current user:", error)
123
- return null
97
+ return await this.client.httpClient.get(UserRoutes.getCurrentUser());
98
+ }
99
+ catch (error) {
100
+ console.error("Failed to fetch current user:", error);
101
+ return null;
124
102
  }
125
103
  }
126
104
  }
105
+ //# 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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"}