entity-client 1.0.8 → 1.0.9

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 (40) hide show
  1. package/dist/EntityAppServerApi.d.ts +112 -176
  2. package/dist/EntityServerApi.d.ts +57 -92
  3. package/dist/client/base.d.ts +16 -12
  4. package/dist/client/base.js +1 -1
  5. package/dist/client/base.js.map +3 -3
  6. package/dist/client/request.d.ts +2 -2
  7. package/dist/client/request.js +1 -1
  8. package/dist/client/request.js.map +3 -3
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +3 -3
  11. package/dist/mixins/app/plugins/alimtalk.d.ts +7 -11
  12. package/dist/mixins/app/plugins/friendtalk.d.ts +7 -11
  13. package/dist/mixins/app/plugins/holidays.d.ts +7 -11
  14. package/dist/mixins/app/plugins/identity.d.ts +7 -11
  15. package/dist/mixins/app/plugins/llm.d.ts +7 -11
  16. package/dist/mixins/app/plugins/ocr.d.ts +7 -11
  17. package/dist/mixins/app/plugins/pg.d.ts +7 -11
  18. package/dist/mixins/app/plugins/push.d.ts +7 -11
  19. package/dist/mixins/app/plugins/sms.d.ts +7 -11
  20. package/dist/mixins/app/plugins/taxinvoice.d.ts +7 -11
  21. package/dist/mixins/app/routes/account.d.ts +7 -11
  22. package/dist/mixins/app/routes/board.d.ts +7 -11
  23. package/dist/mixins/app/routes/email-verify.d.ts +7 -11
  24. package/dist/mixins/app/routes/oauth.d.ts +7 -11
  25. package/dist/mixins/app/routes/password-reset.d.ts +7 -11
  26. package/dist/mixins/app/routes/two-factor.d.ts +7 -11
  27. package/dist/mixins/server/admin.d.ts +7 -11
  28. package/dist/mixins/server/auth.d.ts +9 -16
  29. package/dist/mixins/server/auth.js +1 -1
  30. package/dist/mixins/server/auth.js.map +2 -2
  31. package/dist/mixins/server/entity.d.ts +7 -11
  32. package/dist/mixins/server/file.d.ts +7 -11
  33. package/dist/mixins/server/push.d.ts +7 -11
  34. package/dist/mixins/server/smtp.d.ts +7 -11
  35. package/dist/mixins/server/transaction.d.ts +7 -11
  36. package/dist/mixins/server/utils.d.ts +7 -11
  37. package/dist/react.js +1 -1
  38. package/dist/react.js.map +3 -3
  39. package/dist/types.d.ts +17 -10
  40. package/package.json +1 -1
@@ -14,10 +14,9 @@ export declare function OAuthMixin<TBase extends GConstructor<EntityServerClient
14
14
  hmacSecret: string;
15
15
  encryptRequests: boolean;
16
16
  csrfEnabled: boolean;
17
- csrfToken: string;
18
17
  csrfHeaderName: string;
19
- csrfRefreshPath: string;
20
- csrfRefreshBuffer: number;
18
+ csrfCookieName: string;
19
+ _csrfRefresher: (() => Promise<void>) | null;
21
20
  activeTxId: string | null;
22
21
  keepSession: boolean;
23
22
  refreshBuffer: number;
@@ -25,27 +24,24 @@ export declare function OAuthMixin<TBase extends GConstructor<EntityServerClient
25
24
  onSessionExpired?: (error: Error) => void;
26
25
  _sessionRefreshToken: string | null;
27
26
  _refreshTimer: ReturnType<typeof setTimeout> | null;
28
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
29
- _csrfRefreshPromise: Promise<string> | null;
27
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
28
+ _healthTickPromise: Promise<unknown> | null;
30
29
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
31
30
  setToken(token: string): void;
32
31
  setAnonymousPacketToken(token: string): void;
33
32
  setApiKey(apiKey: string): void;
34
33
  setHmacSecret(secret: string): void;
35
34
  setEncryptRequests(value: boolean): void;
36
- setCsrfToken(token: string): void;
37
35
  setCsrfEnabled(enabled: boolean): void;
36
+ startHealthTick(intervalMs?: number): void;
37
+ stopHealthTick(): void;
38
38
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
39
39
  access_token: string;
40
40
  expires_in: number;
41
41
  }>): void;
42
42
  _clearRefreshTimer(): void;
43
43
  stopKeepSession(): void;
44
- _clearCsrfRefreshTimer(): void;
45
- stopCsrfRefresh(): void;
46
- _scheduleCsrfRefresh(expiresIn: number): void;
47
- refreshCsrfToken(): Promise<string>;
48
- _applyCsrfHealth(csrf?: import("../../../types.js").EntityServerClientHealthCsrf | null): void;
44
+ _applyCsrfHealth(): void;
49
45
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
50
46
  get _reqOpts(): import("../../../client/request.js").RequestOptions;
51
47
  get http(): {
@@ -13,10 +13,9 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
13
13
  hmacSecret: string;
14
14
  encryptRequests: boolean;
15
15
  csrfEnabled: boolean;
16
- csrfToken: string;
17
16
  csrfHeaderName: string;
18
- csrfRefreshPath: string;
19
- csrfRefreshBuffer: number;
17
+ csrfCookieName: string;
18
+ _csrfRefresher: (() => Promise<void>) | null;
20
19
  activeTxId: string | null;
21
20
  keepSession: boolean;
22
21
  refreshBuffer: number;
@@ -24,27 +23,24 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
24
23
  onSessionExpired?: (error: Error) => void;
25
24
  _sessionRefreshToken: string | null;
26
25
  _refreshTimer: ReturnType<typeof setTimeout> | null;
27
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
28
- _csrfRefreshPromise: Promise<string> | null;
26
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
27
+ _healthTickPromise: Promise<unknown> | null;
29
28
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
30
29
  setToken(token: string): void;
31
30
  setAnonymousPacketToken(token: string): void;
32
31
  setApiKey(apiKey: string): void;
33
32
  setHmacSecret(secret: string): void;
34
33
  setEncryptRequests(value: boolean): void;
35
- setCsrfToken(token: string): void;
36
34
  setCsrfEnabled(enabled: boolean): void;
35
+ startHealthTick(intervalMs?: number): void;
36
+ stopHealthTick(): void;
37
37
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
38
38
  access_token: string;
39
39
  expires_in: number;
40
40
  }>): void;
