@hlmr/sdk-js 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +291 -0
  3. package/dist/cjs/client/HlmrClient.d.ts +23 -0
  4. package/dist/cjs/client/HlmrClient.d.ts.map +1 -0
  5. package/dist/cjs/client/HlmrClient.js +88 -0
  6. package/dist/cjs/client/HlmrClient.js.map +1 -0
  7. package/dist/cjs/index.d.ts +10 -0
  8. package/dist/cjs/index.d.ts.map +1 -0
  9. package/dist/cjs/index.js +13 -0
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/modules/auth.d.ts +8 -0
  12. package/dist/cjs/modules/auth.d.ts.map +1 -0
  13. package/dist/cjs/modules/auth.js +18 -0
  14. package/dist/cjs/modules/auth.js.map +1 -0
  15. package/dist/cjs/modules/system.d.ts +9 -0
  16. package/dist/cjs/modules/system.d.ts.map +1 -0
  17. package/dist/cjs/modules/system.js +23 -0
  18. package/dist/cjs/modules/system.js.map +1 -0
  19. package/dist/cjs/modules/user.d.ts +8 -0
  20. package/dist/cjs/modules/user.d.ts.map +1 -0
  21. package/dist/cjs/modules/user.js +14 -0
  22. package/dist/cjs/modules/user.js.map +1 -0
  23. package/dist/cjs/types/auth.d.ts +15 -0
  24. package/dist/cjs/types/auth.d.ts.map +1 -0
  25. package/dist/cjs/types/auth.js +3 -0
  26. package/dist/cjs/types/auth.js.map +1 -0
  27. package/dist/cjs/types/common.d.ts +33 -0
  28. package/dist/cjs/types/common.d.ts.map +1 -0
  29. package/dist/cjs/types/common.js +21 -0
  30. package/dist/cjs/types/common.js.map +1 -0
  31. package/dist/cjs/types/errors.d.ts +41 -0
  32. package/dist/cjs/types/errors.d.ts.map +1 -0
  33. package/dist/cjs/types/errors.js +56 -0
  34. package/dist/cjs/types/errors.js.map +1 -0
  35. package/dist/cjs/types/system.d.ts +20 -0
  36. package/dist/cjs/types/system.d.ts.map +1 -0
  37. package/dist/cjs/types/system.js +3 -0
  38. package/dist/cjs/types/system.js.map +1 -0
  39. package/dist/cjs/types/user.d.ts +14 -0
  40. package/dist/cjs/types/user.d.ts.map +1 -0
  41. package/dist/cjs/types/user.js +3 -0
  42. package/dist/cjs/types/user.js.map +1 -0
  43. package/dist/cjs/utils/http.d.ts +19 -0
  44. package/dist/cjs/utils/http.d.ts.map +1 -0
  45. package/dist/cjs/utils/http.js +139 -0
  46. package/dist/cjs/utils/http.js.map +1 -0
  47. package/dist/cjs/utils/jsend.d.ts +10 -0
  48. package/dist/cjs/utils/jsend.d.ts.map +1 -0
  49. package/dist/cjs/utils/jsend.js +54 -0
  50. package/dist/cjs/utils/jsend.js.map +1 -0
  51. package/dist/esm/client/HlmrClient.d.ts +23 -0
  52. package/dist/esm/client/HlmrClient.d.ts.map +1 -0
  53. package/dist/esm/client/HlmrClient.js +84 -0
  54. package/dist/esm/client/HlmrClient.js.map +1 -0
  55. package/dist/esm/index.d.ts +10 -0
  56. package/dist/esm/index.d.ts.map +1 -0
  57. package/dist/esm/index.js +5 -0
  58. package/dist/esm/index.js.map +1 -0
  59. package/dist/esm/modules/auth.d.ts +8 -0
  60. package/dist/esm/modules/auth.d.ts.map +1 -0
  61. package/dist/esm/modules/auth.js +14 -0
  62. package/dist/esm/modules/auth.js.map +1 -0
  63. package/dist/esm/modules/system.d.ts +9 -0
  64. package/dist/esm/modules/system.d.ts.map +1 -0
  65. package/dist/esm/modules/system.js +19 -0
  66. package/dist/esm/modules/system.js.map +1 -0
  67. package/dist/esm/modules/user.d.ts +8 -0
  68. package/dist/esm/modules/user.d.ts.map +1 -0
  69. package/dist/esm/modules/user.js +10 -0
  70. package/dist/esm/modules/user.js.map +1 -0
  71. package/dist/esm/types/auth.d.ts +15 -0
  72. package/dist/esm/types/auth.d.ts.map +1 -0
  73. package/dist/esm/types/auth.js +2 -0
  74. package/dist/esm/types/auth.js.map +1 -0
  75. package/dist/esm/types/common.d.ts +33 -0
  76. package/dist/esm/types/common.d.ts.map +1 -0
  77. package/dist/esm/types/common.js +18 -0
  78. package/dist/esm/types/common.js.map +1 -0
  79. package/dist/esm/types/errors.d.ts +41 -0
  80. package/dist/esm/types/errors.d.ts.map +1 -0
  81. package/dist/esm/types/errors.js +52 -0
  82. package/dist/esm/types/errors.js.map +1 -0
  83. package/dist/esm/types/system.d.ts +20 -0
  84. package/dist/esm/types/system.d.ts.map +1 -0
  85. package/dist/esm/types/system.js +2 -0
  86. package/dist/esm/types/system.js.map +1 -0
  87. package/dist/esm/types/user.d.ts +14 -0
  88. package/dist/esm/types/user.d.ts.map +1 -0
  89. package/dist/esm/types/user.js +2 -0
  90. package/dist/esm/types/user.js.map +1 -0
  91. package/dist/esm/utils/http.d.ts +19 -0
  92. package/dist/esm/utils/http.d.ts.map +1 -0
  93. package/dist/esm/utils/http.js +135 -0
  94. package/dist/esm/utils/http.js.map +1 -0
  95. package/dist/esm/utils/jsend.d.ts +10 -0
  96. package/dist/esm/utils/jsend.d.ts.map +1 -0
  97. package/dist/esm/utils/jsend.js +44 -0
  98. package/dist/esm/utils/jsend.js.map +1 -0
  99. package/dist/types/client/HlmrClient.d.ts +23 -0
  100. package/dist/types/client/HlmrClient.d.ts.map +1 -0
  101. package/dist/types/index.d.ts +10 -0
  102. package/dist/types/index.d.ts.map +1 -0
  103. package/dist/types/modules/auth.d.ts +8 -0
  104. package/dist/types/modules/auth.d.ts.map +1 -0
  105. package/dist/types/modules/system.d.ts +9 -0
  106. package/dist/types/modules/system.d.ts.map +1 -0
  107. package/dist/types/modules/user.d.ts +8 -0
  108. package/dist/types/modules/user.d.ts.map +1 -0
  109. package/dist/types/types/auth.d.ts +15 -0
  110. package/dist/types/types/auth.d.ts.map +1 -0
  111. package/dist/types/types/common.d.ts +33 -0
  112. package/dist/types/types/common.d.ts.map +1 -0
  113. package/dist/types/types/errors.d.ts +41 -0
  114. package/dist/types/types/errors.d.ts.map +1 -0
  115. package/dist/types/types/system.d.ts +20 -0
  116. package/dist/types/types/system.d.ts.map +1 -0
  117. package/dist/types/types/user.d.ts +14 -0
  118. package/dist/types/types/user.d.ts.map +1 -0
  119. package/dist/types/utils/http.d.ts +19 -0
  120. package/dist/types/utils/http.d.ts.map +1 -0
  121. package/dist/types/utils/jsend.d.ts +10 -0
  122. package/dist/types/utils/jsend.d.ts.map +1 -0
  123. package/dist/umd/hlmr-sdk.js +359 -0
  124. package/dist/umd/hlmr-sdk.js.map +1 -0
  125. package/dist/umd/hlmr-sdk.min.js +2 -0
  126. package/dist/umd/hlmr-sdk.min.js.map +1 -0
  127. package/package.json +74 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/modules/system.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAKzB,qBAAa,YAAY;IACX,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAO9B,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAYnC,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;CAOhD"}