41
41
  _clearRefreshTimer(): void;
42
42
  stopKeepSession(): void;
43
- _clearCsrfRefreshTimer(): void;
44
- stopCsrfRefresh(): void;
45
- _scheduleCsrfRefresh(expiresIn: number): void;
46
- refreshCsrfToken(): Promise<string>;
47
- _applyCsrfHealth(csrf?: import("../../../types.js").EntityServerClientHealthCsrf | null): void;
43
+ _applyCsrfHealth(): void;
48
44
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
49
45
  get _reqOpts(): import("../../../client/request.js").RequestOptions;
50
46
  get http(): {
@@ -15,10 +15,9 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
15
15
  hmacSecret: string;
16
16
  encryptRequests: boolean;
17
17
  csrfEnabled: boolean;
18
- csrfToken: string;
19
18
  csrfHeaderName: string;
20
- csrfRefreshPath: string;
21
- csrfRefreshBuffer: number;
19
+ csrfCookieName: string;
20
+ _csrfRefresher: (() => Promise<void>) | null;
22
21
  activeTxId: string | null;
23
22
  keepSession: boolean;
24
23
  refreshBuffer: number;
@@ -26,27 +25,24 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
26
25
  onSessionExpired?: (error: Error) => void;
27
26
  _sessionRefreshToken: string | null;
28
27
  _refreshTimer: ReturnType<typeof setTimeout> | null;
29
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
30
- _csrfRefreshPromise: Promise<string> | null;
28
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
29
+ _healthTickPromise: Promise<unknown> | null;
31
30
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
32
31
  setToken(token: string): void;
33
32
  setAnonymousPacketToken(token: string): void;
34
33
  setApiKey(apiKey: string): void;
35
34
  setHmacSecret(secret: string): void;
36
35
  setEncryptRequests(value: boolean): void;
37
- setCsrfToken(token: string): void;
38
36
  setCsrfEnabled(enabled: boolean): void;
37
+ startHealthTick(intervalMs?: number): void;
38
+ stopHealthTick(): void;
39
39
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
40
40
  access_token: string;
41
41
  expires_in: number;
42
42
  }>): void;
43
43
  _clearRefreshTimer(): void;
44
44
  stopKeepSession(): void;
45
- _clearCsrfRefreshTimer(): void;
46
- stopCsrfRefresh(): void;
47
- _scheduleCsrfRefresh(expiresIn: number): void;
48
- refreshCsrfToken(): Promise<string>;
49
- _applyCsrfHealth(csrf?: import("../../../types.js").EntityServerClientHealthCsrf | null): void;
45
+ _applyCsrfHealth(): void;
50
46
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
51
47
  get _reqOpts(): import("../../../client/request.js").RequestOptions;
52
48
  get http(): {
@@ -59,10 +59,9 @@ export declare function AdminMixin<TBase extends GConstructor<EntityServerClient
59
59
  hmacSecret: string;
60
60
  encryptRequests: boolean;
61
61
  csrfEnabled: boolean;
62
- csrfToken: string;
63
62
  csrfHeaderName: string;
64
- csrfRefreshPath: string;
65
- csrfRefreshBuffer: number;
63
+ csrfCookieName: string;
64
+ _csrfRefresher: (() => Promise<void>) | null;
66
65
  activeTxId: string | null;
67
66
  keepSession: boolean;
68
67
  refreshBuffer: number;
@@ -70,27 +69,24 @@ export declare function AdminMixin<TBase extends GConstructor<EntityServerClient
70
69
  onSessionExpired?: (error: Error) => void;
71
70
  _sessionRefreshToken: string | null;
72
71
  _refreshTimer: ReturnType<typeof setTimeout> | null;
73
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
74
- _csrfRefreshPromise: Promise<string> | null;
72
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
73
+ _healthTickPromise: Promise<unknown> | null;
75
74
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
76
75
  setToken(token: string): void;
77
76
  setAnonymousPacketToken(token: string): void;
78
77
  setApiKey(apiKey: string): void;
79
78
  setHmacSecret(secret: string): void;
80
79
  setEncryptRequests(value: boolean): void;
81
- setCsrfToken(token: string): void;
82
80
  setCsrfEnabled(enabled: boolean): void;
81
+ startHealthTick(intervalMs?: number): void;
82
+ stopHealthTick(): void;
83
83
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
84
84
  access_token: string;
85
85
  expires_in: number;
86
86
  }>): void;
87
87
  _clearRefreshTimer(): void;
88
88
  stopKeepSession(): void;
89
- _clearCsrfRefreshTimer(): void;
90
- stopCsrfRefresh(): void;
91
- _scheduleCsrfRefresh(expiresIn: number): void;
92
- refreshCsrfToken(): Promise<string>;
93
- _applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
89
+ _applyCsrfHealth(): void;
94
90
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
95
91
  get _reqOpts(): import("../../client/request.js").RequestOptions;
96
92
  get http(): {
@@ -1,6 +1,7 @@
1
1
  import type { GConstructor, EntityServerClientBase } from "../../client/base.js";
2
2
  export declare function AuthMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
3
3
  new (...args: any[]): {
4
+ _csrfRefresher: () => Promise<void>;
4
5
  /**
5
6
  * 서버 헬스 체크를 수행하고 패킷 암호화 활성 여부를 자동으로 감지합니다.
6
7
  *
@@ -12,11 +13,8 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
12
13
  * ```
13
14
  */
14
15
  checkHealth(): Promise<{
15
- ok: boolean;
16
- packet_encryption?: boolean;
17
- packet_mode?: string;
16
+ status: string;
18
17
  packet_token?: string;
19
- csrf?: import("../../types").EntityServerClientHealthCsrf;
20
18
  }>;
21
19
  /** 로그인 후 `access_token`을 내부 상태에 저장합니다. */
22
20
  login(email: string, password: string): Promise<{
@@ -55,10 +53,8 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
55
53
  hmacSecret: string;
56
54
  encryptRequests: boolean;
57
55
  csrfEnabled: boolean;
58
- csrfToken: string;
59
56
  csrfHeaderName: string;
60
- csrfRefreshPath: string;
61
- csrfRefreshBuffer: number;
57
+ csrfCookieName: string;
62
58
  activeTxId: string | null;
63
59
  keepSession: boolean;
64
60
  refreshBuffer: number;
@@ -66,27 +62,24 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
66
62
  onSessionExpired?: (error: Error) => void;
67
63
  _sessionRefreshToken: string | null;
68
64
  _refreshTimer: ReturnType<typeof setTimeout> | null;
69
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
70
- _csrfRefreshPromise: Promise<string> | null;
71
- configure(options: Partial<import("../../types").EntityServerClientOptions>): void;
65
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
66
+ _healthTickPromise: Promise<unknown> | null;
67
+ configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
72
68
  setToken(token: string): void;
73
69
  setAnonymousPacketToken(token: string): void;
74
70
  setApiKey(apiKey: string): void;
75
71
  setHmacSecret(secret: string): void;
76
72
  setEncryptRequests(value: boolean): void;
77
- setCsrfToken(token: string): void;
78
73
  setCsrfEnabled(enabled: boolean): void;
74
+ startHealthTick(intervalMs?: number): void;
75
+ stopHealthTick(): void;
79
76
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
80
77
  access_token: string;
81
78
  expires_in: number;
82
79
  }>): void;
83
80
  _clearRefreshTimer(): void;
84
81
  stopKeepSession(): void;
85
- _clearCsrfRefreshTimer(): void;
86
- stopCsrfRefresh(): void;
87
- _scheduleCsrfRefresh(expiresIn: number): void;
88
- refreshCsrfToken(): Promise<string>;
89
- _applyCsrfHealth(csrf?: import("../../types").EntityServerClientHealthCsrf | null): void;
82
+ _applyCsrfHealth(): void;
90
83
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
91
84
  get _reqOpts(): import("../../client/request.js").RequestOptions;
92
85
  get http(): {
@@ -1,2 +1,2 @@
1
- function i(n){return class extends n{async checkHealth(){const e=await(await fetch(`${this.baseUrl}/v1/health`,{signal:AbortSignal.timeout(3e3),credentials:"include"})).json();return e.packet_encryption&&(this.encryptRequests=!0),typeof e.packet_token=="string"&&(this.anonymousPacketToken=e.packet_token),this._applyCsrfHealth(e.csrf),e}async login(t,e){const s=await this._request("POST","/v1/auth/login",{email:t,passwd:e},!1);return this.token=s.data.access_token,this.keepSession&&this._scheduleKeepSession(s.data.refresh_token,s.data.expires_in,r=>this.refreshToken(r)),s.data}async refreshToken(t){const e=await this._request("POST","/v1/auth/refresh",{refresh_token:t},!1);return this.token=e.data.access_token,this.keepSession&&this._scheduleKeepSession(t,e.data.expires_in,s=>this.refreshToken(s)),e.data}async logout(t){this.stopKeepSession();const e=await this._request("POST","/v1/auth/logout",{refresh_token:t},!1);return this.token="",e}me(){return this._request("GET","/v1/auth/me")}withdraw(t){return this._request("POST","/v1/auth/withdraw",t?{passwd:t}:{})}}}export{i as AuthMixin};
1
+ function o(n){return class extends n{_csrfRefresher=()=>this.checkHealth().then(()=>{});async checkHealth(){const e=await(await fetch(`${this.baseUrl}/v1/health`,{signal:AbortSignal.timeout(3e3),credentials:"include"})).json();return typeof e.packet_token=="string"&&(this.anonymousPacketToken=e.packet_token),this._applyCsrfHealth(),e}async login(s,e){const t=await this._request("POST","/v1/auth/login",{email:s,passwd:e},!1);return this.token=t.data.access_token,this.keepSession&&this._scheduleKeepSession(t.data.refresh_token,t.data.expires_in,r=>this.refreshToken(r)),t.data}async refreshToken(s){const e=await this._request("POST","/v1/auth/refresh",{refresh_token:s},!1);return this.token=e.data.access_token,this.keepSession&&this._scheduleKeepSession(s,e.data.expires_in,t=>this.refreshToken(t)),e.data}async logout(s){this.stopKeepSession();const e=await this._request("POST","/v1/auth/logout",{refresh_token:s},!1);return this.token="",e}me(){return this._request("GET","/v1/auth/me")}withdraw(s){return this._request("POST","/v1/auth/withdraw",s?{passwd:s}:{})}}}export{o as AuthMixin};
2
2
  //# sourceMappingURL=auth.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mixins/server/auth.ts"],
4
- "sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../client/base.js\";\n\nexport function AuthMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class AuthMixinClass extends Base {\n // \u2500\u2500\u2500 \uC778\uC99D \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /**\n * \uC11C\uBC84 \uD5EC\uC2A4 \uCCB4\uD06C\uB97C \uC218\uD589\uD558\uACE0 \uD328\uD0B7 \uC554\uD638\uD654 \uD65C\uC131 \uC5EC\uBD80\uB97C \uC790\uB3D9\uC73C\uB85C \uAC10\uC9C0\uD569\uB2C8\uB2E4.\n *\n * \uC11C\uBC84\uAC00 `packet_encryption: true`\uB97C \uC751\uB2F5\uD558\uBA74 \uC774\uD6C4 \uBAA8\uB4E0 \uC694\uCCAD\uC5D0 \uC554\uD638\uD654\uAC00 \uC790\uB3D9 \uC801\uC6A9\uB429\uB2C8\uB2E4.\n *\n * ```ts\n * await client.checkHealth();\n * await client.login(email, password);\n * ```\n */\n async checkHealth(): Promise<{\n ok: boolean;\n packet_encryption?: boolean;\n packet_mode?: string;\n packet_token?: string;\n csrf?: import(\"../../types\").EntityServerClientHealthCsrf;\n }> {\n const res = await fetch(`${this.baseUrl}/v1/health`, {\n signal: AbortSignal.timeout(3000),\n credentials: \"include\",\n });\n const data = (await res.json()) as {\n ok: boolean;\n packet_encryption?: boolean;\n packet_mode?: string;\n packet_token?: string;\n csrf?: import(\"../../types\").EntityServerClientHealthCsrf;\n };\n if (data.packet_encryption) this.encryptRequests = true;\n if (typeof data.packet_token === \"string\") {\n this.anonymousPacketToken = data.packet_token;\n }\n this._applyCsrfHealth(data.csrf);\n return data;\n }\n\n /** \uB85C\uADF8\uC778 \uD6C4 `access_token`\uC744 \uB0B4\uBD80 \uC0C1\uD0DC\uC5D0 \uC800\uC7A5\uD569\uB2C8\uB2E4. */\n async login(\n email: string,\n password: string,\n ): Promise<{\n access_token: string;\n refresh_token: string;\n expires_in: number;\n force_password_change?: boolean;\n password_expired?: boolean;\n password_expires_in_days?: number;\n }> {\n const data = await this._request<{\n data: {\n access_token: string;\n refresh_token: string;\n expires_in: number;\n force_password_change?: boolean;\n password_expired?: boolean;\n password_expires_in_days?: number;\n };\n }>(\"POST\", \"/v1/auth/login\", { email, passwd: password }, false);\n this.token = data.data.access_token;\n if (this.keepSession)\n this._scheduleKeepSession(\n data.data.refresh_token,\n data.data.expires_in,\n (rt) => this.refreshToken(rt),\n );\n return data.data;\n }\n\n /** Refresh Token\uC73C\uB85C Access Token\uC744 \uC7AC\uBC1C\uAE09\uBC1B\uC544 \uB0B4\uBD80 \uD1A0\uD070\uC744 \uAD50\uCCB4\uD569\uB2C8\uB2E4. */\n async refreshToken(\n refreshToken: string,\n ): Promise<{ access_token: string; expires_in: number }> {\n const data = await this._request<{\n data: { access_token: string; expires_in: number };\n }>(\n \"POST\",\n \"/v1/auth/refresh\",\n { refresh_token: refreshToken },\n false,\n );\n this.token = data.data.access_token;\n if (this.keepSession)\n this._scheduleKeepSession(\n refreshToken,\n data.data.expires_in,\n (rt) => this.refreshToken(rt),\n );\n return data.data;\n }\n\n /**\n * \uC11C\uBC84\uC5D0 \uB85C\uADF8\uC544\uC6C3\uC744 \uC694\uCCAD\uD558\uACE0 \uB0B4\uBD80 \uD1A0\uD070\uC744 \uCD08\uAE30\uD654\uD569\uB2C8\uB2E4.\n * refresh_token\uC744 \uC11C\uBC84\uC5D0 \uC804\uB2EC\uD574 \uBB34\uD6A8\uD654\uD569\uB2C8\uB2E4.\n */\n async logout(refreshToken: string): Promise<{ ok: boolean }> {\n this.stopKeepSession();\n const data = await this._request<{ ok: boolean }>(\n \"POST\",\n \"/v1/auth/logout\",\n { refresh_token: refreshToken },\n false,\n );\n this.token = \"\";\n return data;\n }\n\n /** \uD604\uC7AC \uB85C\uADF8\uC778\uB41C \uC0AC\uC6A9\uC790 \uC815\uBCF4\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4. */\n me<T = Record<string, unknown>>(): Promise<{ ok: boolean; data: T }> {\n return this._request(\"GET\", \"/v1/auth/me\");\n }\n\n /** \uD68C\uC6D0 \uD0C8\uD1F4\uB97C \uC694\uCCAD\uD569\uB2C8\uB2E4. */\n withdraw(passwd?: string): Promise<{ ok: boolean }> {\n return this._request(\n \"POST\",\n \"/v1/auth/withdraw\",\n passwd ? { passwd } : {},\n );\n }\n };\n}\n"],
5
- "mappings": "AAKO,SAASA,EACZC,EACF,CACE,OAAO,cAA6BA,CAAK,CAarC,MAAM,aAMH,CAKC,MAAMC,EAAQ,MAJF,MAAM,MAAM,GAAG,KAAK,OAAO,aAAc,CACjD,OAAQ,YAAY,QAAQ,GAAI,EAChC,YAAa,SACjB,CAAC,GACuB,KAAK,EAO7B,OAAIA,EAAK,oBAAmB,KAAK,gBAAkB,IAC/C,OAAOA,EAAK,cAAiB,WAC7B,KAAK,qBAAuBA,EAAK,cAErC,KAAK,iBAAiBA,EAAK,IAAI,EACxBA,CACX,CAGA,MAAM,MACFC,EACAC,EAQD,CACC,MAAMF,EAAO,MAAM,KAAK,SASrB,OAAQ,iBAAkB,CAAE,MAAAC,EAAO,OAAQC,CAAS,EAAG,EAAK,EAC/D,YAAK,MAAQF,EAAK,KAAK,aACnB,KAAK,aACL,KAAK,qBACDA,EAAK,KAAK,cACVA,EAAK,KAAK,WACTG,GAAO,KAAK,aAAaA,CAAE,CAChC,EACGH,EAAK,IAChB,CAGA,MAAM,aACFI,EACqD,CACrD,MAAMJ,EAAO,MAAM,KAAK,SAGpB,OACA,mBACA,CAAE,cAAeI,CAAa,EAC9B,EACJ,EACA,YAAK,MAAQJ,EAAK,KAAK,aACnB,KAAK,aACL,KAAK,qBACDI,EACAJ,EAAK,KAAK,WACTG,GAAO,KAAK,aAAaA,CAAE,CAChC,EACGH,EAAK,IAChB,CAMA,MAAM,OAAOI,EAAgD,CACzD,KAAK,gBAAgB,EACrB,MAAMJ,EAAO,MAAM,KAAK,SACpB,OACA,kBACA,CAAE,cAAeI,CAAa,EAC9B,EACJ,EACA,YAAK,MAAQ,GACNJ,CACX,CAGA,IAAqE,CACjE,OAAO,KAAK,SAAS,MAAO,aAAa,CAC7C,CAGA,SAASK,EAA2C,CAChD,OAAO,KAAK,SACR,OACA,oBACAA,EAAS,CAAE,OAAAA,CAAO,EAAI,CAAC,CAC3B,CACJ,CACJ,CACJ",
4
+ "sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../client/base.js\";\n\nexport function AuthMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class AuthMixinClass extends Base {\n // AuthMixin \uCD08\uAE30\uD654: CSRF \uCFE0\uD0A4 \uAC31\uC2E0\uC744 \uC704\uD574 checkHealth\uB97C _csrfRefresher\uB85C \uB4F1\uB85D\n _csrfRefresher = (): Promise<void> => this.checkHealth().then(() => {});\n\n // \u2500\u2500\u2500 \uC778\uC99D \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /**\n * \uC11C\uBC84 \uD5EC\uC2A4 \uCCB4\uD06C\uB97C \uC218\uD589\uD558\uACE0 \uD328\uD0B7 \uC554\uD638\uD654 \uD65C\uC131 \uC5EC\uBD80\uB97C \uC790\uB3D9\uC73C\uB85C \uAC10\uC9C0\uD569\uB2C8\uB2E4.\n *\n * \uC11C\uBC84\uAC00 `packet_encryption: true`\uB97C \uC751\uB2F5\uD558\uBA74 \uC774\uD6C4 \uBAA8\uB4E0 \uC694\uCCAD\uC5D0 \uC554\uD638\uD654\uAC00 \uC790\uB3D9 \uC801\uC6A9\uB429\uB2C8\uB2E4.\n *\n * ```ts\n * await client.checkHealth();\n * await client.login(email, password);\n * ```\n */\n async checkHealth(): Promise<{\n status: string;\n packet_token?: string;\n }> {\n const res = await fetch(`${this.baseUrl}/v1/health`, {\n signal: AbortSignal.timeout(3000),\n credentials: \"include\",\n });\n const data = (await res.json()) as {\n status: string;\n packet_token?: string;\n };\n if (typeof data.packet_token === \"string\") {\n this.anonymousPacketToken = data.packet_token;\n }\n this._applyCsrfHealth();\n return data;\n }\n\n /** \uB85C\uADF8\uC778 \uD6C4 `access_token`\uC744 \uB0B4\uBD80 \uC0C1\uD0DC\uC5D0 \uC800\uC7A5\uD569\uB2C8\uB2E4. */\n async login(\n email: string,\n password: string,\n ): Promise<{\n access_token: string;\n refresh_token: string;\n expires_in: number;\n force_password_change?: boolean;\n password_expired?: boolean;\n password_expires_in_days?: number;\n }> {\n const data = await this._request<{\n data: {\n access_token: string;\n refresh_token: string;\n expires_in: number;\n force_password_change?: boolean;\n password_expired?: boolean;\n password_expires_in_days?: number;\n };\n }>(\"POST\", \"/v1/auth/login\", { email, passwd: password }, false);\n this.token = data.data.access_token;\n if (this.keepSession)\n this._scheduleKeepSession(\n data.data.refresh_token,\n data.data.expires_in,\n (rt) => this.refreshToken(rt),\n );\n return data.data;\n }\n\n /** Refresh Token\uC73C\uB85C Access Token\uC744 \uC7AC\uBC1C\uAE09\uBC1B\uC544 \uB0B4\uBD80 \uD1A0\uD070\uC744 \uAD50\uCCB4\uD569\uB2C8\uB2E4. */\n async refreshToken(\n refreshToken: string,\n ): Promise<{ access_token: string; expires_in: number }> {\n const data = await this._request<{\n data: { access_token: string; expires_in: number };\n }>(\n \"POST\",\n \"/v1/auth/refresh\",\n { refresh_token: refreshToken },\n false,\n );\n this.token = data.data.access_token;\n if (this.keepSession)\n this._scheduleKeepSession(\n refreshToken,\n data.data.expires_in,\n (rt) => this.refreshToken(rt),\n );\n return data.data;\n }\n\n /**\n * \uC11C\uBC84\uC5D0 \uB85C\uADF8\uC544\uC6C3\uC744 \uC694\uCCAD\uD558\uACE0 \uB0B4\uBD80 \uD1A0\uD070\uC744 \uCD08\uAE30\uD654\uD569\uB2C8\uB2E4.\n * refresh_token\uC744 \uC11C\uBC84\uC5D0 \uC804\uB2EC\uD574 \uBB34\uD6A8\uD654\uD569\uB2C8\uB2E4.\n */\n async logout(refreshToken: string): Promise<{ ok: boolean }> {\n this.stopKeepSession();\n const data = await this._request<{ ok: boolean }>(\n \"POST\",\n \"/v1/auth/logout\",\n { refresh_token: refreshToken },\n false,\n );\n this.token = \"\";\n return data;\n }\n\n /** \uD604\uC7AC \uB85C\uADF8\uC778\uB41C \uC0AC\uC6A9\uC790 \uC815\uBCF4\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4. */\n me<T = Record<string, unknown>>(): Promise<{ ok: boolean; data: T }> {\n return this._request(\"GET\", \"/v1/auth/me\");\n }\n\n /** \uD68C\uC6D0 \uD0C8\uD1F4\uB97C \uC694\uCCAD\uD569\uB2C8\uB2E4. */\n withdraw(passwd?: string): Promise<{ ok: boolean }> {\n return this._request(\n \"POST\",\n \"/v1/auth/withdraw\",\n passwd ? { passwd } : {},\n );\n }\n };\n}\n"],
5
+ "mappings": "AAKO,SAASA,EACZC,EACF,CACE,OAAO,cAA6BA,CAAK,CAErC,eAAiB,IAAqB,KAAK,YAAY,EAAE,KAAK,IAAM,CAAC,CAAC,EActE,MAAM,aAGH,CAKC,MAAMC,EAAQ,MAJF,MAAM,MAAM,GAAG,KAAK,OAAO,aAAc,CACjD,OAAQ,YAAY,QAAQ,GAAI,EAChC,YAAa,SACjB,CAAC,GACuB,KAAK,EAI7B,OAAI,OAAOA,EAAK,cAAiB,WAC7B,KAAK,qBAAuBA,EAAK,cAErC,KAAK,iBAAiB,EACfA,CACX,CAGA,MAAM,MACFC,EACAC,EAQD,CACC,MAAMF,EAAO,MAAM,KAAK,SASrB,OAAQ,iBAAkB,CAAE,MAAAC,EAAO,OAAQC,CAAS,EAAG,EAAK,EAC/D,YAAK,MAAQF,EAAK,KAAK,aACnB,KAAK,aACL,KAAK,qBACDA,EAAK,KAAK,cACVA,EAAK,KAAK,WACTG,GAAO,KAAK,aAAaA,CAAE,CAChC,EACGH,EAAK,IAChB,CAGA,MAAM,aACFI,EACqD,CACrD,MAAMJ,EAAO,MAAM,KAAK,SAGpB,OACA,mBACA,CAAE,cAAeI,CAAa,EAC9B,EACJ,EACA,YAAK,MAAQJ,EAAK,KAAK,aACnB,KAAK,aACL,KAAK,qBACDI,EACAJ,EAAK,KAAK,WACTG,GAAO,KAAK,aAAaA,CAAE,CAChC,EACGH,EAAK,IAChB,CAMA,MAAM,OAAOI,EAAgD,CACzD,KAAK,gBAAgB,EACrB,MAAMJ,EAAO,MAAM,KAAK,SACpB,OACA,kBACA,CAAE,cAAeI,CAAa,EAC9B,EACJ,EACA,YAAK,MAAQ,GACNJ,CACX,CAGA,IAAqE,CACjE,OAAO,KAAK,SAAS,MAAO,aAAa,CAC7C,CAGA,SAASK,EAA2C,CAChD,OAAO,KAAK,SACR,OACA,oBACAA,EAAS,CAAE,OAAAA,CAAO,EAAI,CAAC,CAC3B,CACJ,CACJ,CACJ",
6
6
  "names": ["AuthMixin", "Base", "data", "email", "password", "rt", "refreshToken", "passwd"]