@@ -0,0 +1,19 @@
1
+ export class SystemModule {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ async ping() {
6
+ const response = await this.http.get('ping', {
7
+ apiVersion: ''
8
+ });
9
+ return response.data;
10
+ }
11
+ async version() {
12
+ const response = await this.http.get('version', {
13
+ apiVersion: '',
14
+ skipAuth: true
15
+ });
16
+ return response.data;
17
+ }
18
+ }
19
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/modules/system.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,YAAY;IACvB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAOxC,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,MAAM,EAAE;YAC/D,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAOD,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwB,SAAS,EAAE;YACrE,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { HttpClient } from '../utils/http';
2
+ import type { UserProfile } from '../types/user';
3
+ export declare class UserModule {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ getProfile(): Promise<UserProfile>;
7
+ }
8
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/modules/user.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAKjD,qBAAa,UAAU;IACT,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAO9B,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;CAIzC"}
@@ -0,0 +1,10 @@
1
+ export class UserModule {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ async getProfile() {
6
+ const response = await this.http.get('users/profile');
7
+ return response.data;
8
+ }
9
+ }
10
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/modules/user.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,UAAU;IACrB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAOxC,KAAK,CAAC,UAAU;QACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,eAAe,CAAC,CAAC;QACnE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ export interface AuthValidateRedirectRequest {
2
+ app_id: string;
3
+ redirect_uri: string;
4
+ }
5
+ export interface AuthValidateRedirectResponse {
6
+ valid: boolean;
7
+ app?: {
8
+ id: string;
9
+ name: string;
10
+ base_url: string;
11
+ hosts: string[];
12
+ };
13
+ error?: string;
14
+ }
15
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/types/auth.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,2BAA2B;IAE1C,MAAM,EAAE,MAAM,CAAC;IAGf,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,MAAM,WAAW,4BAA4B;IAE3C,KAAK,EAAE,OAAO,CAAC;IAGf,GAAG,CAAC,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IAGF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/types/auth.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ export interface Environment {
2
+ name: string;
3
+ url: string;
4
+ description?: string;
5
+ }
6
+ export declare const ENVIRONMENTS: Record<string, Environment>;
7
+ export interface HlmrClientConfig {
8
+ baseUrl: string;
9
+ appId: string;
10
+ bearerToken?: string | undefined;
11
+ timeout?: number | undefined;
12
+ customHeaders?: Record<string, string>;
13
+ debug?: boolean | undefined;
14
+ }
15
+ export interface HlmrClientOptions {
16
+ environment?: string | Environment;
17
+ appId: string;
18
+ bearerToken?: string | undefined;
19
+ config?: Partial<Omit<HlmrClientConfig, 'baseUrl' | 'appId'>>;
20
+ }
21
+ export interface RequestOptions {
22
+ headers?: Record<string, string>;
23
+ timeout?: number;
24
+ skipAuth?: boolean;
25
+ apiVersion?: string;
26
+ }
27
+ export interface HttpResponse<T = any> {
28
+ status: number;
29
+ statusText: string;
30
+ headers: Record<string, string>;
31
+ data: T;
32
+ }
33
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAgBpD,CAAC;AAKF,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,CAAC;IAGd,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG7B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGvC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAKD,MAAM,WAAW,iBAAiB;IAEhC,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAGnC,KAAK,EAAE,MAAM,CAAC;IAGd,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGjC,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;CAC/D;AAKD,MAAM,WAAW,cAAc;IAE7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;CACT"}
@@ -0,0 +1,18 @@
1
+ export const ENVIRONMENTS = {
2
+ production: {
3
+ name: 'production',
4
+ url: 'https://api.hlmr.io',
5
+ description: 'Environnement de production'
6
+ },
7
+ development: {
8
+ name: 'development',
9
+ url: 'https://api.dev.hlmr.io',
10
+ description: 'Environnement de développement'
11
+ },
12
+ staging: {
13
+ name: 'staging',
14
+ url: 'https://api.stg.hlmr.io',
15
+ description: 'Environnement de staging'
16
+ }
17
+ };
18
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,qBAAqB;QAC1B,WAAW,EAAE,6BAA6B;KAC3C;IACD,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,yBAAyB;QAC9B,WAAW,EAAE,gCAAgC;KAC9C;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,yBAAyB;QAC9B,WAAW,EAAE,0BAA0B;KACxC;CACF,CAAC"}
@@ -0,0 +1,41 @@
1
+ export interface JSendResponse<T = any> {
2
+ status: 'success' | 'fail' | 'error';
3
+ data?: T;
4
+ message?: string;
5
+ code?: number | string;
6
+ }
7
+ export interface JSendSuccessResponse<T = any> {
8
+ status: 'success';
9
+ data: T;
10
+ }
11
+ export interface JSendFailResponse {
12
+ status: 'fail';
13
+ data: {
14
+ detail: string;
15
+ [key: string]: any;
16
+ };
17
+ }
18
+ export interface JSendErrorResponse {
19
+ status: 'error';
20
+ message: string;
21
+ code?: number | string;
22
+ }
23
+ export declare class HlmrApiError extends Error {
24
+ readonly name = "HlmrApiError";
25
+ readonly statusCode: number;
26
+ readonly code?: string | number | undefined;
27
+ readonly response?: JSendResponse | undefined;
28
+ readonly originalError?: Error | undefined;
29
+ constructor(message: string, statusCode: number, code?: string | number, response?: JSendResponse, originalError?: Error);
30
+ static fromJSendResponse(response: JSendResponse, statusCode: number): HlmrApiError;
31
+ static networkError(originalError: Error): HlmrApiError;
32
+ static timeoutError(timeout: number): HlmrApiError;
33
+ static configError(message: string): HlmrApiError;
34
+ isAuthError(): boolean;
35
+ isPermissionError(): boolean;
36
+ isValidationError(): boolean;
37
+ isServerError(): boolean;
38
+ isNetworkError(): boolean;
39
+ isTimeoutError(): boolean;
40
+ }
41
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/errors.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;CACT;AAKD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAKD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAKD,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAyB,IAAI,kBAAkB;IAC/C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACnD,SAAgB,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACrD,SAAgB,aAAa,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;gBAGhD,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,CAAC,EAAE,aAAa,EACxB,aAAa,CAAC,EAAE,KAAK;IAiBvB,MAAM,CAAC,iBAAiB,CACtB,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,MAAM,GACjB,YAAY;IAgCf,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,GAAG,YAAY;IAavD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAWlD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAWjD,WAAW,IAAI,OAAO;IAOtB,iBAAiB,IAAI,OAAO;IAO5B,iBAAiB,IAAI,OAAO;IAO5B,aAAa,IAAI,OAAO;IAOxB,cAAc,IAAI,OAAO;IAOzB,cAAc,IAAI,OAAO;CAG1B"}
@@ -0,0 +1,52 @@
1
+ export class HlmrApiError extends Error {
2
+ constructor(message, statusCode, code, response, originalError) {
3
+ super(message);
4
+ this.name = 'HlmrApiError';
5
+ this.statusCode = statusCode;
6
+ this.code = code;
7
+ this.response = response;
8
+ this.originalError = originalError;
9
+ if (Error.captureStackTrace) {
10
+ Error.captureStackTrace(this, HlmrApiError);
11
+ }
12
+ }
13
+ static fromJSendResponse(response, statusCode) {
14
+ if (response.status === 'fail') {
15
+ const failResponse = response;
16
+ return new HlmrApiError(failResponse.data.detail || 'Validation failed', statusCode, 'VALIDATION_ERROR', response);
17
+ }
18
+ if (response.status === 'error') {
19
+ const errorResponse = response;
20
+ return new HlmrApiError(errorResponse.message || 'Server error', statusCode, errorResponse.code || 'SERVER_ERROR', response);
21
+ }
22
+ return new HlmrApiError('Unknown API error', statusCode, 'UNKNOWN_ERROR', response);
23
+ }
24
+ static networkError(originalError) {
25
+ return new HlmrApiError(`Network error: ${originalError.message}`, 0, 'NETWORK_ERROR', undefined, originalError);
26
+ }
27
+ static timeoutError(timeout) {
28
+ return new HlmrApiError(`Request timeout after ${timeout}ms`, 0, 'TIMEOUT_ERROR');
29
+ }
30
+ static configError(message) {
31
+ return new HlmrApiError(`Configuration error: ${message}`, 0, 'CONFIG_ERROR');
32
+ }
33
+ isAuthError() {
34
+ return this.statusCode === 401;
35
+ }
36
+ isPermissionError() {
37
+ return this.statusCode === 403;
38
+ }
39
+ isValidationError() {
40
+ return this.statusCode >= 400 && this.statusCode < 500 && this.code === 'VALIDATION_ERROR';
41
+ }
42
+ isServerError() {
43
+ return this.statusCode >= 500;
44
+ }
45
+ isNetworkError() {
46
+ return this.code === 'NETWORK_ERROR';
47
+ }
48
+ isTimeoutError() {
49
+ return this.code === 'TIMEOUT_ERROR';
50
+ }
51
+ }
52
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/types/errors.ts"],"names":[],"mappings":"AA8CA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAOrC,YACE,OAAe,EACf,UAAkB,EAClB,IAAsB,EACtB,QAAwB,EACxB,aAAqB;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QAbQ,SAAI,GAAG,cAAc,CAAC;QAc7C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAGnC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAKD,MAAM,CAAC,iBAAiB,CACtB,QAAuB,EACvB,UAAkB;QAElB,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,QAA6B,CAAC;YACnD,OAAO,IAAI,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,mBAAmB,EAC/C,UAAU,EACV,kBAAkB,EAClB,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,QAA8B,CAAC;YACrD,OAAO,IAAI,YAAY,CACrB,aAAa,CAAC,OAAO,IAAI,cAAc,EACvC,UAAU,EACV,aAAa,CAAC,IAAI,IAAI,cAAc,EACpC,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,YAAY,CACrB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,QAAQ,CACT,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,YAAY,CAAC,aAAoB;QACtC,OAAO,IAAI,YAAY,CACrB,kBAAkB,aAAa,CAAC,OAAO,EAAE,EACzC,CAAC,EACD,eAAe,EACf,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,YAAY,CAAC,OAAe;QACjC,OAAO,IAAI,YAAY,CACrB,yBAAyB,OAAO,IAAI,EACpC,CAAC,EACD,eAAe,CAChB,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,WAAW,CAAC,OAAe;QAChC,OAAO,IAAI,YAAY,CACrB,wBAAwB,OAAO,EAAE,EACjC,CAAC,EACD,cAAc,CACf,CAAC;IACJ,CAAC;IAKD,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC;IACjC,CAAC;IAKD,iBAAiB;QACf,OAAO,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC;IACjC,CAAC;IAKD,iBAAiB;QACf,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC;IAC7F,CAAC;IAKD,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;IAChC,CAAC;IAKD,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;IACvC,CAAC;IAKD,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;IACvC,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ export interface SystemPingResponse {
2
+ message: string;
3
+ timestamp: string;
4
+ user?: {
5
+ id: string;
6
+ email: string;
7
+ };
8
+ app?: {
9
+ id: string;
10
+ name: string;
11
+ };
12
+ }
13
+ export interface SystemVersionResponse {
14
+ version: string;
15
+ build_sha?: string;
16
+ build_date?: string;
17
+ environment?: string;
18
+ services?: string[];
19
+ }
20
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/types/system.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IAEjC,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,MAAM,CAAC;IAGlB,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAGF,GAAG,CAAC,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAKD,MAAM,WAAW,qBAAqB;IAEpC,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/types/system.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export interface UserProfile {
2
+ id: string;
3
+ email: string;
4
+ full_name?: string;
5
+ avatar_url?: string;
6
+ user_metadata?: {
7
+ [key: string]: any;
8
+ };
9
+ created_at: string;
10
+ updated_at: string;
11
+ last_sign_in_at?: string;
12
+ email_confirmed_at?: string;
13
+ }
14
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/types/user.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAE1B,EAAE,EAAE,MAAM,CAAC;IAGX,KAAK,EAAE,MAAM,CAAC;IAGd,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,aAAa,CAAC,EAAE;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAGF,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/types/user.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import type { HlmrClientConfig, RequestOptions, HttpResponse } from '../types/common';
2
+ export declare class HttpClient {
3
+ private config;
4
+ constructor(config: HlmrClientConfig);
5
+ updateConfig(updates: Partial<HlmrClientConfig>): void;
6
+ setBearerToken(token: string): void;
7
+ clearBearerToken(): void;
8
+ private buildUrl;
9
+ private buildHeaders;
10
+ private createTimeoutController;
11
+ private processResponse;
12
+ private request;
13
+ get<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>>;
14
+ post<T>(path: string, body?: any, options?: RequestOptions): Promise<HttpResponse<T>>;
15
+ put<T>(path: string, body?: any, options?: RequestOptions): Promise<HttpResponse<T>>;
16
+ patch<T>(path: string, body?: any, options?: RequestOptions): Promise<HttpResponse<T>>;
17
+ delete<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>>;
18
+ }
19
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/utils/http.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,iBAAiB,CAAC;AAWzB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAOpC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAOtD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOnC,gBAAgB,IAAI,IAAI;IAOxB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,uBAAuB;YASjB,eAAe;YAuDf,OAAO;IAsDf,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAOxE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAOrF,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAOpF,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAOtF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAGlF"}
@@ -0,0 +1,135 @@
1
+ import { HlmrApiError } from '../types/errors';
2
+ import { isJSendResponse, isJSendSuccess } from './jsend';
3
+ export class HttpClient {
4
+ constructor(config) {
5
+ this.config = config;
6
+ }
7
+ updateConfig(updates) {
8
+ this.config = { ...this.config, ...updates };
9
+ }
10
+ setBearerToken(token) {
11
+ this.config.bearerToken = token;
12
+ }
13
+ clearBearerToken() {
14
+ delete this.config.bearerToken;
15
+ }
16
+ buildUrl(path, apiVersion = 'v1') {
17
+ const baseUrl = this.config.baseUrl.replace(/\/$/, '');
18
+ const cleanPath = path.replace(/^\//, '');
19
+ if (cleanPath.match(/^v\d+\//)) {
20
+ return `${baseUrl}/${cleanPath}`;
21
+ }
22
+ return `${baseUrl}/${apiVersion}/${cleanPath}`;
23
+ }
24
+ buildHeaders(options = {}) {
25
+ const headers = {
26
+ 'Content-Type': 'application/json',
27
+ 'X-App-ID': this.config.appId,
28
+ ...this.config.customHeaders,
29
+ ...options.headers
30
+ };
31
+ if (this.config.bearerToken && !options.skipAuth) {
32
+ headers['Authorization'] = `Bearer ${this.config.bearerToken}`;
33
+ }
34
+ return headers;
35
+ }
36
+ createTimeoutController(timeout) {
37
+ const controller = new AbortController();
38
+ setTimeout(() => controller.abort(), timeout);
39
+ return controller;
40
+ }
41
+ async processResponse(response) {
42
+ const headers = {};
43
+ response.headers.forEach((value, key) => {
44
+ headers[key] = value;
45
+ });
46
+ let data;
47
+ const contentType = response.headers.get('content-type');
48
+ if (contentType && contentType.includes('application/json')) {
49
+ try {
50
+ data = await response.json();
51
+ }
52
+ catch (error) {
53
+ data = await response.text();
54
+ }
55
+ }
56
+ else {
57
+ data = await response.text();
58
+ }
59
+ if (isJSendResponse(data)) {
60
+ if (!response.ok) {
61
+ throw HlmrApiError.fromJSendResponse(data, response.status);
62
+ }
63
+ if (isJSendSuccess(data)) {
64
+ return {
65
+ status: response.status,
66
+ statusText: response.statusText,
67
+ headers,
68
+ data: data.data
69
+ };
70
+ }
71
+ }
72
+ if (!response.ok) {
73
+ throw new HlmrApiError(`HTTP ${response.status}: ${response.statusText}`, response.status, 'HTTP_ERROR');
74
+ }
75
+ return {
76
+ status: response.status,
77
+ statusText: response.statusText,
78
+ headers,
79
+ data
80
+ };
81
+ }
82
+ async request(method, path, body, options = {}) {
83
+ const url = this.buildUrl(path, options.apiVersion);
84
+ const headers = this.buildHeaders(options);
85
+ const timeout = options.timeout || this.config.timeout || 30000;
86
+ if (this.config.debug) {
87
+ console.log(`[HlmrSDK] ${method} ${url}`, { headers, body });
88
+ }
89
+ const controller = this.createTimeoutController(timeout);
90
+ const requestInit = {
91
+ method,
92
+ headers,
93
+ signal: controller.signal
94
+ };
95
+ if (body && ['POST', 'PUT', 'PATCH'].includes(method.toUpperCase())) {
96
+ requestInit.body = typeof body === 'string' ? body : JSON.stringify(body);
97
+ }
98
+ try {
99
+ const response = await fetch(url, requestInit);
100
+ const result = await this.processResponse(response);
101
+ if (this.config.debug) {
102
+ console.log(`[HlmrSDK] Response:`, result);
103
+ }
104
+ return result;
105
+ }
106
+ catch (error) {
107
+ if (error instanceof HlmrApiError) {
108
+ throw error;
109
+ }
110
+ if (error instanceof Error) {
111
+ if (error.name === 'AbortError') {
112
+ throw HlmrApiError.timeoutError(timeout);
113
+ }
114
+ throw HlmrApiError.networkError(error);
115
+ }
116
+ throw new HlmrApiError('Unknown error occurred', 0, 'UNKNOWN_ERROR');
117
+ }
118
+ }
119
+ async get(path, options) {
120
+ return this.request('GET', path, undefined, options);
121
+ }
122
+ async post(path, body, options) {
123
+ return this.request('POST', path, body, options);
124
+ }
125
+ async put(path, body, options) {
126
+ return this.request('PUT', path, body, options);
127
+ }
128
+ async patch(path, body, options) {
129
+ return this.request('PATCH', path, body, options);
130
+ }
131
+ async delete(path, options) {
132
+ return this.request('DELETE', path, undefined, options);
133
+ }
134
+ }
135
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/utils/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { JSendResponse, JSendSuccessResponse, JSendFailResponse, JSendErrorResponse } from '../types/errors';
2
+ export declare function isJSendResponse(response: any): response is JSendResponse;
3
+ export declare function isJSendSuccess<T = any>(response: JSendResponse): response is JSendSuccessResponse<T>;
4
+ export declare function isJSendFail(response: JSendResponse): response is JSendFailResponse;
5
+ export declare function isJSendError(response: JSendResponse): response is JSendErrorResponse;
6
+ export declare function extractJSendData<T>(response: JSendResponse): T;
7
+ export declare function createJSendSuccess<T>(data: T): JSendSuccessResponse<T>;
8
+ export declare function createJSendFail(detail: string, additionalData?: Record<string, any>): JSendFailResponse;
9
+ export declare function createJSendError(message: string, code?: string | number): JSendErrorResponse;
10
+ //# sourceMappingURL=jsend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsend.d.ts","sourceRoot":"","sources":["../../../src/utils/jsend.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAKzB,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI,aAAa,CAOxE;AAKD,wBAAgB,cAAc,CAAC,CAAC,GAAG,GAAG,EACpC,QAAQ,EAAE,aAAa,GACtB,QAAQ,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAErC;AAKD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,aAAa,GACtB,QAAQ,IAAI,iBAAiB,CAE/B;AAKD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,aAAa,GACtB,QAAQ,IAAI,kBAAkB,CAEhC;AAKD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,CAAC,CAM9D;AAKD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAKtE;AAKD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB,CAQvG;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAM5F"}
@@ -0,0 +1,44 @@
1
+ export function isJSendResponse(response) {
2
+ return (typeof response === 'object' &&
3
+ response !== null &&
4
+ typeof response.status === 'string' &&
5
+ ['success', 'fail', 'error'].includes(response.status));
6
+ }
7
+ export function isJSendSuccess(response) {
8
+ return response.status === 'success' && 'data' in response;
9
+ }
10
+ export function isJSendFail(response) {
11
+ return response.status === 'fail' && 'data' in response;
12
+ }
13
+ export function isJSendError(response) {
14
+ return response.status === 'error' && 'message' in response;
15
+ }
16
+ export function extractJSendData(response) {
17
+ if (isJSendSuccess(response)) {
18
+ return response.data;
19
+ }
20
+ throw new Error('Response is not a JSend success response');
21
+ }
22
+ export function createJSendSuccess(data) {
23
+ return {
24
+ status: 'success',
25
+ data
26
+ };
27
+ }
28
+ export function createJSendFail(detail, additionalData) {
29
+ return {
30
+ status: 'fail',
31
+ data: {
32
+ detail,
33
+ ...additionalData
34
+ }
35
+ };
36
+ }
37
+ export function createJSendError(message, code) {
38
+ return {
39
+ status: 'error',
40
+ message,
41
+ ...(code && { code })
42
+ };
43
+ }
44
+ //# sourceMappingURL=jsend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsend.js","sourceRoot":"","sources":["../../../src/utils/jsend.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,eAAe,CAAC,QAAa;IAC3C,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;QACnC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CACvD,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,cAAc,CAC5B,QAAuB;IAEvB,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,QAAQ,CAAC;AAC7D,CAAC;AAKD,MAAM,UAAU,WAAW,CACzB,QAAuB;IAEvB,OAAO,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,IAAI,QAAQ,CAAC;AAC1D,CAAC;AAKD,MAAM,UAAU,YAAY,CAC1B,QAAuB;IAEvB,OAAO,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,IAAI,QAAQ,CAAC;AAC9D,CAAC;AAKD,MAAM,UAAU,gBAAgB,CAAI,QAAuB;IACzD,IAAI,cAAc,CAAI,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC9D,CAAC;AAKD,MAAM,UAAU,kBAAkB,CAAI,IAAO;IAC3C,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI;KACL,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,cAAoC;IAClF,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,MAAM;YACN,GAAG,cAAc;SAClB;KACF,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAsB;IACtE,OAAO;QACL,MAAM,EAAE,OAAO;QACf,OAAO;QACP,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;KACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { HlmrClientOptions, HlmrClientConfig } from '../types/common';
2
+ import { ENVIRONMENTS } from '../types/common';
3
+ import { AuthModule } from '../modules/auth';
4
+ import { UserModule } from '../modules/user';
5
+ import { SystemModule } from '../modules/system';
6
+ export declare class HlmrClient {
7
+ private httpClient;
8
+ readonly auth: AuthModule;
9
+ readonly user: UserModule;
10
+ readonly system: SystemModule;
11
+ constructor(options: HlmrClientOptions);
12
+ private buildConfig;
13
+ setBearerToken(token: string): void;
14
+ clearBearerToken(): void;
15
+ getConfig(): Partial<HlmrClientConfig>;
16
+ updateConfig(updates: Partial<Omit<HlmrClientConfig, 'baseUrl' | 'appId'>>): void;
17
+ setDebug(enabled: boolean): void;
18
+ static forEnvironment(environment: keyof typeof ENVIRONMENTS, appId: string, bearerToken?: string): HlmrClient;
19
+ static forProduction(appId: string, bearerToken?: string): HlmrClient;
20
+ static forDevelopment(appId: string, bearerToken?: string): HlmrClient;
21
+ static forStaging(appId: string, bearerToken?: string): HlmrClient;
22
+ }
23
+ //# sourceMappingURL=HlmrClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HlmrClient.d.ts","sourceRoot":"","sources":["../../../src/client/HlmrClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAa;IAG/B,SAAgB,IAAI,EAAE,UAAU,CAAC;IAGjC,SAAgB,IAAI,EAAE,UAAU,CAAC;IAGjC,SAAgB,MAAM,EAAE,YAAY,CAAC;gBAEzB,OAAO,EAAE,iBAAiB;IAatC,OAAO,CAAC,WAAW;IAmCnB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUnC,gBAAgB,IAAI,IAAI;IAOxB,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IActC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI;IAOjF,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOhC,MAAM,CAAC,cAAc,CACnB,WAAW,EAAE,MAAM,OAAO,YAAY,EACtC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,UAAU;IAWb,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU;IAOrE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU;IAOtE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU;CAGnE"}
@@ -0,0 +1,10 @@
1
+ export { HlmrClient } from './client/HlmrClient';
2
+ export type { HlmrClientConfig, HlmrClientOptions, Environment } from './types/common';
3
+ export type { AuthValidateRedirectRequest, AuthValidateRedirectResponse } from './types/auth';
4
+ export type { UserProfile } from './types/user';
5
+ export type { SystemPingResponse, SystemVersionResponse } from './types/system';
6
+ export type { HlmrApiError, JSendResponse, JSendSuccessResponse, JSendFailResponse, JSendErrorResponse } from './types/errors';
7
+ export { isJSendResponse, isJSendSuccess, isJSendFail, isJSendError } from './utils/jsend';
8
+ export declare const SDK_VERSION = "1.0.0";
9
+ export declare const SDK_NAME = "hlmr-sdk-js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG3F,eAAO,MAAM,WAAW,UAAU,CAAC;AACnC,eAAO,MAAM,QAAQ,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { HttpClient } from '../utils/http';
2
+ import type { AuthValidateRedirectResponse } from '../types/auth';
3
+ export declare class AuthModule {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ validateRedirect(appId: string, redirectUri: string): Promise<AuthValidateRedirectResponse>;
7
+ }
8
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/modules/auth.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,eAAe,CAAC;AAKvB,qBAAa,UAAU;IACT,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAS9B,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,4BAA4B,CAAC;CAczC"}
@@ -0,0 +1,9 @@
1
+ import type { HttpClient } from '../utils/http';
2
+ import type { SystemPingResponse, SystemVersionResponse } from '../types/system';
3
+ export declare class SystemModule {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ ping(): Promise<SystemPingResponse>;
7
+ version(): Promise<SystemVersionResponse>;
8
+ }
9
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/modules/system.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAKzB,qBAAa,YAAY;IACX,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAO9B,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAYnC,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;CAOhD"}
@@ -0,0 +1,8 @@
1
+ import type { HttpClient } from '../utils/http';
2
+ import type { UserProfile } from '../types/user';
3
+ export declare class UserModule {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ getProfile(): Promise<UserProfile>;
7
+ }
8
+ //# sourceMappingURL=user.d.ts.map