7
7
  }
@@ -101,10 +101,9 @@ export declare function EntityMixin<TBase extends GConstructor<EntityServerClien
101
101
  hmacSecret: string;
102
102
  encryptRequests: boolean;
103
103
  csrfEnabled: boolean;
104
- csrfToken: string;
105
104
  csrfHeaderName: string;
106
- csrfRefreshPath: string;
107
- csrfRefreshBuffer: number;
105
+ csrfCookieName: string;
106
+ _csrfRefresher: (() => Promise<void>) | null;
108
107
  activeTxId: string | null;
109
108
  keepSession: boolean;
110
109
  refreshBuffer: number;
@@ -112,27 +111,24 @@ export declare function EntityMixin<TBase extends GConstructor<EntityServerClien
112
111
  onSessionExpired?: (error: Error) => void;
113
112
  _sessionRefreshToken: string | null;
114
113
  _refreshTimer: ReturnType<typeof setTimeout> | null;
115
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
116
- _csrfRefreshPromise: Promise<string> | null;
114
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
115
+ _healthTickPromise: Promise<unknown> | null;
117
116
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
118
117
  setToken(token: string): void;
119
118
  setAnonymousPacketToken(token: string): void;
120
119
  setApiKey(apiKey: string): void;
121
120
  setHmacSecret(secret: string): void;
122
121
  setEncryptRequests(value: boolean): void;
123
- setCsrfToken(token: string): void;
124
122
  setCsrfEnabled(enabled: boolean): void;
123
+ startHealthTick(intervalMs?: number): void;
124
+ stopHealthTick(): void;
125
125
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
126
126
  access_token: string;
127
127
  expires_in: number;
128
128
  }>): void;
129
129
  _clearRefreshTimer(): void;
130
130
  stopKeepSession(): void;
131
- _clearCsrfRefreshTimer(): void;
132
- stopCsrfRefresh(): void;
133
- _scheduleCsrfRefresh(expiresIn: number): void;
134
- refreshCsrfToken(): Promise<string>;
135
- _applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
131
+ _applyCsrfHealth(): void;
136
132
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
137
133
  get _reqOpts(): import("../../client/request.js").RequestOptions;
138
134
  get http(): {
@@ -57,10 +57,9 @@ export declare function FileMixin<TBase extends GConstructor<EntityServerClientB
57
57
  hmacSecret: string;
58
58
  encryptRequests: boolean;
59
59
  csrfEnabled: boolean;
60
- csrfToken: string;
61
60
  csrfHeaderName: string;
62
- csrfRefreshPath: string;
63
- csrfRefreshBuffer: number;
61
+ csrfCookieName: string;
62
+ _csrfRefresher: (() => Promise<void>) | null;
64
63
  activeTxId: string | null;
65
64
  keepSession: boolean;
66
65
  refreshBuffer: number;
@@ -68,27 +67,24 @@ export declare function FileMixin<TBase extends GConstructor<EntityServerClientB
68
67
  onSessionExpired?: (error: Error) => void;
69
68
  _sessionRefreshToken: string | null;
70
69
  _refreshTimer: ReturnType<typeof setTimeout> | null;
71
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
72
- _csrfRefreshPromise: Promise<string> | null;
70
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
71
+ _healthTickPromise: Promise<unknown> | null;
73
72
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
74
73
  setToken(token: string): void;
75
74
  setAnonymousPacketToken(token: string): void;
76
75
  setApiKey(apiKey: string): void;
77
76
  setHmacSecret(secret: string): void;
78
77
  setEncryptRequests(value: boolean): void;
79
- setCsrfToken(token: string): void;
80
78
  setCsrfEnabled(enabled: boolean): void;
79
+ startHealthTick(intervalMs?: number): void;
80
+ stopHealthTick(): void;
81
81
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
82
82
  access_token: string;
83
83
  expires_in: number;
84
84
  }>): void;
85
85
  _clearRefreshTimer(): void;
86
86
  stopKeepSession(): void;
87
- _clearCsrfRefreshTimer(): void;
88
- stopCsrfRefresh(): void;
89
- _scheduleCsrfRefresh(expiresIn: number): void;
90
- refreshCsrfToken(): Promise<string>;
91
- _applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
87
+ _applyCsrfHealth(): void;
92
88
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
93
89
  get _reqOpts(): import("../../client/request.js").RequestOptions;
94
90
  get http(): {
@@ -57,10 +57,9 @@ export declare function PushMixin<TBase extends GConstructor<WithSubmit>>(Base:
57
57
  hmacSecret: string;
58
58
  encryptRequests: boolean;
59
59
  csrfEnabled: boolean;
60
- csrfToken: string;
61
60
  csrfHeaderName: string;
62
- csrfRefreshPath: string;
63
- csrfRefreshBuffer: number;
61
+ csrfCookieName: string;
62
+ _csrfRefresher: (() => Promise<void>) | null;
64
63
  activeTxId: string | null;
65
64
  keepSession: boolean;
66
65
  refreshBuffer: number;
@@ -68,27 +67,24 @@ export declare function PushMixin<TBase extends GConstructor<WithSubmit>>(Base:
68
67
  onSessionExpired?: (error: Error) => void;
69
68
  _sessionRefreshToken: string | null;
70
69
  _refreshTimer: ReturnType<typeof setTimeout> | null;
71
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
72
- _csrfRefreshPromise: Promise<string> | null;
70
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
71
+ _healthTickPromise: Promise<unknown> | null;
73
72
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
74
73
  setToken(token: string): void;
75
74
  setAnonymousPacketToken(token: string): void;
76
75
  setApiKey(apiKey: string): void;
77
76
  setHmacSecret(secret: string): void;
78
77
  setEncryptRequests(value: boolean): void;
79
- setCsrfToken(token: string): void;
80
78
  setCsrfEnabled(enabled: boolean): void;
79
+ startHealthTick(intervalMs?: number): void;
80
+ stopHealthTick(): void;
81
81
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
82
82
  access_token: string;
83
83
  expires_in: number;
84
84
  }>): void;
85
85
  _clearRefreshTimer(): void;
86
86
  stopKeepSession(): void;
87
- _clearCsrfRefreshTimer(): void;
88
- stopCsrfRefresh(): void;
89
- _scheduleCsrfRefresh(expiresIn: number): void;
90
- refreshCsrfToken(): Promise<string>;
91
- _applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
87
+ _applyCsrfHealth(): void;
92
88
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
93
89
  get _reqOpts(): import("../../client/request.js").RequestOptions;
94
90
  get http(): {
@@ -21,10 +21,9 @@ export declare function SmtpMixin<TBase extends GConstructor<EntityServerClientB
21
21
  hmacSecret: string;
22
22
  encryptRequests: boolean;
23
23
  csrfEnabled: boolean;
24
- csrfToken: string;
25
24
  csrfHeaderName: string;
26
- csrfRefreshPath: string;
27
- csrfRefreshBuffer: number;
25
+ csrfCookieName: string;
26
+ _csrfRefresher: (() => Promise<void>) | null;
28
27
  activeTxId: string | null;
29
28
  keepSession: boolean;
30
29
  refreshBuffer: number;
@@ -32,27 +31,24 @@ export declare function SmtpMixin<TBase extends GConstructor<EntityServerClientB
32
31
  onSessionExpired?: (error: Error) => void;
33
32
  _sessionRefreshToken: string | null;
34
33
  _refreshTimer: ReturnType<typeof setTimeout> | null;
35
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
36
- _csrfRefreshPromise: Promise<string> | null;
34
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
35
+ _healthTickPromise: Promise<unknown> | null;
37
36
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
38
37
  setToken(token: string): void;
39
38
  setAnonymousPacketToken(token: string): void;
40
39
  setApiKey(apiKey: string): void;
41
40
  setHmacSecret(secret: string): void;
42
41
  setEncryptRequests(value: boolean): void;
43
- setCsrfToken(token: string): void;
44
42
  setCsrfEnabled(enabled: boolean): void;
43
+ startHealthTick(intervalMs?: number): void;
44
+ stopHealthTick(): void;
45
45
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
46
46
  access_token: string;
47
47
  expires_in: number;
48
48
  }>): void;
49
49
  _clearRefreshTimer(): void;
50
50
  stopKeepSession(): void;
51
- _clearCsrfRefreshTimer(): void;
52
- stopCsrfRefresh(): void;
53
- _scheduleCsrfRefresh(expiresIn: number): void;
54
- refreshCsrfToken(): Promise<string>;
55
- _applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
51
+ _applyCsrfHealth(): void;
56
52
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
57
53
  get _reqOpts(): import("../../client/request.js").RequestOptions;
58
54
  get http(): {
@@ -14,10 +14,9 @@ export declare function TransactionMixin<TBase extends GConstructor<EntityServer
14
14
  hmacSecret: string;
15
15
  encryptRequests: boolean;
16
16
  csrfEnabled: boolean;
17
- csrfToken: string;
18
17
  csrfHeaderName: string;
19
- csrfRefreshPath: string;
20
- csrfRefreshBuffer: number;
18
+ csrfCookieName: string;
19
+ _csrfRefresher: (() => Promise<void>) | null;
21
20
  activeTxId: string | null;
22
21
  keepSession: boolean;
23
22
  refreshBuffer: number;
@@ -25,27 +24,24 @@ export declare function TransactionMixin<TBase extends GConstructor<EntityServer
25
24
  onSessionExpired?: (error: Error) => void;
26
25
  _sessionRefreshToken: string | null;
27
26
  _refreshTimer: ReturnType<typeof setTimeout> | null;
28
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
29
- _csrfRefreshPromise: Promise<string> | null;
27
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
28
+ _healthTickPromise: Promise<unknown> | null;
30
29
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
31
30
  setToken(token: string): void;
32
31
  setAnonymousPacketToken(token: string): void;
33
32
  setApiKey(apiKey: string): void;
34
33
  setHmacSecret(secret: string): void;
35
34
  setEncryptRequests(value: boolean): void;
36
- setCsrfToken(token: string): void;
37
35
  setCsrfEnabled(enabled: boolean): void;
36
+ startHealthTick(intervalMs?: number): void;
37
+ stopHealthTick(): void;
38
38
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
39
39
  access_token: string;
40
40
  expires_in: number;
41
41
  }>): void;
42
42
  _clearRefreshTimer(): void;
43
43
  stopKeepSession(): void;
44
- _clearCsrfRefreshTimer(): void;
45
- stopCsrfRefresh(): void;
46
- _scheduleCsrfRefresh(expiresIn: number): void;
47
- refreshCsrfToken(): Promise<string>;
48
- _applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
44
+ _applyCsrfHealth(): void;
49
45
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
50
46
  get _reqOpts(): import("../../client/request.js").RequestOptions;
51
47
  get http(): {
@@ -70,10 +70,9 @@ export declare function UtilsMixin<TBase extends GConstructor<EntityServerClient
70
70
  hmacSecret: string;
71
71
  encryptRequests: boolean;
72
72
  csrfEnabled: boolean;
73
- csrfToken: string;
74
73
  csrfHeaderName: string;
75
- csrfRefreshPath: string;
76
- csrfRefreshBuffer: number;
74
+ csrfCookieName: string;
75
+ _csrfRefresher: (() => Promise<void>) | null;
77
76
  activeTxId: string | null;
78
77
  keepSession: boolean;
79
78
  refreshBuffer: number;
@@ -81,27 +80,24 @@ export declare function UtilsMixin<TBase extends GConstructor<EntityServerClient
81
80
  onSessionExpired?: (error: Error) => void;
82
81
  _sessionRefreshToken: string | null;
83
82
  _refreshTimer: ReturnType<typeof setTimeout> | null;
84
- _csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
85
- _csrfRefreshPromise: Promise<string> | null;
83
+ _healthTickTimer: ReturnType<typeof setInterval> | null;
84
+ _healthTickPromise: Promise<unknown> | null;
86
85
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
87
86
  setToken(token: string): void;
88
87
  setAnonymousPacketToken(token: string): void;
89
88
  setApiKey(apiKey: string): void;
90
89
  setHmacSecret(secret: string): void;
91
90
  setEncryptRequests(value: boolean): void;
92
- setCsrfToken(token: string): void;
93
91
  setCsrfEnabled(enabled: boolean): void;
92
+ startHealthTick(intervalMs?: number): void;
93
+ stopHealthTick(): void;
94
94
  _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
95
95
  access_token: string;
96
96
  expires_in: number;
97
97
  }>): void;
98
98
  _clearRefreshTimer(): void;
99
99
  stopKeepSession(): void;
100
- _clearCsrfRefreshTimer(): void;
101
- stopCsrfRefresh(): void;
102
- _scheduleCsrfRefresh(expiresIn: number): void;
103
- refreshCsrfToken(): Promise<string>;
104
- _applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
100
+ _applyCsrfHealth(): void;
105
101
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
106
102
  get _reqOpts(): import("../../client/request.js").RequestOptions;
107
103
  get http(): {