entity-client 1.0.15 → 1.0.17

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 (80) hide show
  1. package/README.md +362 -362
  2. package/dist/EntityAppServerApi.d.ts +384 -416
  3. package/dist/EntityAppServerApi.js.map +1 -1
  4. package/dist/EntityServerApi.d.ts +204 -216
  5. package/dist/EntityServerApi.js.map +1 -1
  6. package/dist/client/base.d.ts +27 -40
  7. package/dist/client/base.js +1 -1
  8. package/dist/client/base.js.map +3 -3
  9. package/dist/client/hmac.js.map +1 -1
  10. package/dist/client/packet.js.map +1 -1
  11. package/dist/client/request.js.map +1 -1
  12. package/dist/client/utils.js.map +1 -1
  13. package/dist/hooks/useEntityAppServer.js.map +1 -1
  14. package/dist/hooks/useEntityClient.js.map +1 -1
  15. package/dist/hooks/useEntityServer.js.map +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +3 -3
  18. package/dist/mixins/app/index.js.map +1 -1
  19. package/dist/mixins/app/plugins/alimtalk.d.ts +24 -26
  20. package/dist/mixins/app/plugins/alimtalk.js.map +1 -1
  21. package/dist/mixins/app/plugins/friendtalk.d.ts +24 -26
  22. package/dist/mixins/app/plugins/friendtalk.js.map +1 -1
  23. package/dist/mixins/app/plugins/holidays.d.ts +24 -26
  24. package/dist/mixins/app/plugins/holidays.js.map +1 -1
  25. package/dist/mixins/app/plugins/identity.d.ts +24 -26
  26. package/dist/mixins/app/plugins/identity.js.map +1 -1
  27. package/dist/mixins/app/plugins/index.js.map +1 -1
  28. package/dist/mixins/app/plugins/llm.d.ts +24 -26
  29. package/dist/mixins/app/plugins/llm.js.map +1 -1
  30. package/dist/mixins/app/plugins/ocr.d.ts +24 -26
  31. package/dist/mixins/app/plugins/ocr.js.map +1 -1
  32. package/dist/mixins/app/plugins/pg.d.ts +24 -26
  33. package/dist/mixins/app/plugins/pg.js.map +1 -1
  34. package/dist/mixins/app/plugins/push.d.ts +24 -26
  35. package/dist/mixins/app/plugins/push.js.map +1 -1
  36. package/dist/mixins/app/plugins/sms.d.ts +24 -26
  37. package/dist/mixins/app/plugins/sms.js.map +1 -1
  38. package/dist/mixins/app/plugins/taxinvoice.d.ts +24 -26
  39. package/dist/mixins/app/plugins/taxinvoice.js.map +1 -1
  40. package/dist/mixins/app/routes/account.d.ts +24 -26
  41. package/dist/mixins/app/routes/account.js.map +1 -1
  42. package/dist/mixins/app/routes/board.d.ts +24 -26
  43. package/dist/mixins/app/routes/board.js.map +2 -2
  44. package/dist/mixins/app/routes/email-verify.d.ts +24 -26
  45. package/dist/mixins/app/routes/email-verify.js.map +1 -1
  46. package/dist/mixins/app/routes/oauth.d.ts +24 -26
  47. package/dist/mixins/app/routes/oauth.js.map +1 -1
  48. package/dist/mixins/app/routes/password-reset.d.ts +24 -26
  49. package/dist/mixins/app/routes/password-reset.js.map +1 -1
  50. package/dist/mixins/app/routes/two-factor.d.ts +24 -26
  51. package/dist/mixins/app/routes/two-factor.js.map +1 -1
  52. package/dist/mixins/server/admin.d.ts +30 -32
  53. package/dist/mixins/server/admin.js +1 -1
  54. package/dist/mixins/server/admin.js.map +2 -2
  55. package/dist/mixins/server/auth.d.ts +30 -28
  56. package/dist/mixins/server/auth.js +1 -1
  57. package/dist/mixins/server/auth.js.map +3 -3
  58. package/dist/mixins/server/entity.d.ts +24 -26
  59. package/dist/mixins/server/entity.js +1 -1
  60. package/dist/mixins/server/entity.js.map +2 -2
  61. package/dist/mixins/server/file.d.ts +24 -26
  62. package/dist/mixins/server/file.js +1 -1
  63. package/dist/mixins/server/file.js.map +2 -2
  64. package/dist/mixins/server/index.js.map +1 -1
  65. package/dist/mixins/server/push.d.ts +24 -26
  66. package/dist/mixins/server/push.js.map +1 -1
  67. package/dist/mixins/server/smtp.d.ts +24 -26
  68. package/dist/mixins/server/smtp.js +1 -1
  69. package/dist/mixins/server/smtp.js.map +2 -2
  70. package/dist/mixins/server/transaction.d.ts +24 -26
  71. package/dist/mixins/server/transaction.js +1 -1
  72. package/dist/mixins/server/transaction.js.map +2 -2
  73. package/dist/mixins/server/utils.d.ts +24 -26
  74. package/dist/mixins/server/utils.js +1 -1
  75. package/dist/mixins/server/utils.js.map +2 -2
  76. package/dist/packet.js.map +1 -1
  77. package/dist/react.js +1 -1
  78. package/dist/react.js.map +3 -3
  79. package/dist/types.d.ts +1 -1
  80. package/package.json +57 -57
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/mixins/app/routes/oauth.ts"],
4
- "sourcesContent": ["import { buildQuery } from \"../../../client/utils.js\";\nimport type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function OAuthMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class OAuthMixinClass extends Base {\n oauthAuthorizeUrl(\n provider: string,\n query: Record<string, unknown> = {},\n ): string {\n const qs = buildQuery(query);\n return `${this.baseUrl}/v1/oauth/${provider}${qs ? `?${qs}` : \"\"}`;\n }\n\n oauthCallback<T = unknown>(\n provider: string,\n payload?: Record<string, unknown>,\n method: \"GET\" | \"POST\" = \"POST\",\n ): Promise<T> {\n if (method === \"GET\") {\n const qs = buildQuery(payload ?? {});\n return this.http.get(\n `/v1/oauth/${provider}/callback${qs ? `?${qs}` : \"\"}`,\n false,\n );\n }\n\n return this.http.post(\n `/v1/oauth/${provider}/callback`,\n payload,\n false,\n );\n }\n\n linkOAuthAccount<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\"/v1/account/oauth/link\", body);\n }\n\n unlinkOAuthAccount<T = unknown>(provider: string): Promise<T> {\n return this.http.delete(\n `/v1/account/oauth/link/${provider}`,\n );\n }\n\n listOAuthProviders<T = unknown>(): Promise<T> {\n return this.http.get(\"/v1/account/oauth/providers\");\n }\n\n refreshOAuthProviderToken<T = unknown>(\n provider: string,\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/account/oauth/refresh/${provider}`,\n body,\n );\n }\n };\n}\n"],
4
+ "sourcesContent": ["import { buildQuery } from \"../../../client/utils.js\";\r\nimport type {\r\n GConstructor,\r\n EntityServerClientBase,\r\n} from \"../../../client/base.js\";\r\n\r\nexport function OAuthMixin<TBase extends GConstructor<EntityServerClientBase>>(\r\n Base: TBase,\r\n) {\r\n return class OAuthMixinClass extends Base {\r\n oauthAuthorizeUrl(\r\n provider: string,\r\n query: Record<string, unknown> = {},\r\n ): string {\r\n const qs = buildQuery(query);\r\n return `${this.baseUrl}/v1/oauth/${provider}${qs ? `?${qs}` : \"\"}`;\r\n }\r\n\r\n oauthCallback<T = unknown>(\r\n provider: string,\r\n payload?: Record<string, unknown>,\r\n method: \"GET\" | \"POST\" = \"POST\",\r\n ): Promise<T> {\r\n if (method === \"GET\") {\r\n const qs = buildQuery(payload ?? {});\r\n return this.http.get(\r\n `/v1/oauth/${provider}/callback${qs ? `?${qs}` : \"\"}`,\r\n false,\r\n );\r\n }\r\n\r\n return this.http.post(\r\n `/v1/oauth/${provider}/callback`,\r\n payload,\r\n false,\r\n );\r\n }\r\n\r\n linkOAuthAccount<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.http.post(\"/v1/account/oauth/link\", body);\r\n }\r\n\r\n unlinkOAuthAccount<T = unknown>(provider: string): Promise<T> {\r\n return this.http.delete(\r\n `/v1/account/oauth/link/${provider}`,\r\n );\r\n }\r\n\r\n listOAuthProviders<T = unknown>(): Promise<T> {\r\n return this.http.get(\"/v1/account/oauth/providers\");\r\n }\r\n\r\n refreshOAuthProviderToken<T = unknown>(\r\n provider: string,\r\n body?: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.http.post(\r\n `/v1/account/oauth/refresh/${provider}`,\r\n body,\r\n );\r\n }\r\n };\r\n}\r\n"],
5
5
  "mappings": "AAAA,OAAS,cAAAA,MAAkB,2BAMpB,SAASC,EACZC,EACF,CACE,OAAO,cAA8BA,CAAK,CACtC,kBACIC,EACAC,EAAiC,CAAC,EAC5B,CACN,MAAMC,EAAKL,EAAWI,CAAK,EAC3B,MAAO,GAAG,KAAK,OAAO,aAAaD,CAAQ,GAAGE,EAAK,IAAIA,CAAE,GAAK,EAAE,EACpE,CAEA,cACIF,EACAG,EACAC,EAAyB,OACf,CACV,GAAIA,IAAW,MAAO,CAClB,MAAMF,EAAKL,EAAWM,GAAW,CAAC,CAAC,EACnC,OAAO,KAAK,KAAK,IACb,aAAaH,CAAQ,YAAYE,EAAK,IAAIA,CAAE,GAAK,EAAE,GACnD,EACJ,CACJ,CAEA,OAAO,KAAK,KAAK,KACb,aAAaF,CAAQ,YACrBG,EACA,EACJ,CACJ,CAEA,iBACIE,EACU,CACV,OAAO,KAAK,KAAK,KAAK,yBAA0BA,CAAI,CACxD,CAEA,mBAAgCL,EAA8B,CAC1D,OAAO,KAAK,KAAK,OACb,0BAA0BA,CAAQ,EACtC,CACJ,CAEA,oBAA8C,CAC1C,OAAO,KAAK,KAAK,IAAI,6BAA6B,CACtD,CAEA,0BACIA,EACAK,EACU,CACV,OAAO,KAAK,KAAK,KACb,6BAA6BL,CAAQ,GACrCK,CACJ,CACJ,CACJ,CACJ",
6
6
  "names": ["buildQuery", "OAuthMixin", "Base", "provider", "query", "qs", "payload", "method", "body"]
7
7
  }
@@ -15,30 +15,30 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
15
15
  csrfEnabled: boolean;
16
16
  csrfHeaderName: string;
17
17
  csrfCookieName: string;
18
- _csrfRefresher: (() => Promise<void>) | null;
18
+ csrfRefresher: (() => Promise<void>) | null;
19
19
  activeTxId: string | null;
20
20
  keepSession: boolean;
21
21
  refreshBuffer: number;
22
22
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
23
23
  onSessionExpired?: (error: Error) => void;
24
24
  onHealthChange?: (online: boolean) => void;
25
- _sessionRefreshToken: string | null;
26
- _refreshTimer: ReturnType<typeof setTimeout> | null;
27
- _healthTickTimer: ReturnType<typeof setInterval> | null;
28
- _healthTickPromise: Promise<unknown> | null;
25
+ sessionRefreshToken: string | null;
26
+ refreshTimer: ReturnType<typeof setTimeout> | null;
27
+ healthTickTimer: ReturnType<typeof setInterval> | null;
28
+ healthTickPromise: Promise<unknown> | null;
29
29
  realtimeEnabled: boolean;
30
30
  realtimePath: string;
31
31
  realtimeAutoConnect: boolean;
32
32
  realtimeAutoReconnect: boolean;
33
33
  realtimeReconnectDelayMs: number;
34
34
  realtimeStatus: import("../../../types.js").RealtimeConnectionStatus;
35
- _realtimeSocket: WebSocket | null;
36
- _realtimeConnectPromise: Promise<void> | null;
37
- _realtimeReconnectTimer: ReturnType<typeof setTimeout> | null;
38
- _realtimeShouldReconnect: boolean;
39
- _realtimeMessageListeners: Set<import("../../../types.js").RealtimeMessageListener>;
40
- _realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
41
- _realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
35
+ realtimeSocket: WebSocket | null;
36
+ realtimeConnectPromise: Promise<void> | null;
37
+ realtimeReconnectTimer: ReturnType<typeof setTimeout> | null;
38
+ realtimeShouldReconnect: boolean;
39
+ realtimeMessageListeners: Set<import("../../../types.js").RealtimeMessageListener>;
40
+ realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
41
+ realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
42
42
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
43
43
  setToken(token: string): void;
44
44
  setAnonymousPacketToken(token: string): void;
@@ -59,21 +59,22 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
59
59
  unsubscribeRealtime(subscriptions: string[]): boolean;
60
60
  startHealthTick(intervalMs?: number): void;
61
61
  stopHealthTick(): void;
62
- _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
62
+ scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
63
63
  access_token: string;
64
64
  expires_in: number;
65
65
  }>): void;
66
- _clearRefreshTimer(): void;
66
+ clearRefreshTimer(): void;
67
67
  stopKeepSession(): void;
68
- _applyRealtimeOptions(options?: boolean | import("../../../types.js").RealtimeClientOptions): void;
69
- _buildRealtimeUrl(): string;
70
- _handleRealtimeMessage(payload: unknown): void;
71
- _scheduleRealtimeReconnect(reason: string): void;
72
- _clearRealtimeReconnectTimer(): void;
73
- _setRealtimeStatus(status: import("../../../types.js").RealtimeConnectionStatus, reason?: string, error?: Error): void;
74
- _applyCsrfHealth(): void;
68
+ applyRealtimeOptions(options?: boolean | import("../../../types.js").RealtimeClientOptions): void;
69
+ buildRealtimeUrl(): string;
70
+ handleRealtimeMessage(payload: unknown): void;
71
+ scheduleRealtimeReconnect(reason: string): void;
72
+ clearRealtimeReconnectTimer(): void;
73
+ setRealtimeStatus(status: import("../../../types.js").RealtimeConnectionStatus, reason?: string, error?: Error): void;
74
+ applyCsrfHealth(): void;
75
75
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
76
- get _reqOpts(): import("../../../client/request.js").RequestOptions;
76
+ get reqOpts(): import("../../../client/request.js").RequestOptions;
77
+ prepareRequest(_withAuth: boolean): Promise<void>;
77
78
  get http(): {
78
79
  get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
79
80
  post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
@@ -81,12 +82,9 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
81
82
  patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
82
83
  delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
83
84
  };
85
+ request<T>(method: string, path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
84
86
  requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
85
87
  requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
86
88
  requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
87
- _request<T>(method: string, path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
88
- _requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
89
- _requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
90
- _requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
91
89
  };
92
90
  } & TBase;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/mixins/app/routes/password-reset.ts"],
4
- "sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function PasswordResetMixin<\n TBase extends GConstructor<EntityServerClientBase>,\n>(Base: TBase) {\n return class PasswordResetMixinClass extends Base {\n requestPasswordReset<T = unknown>(\n body: { email: string } | Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/password-reset/request\",\n body,\n false,\n );\n }\n\n validatePasswordResetToken<T = unknown>(token: string): Promise<T> {\n return this.http.get(\n `/v1/password-reset/validate/${encodeURIComponent(token)}`,\n false,\n );\n }\n\n verifyPasswordReset<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/password-reset/verify\",\n body,\n false,\n );\n }\n };\n}\n"],
4
+ "sourcesContent": ["import type {\r\n GConstructor,\r\n EntityServerClientBase,\r\n} from \"../../../client/base.js\";\r\n\r\nexport function PasswordResetMixin<\r\n TBase extends GConstructor<EntityServerClientBase>,\r\n>(Base: TBase) {\r\n return class PasswordResetMixinClass extends Base {\r\n requestPasswordReset<T = unknown>(\r\n body: { email: string } | Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.http.post(\r\n \"/v1/password-reset/request\",\r\n body,\r\n false,\r\n );\r\n }\r\n\r\n validatePasswordResetToken<T = unknown>(token: string): Promise<T> {\r\n return this.http.get(\r\n `/v1/password-reset/validate/${encodeURIComponent(token)}`,\r\n false,\r\n );\r\n }\r\n\r\n verifyPasswordReset<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.http.post(\r\n \"/v1/password-reset/verify\",\r\n body,\r\n false,\r\n );\r\n }\r\n };\r\n}\r\n"],
5
5
  "mappings": "AAKO,SAASA,EAEdC,EAAa,CACX,OAAO,cAAsCA,CAAK,CAC9C,qBACIC,EACU,CACV,OAAO,KAAK,KAAK,KACb,6BACAA,EACA,EACJ,CACJ,CAEA,2BAAwCC,EAA2B,CAC/D,OAAO,KAAK,KAAK,IACb,+BAA+B,mBAAmBA,CAAK,CAAC,GACxD,EACJ,CACJ,CAEA,oBACID,EACU,CACV,OAAO,KAAK,KAAK,KACb,4BACAA,EACA,EACJ,CACJ,CACJ,CACJ",
6
6
  "names": ["PasswordResetMixin", "Base", "body", "token"]
7
7
  }
@@ -17,30 +17,30 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
17
17
  csrfEnabled: boolean;
18
18
  csrfHeaderName: string;
19
19
  csrfCookieName: string;
20
- _csrfRefresher: (() => Promise<void>) | null;
20
+ csrfRefresher: (() => Promise<void>) | null;
21
21
  activeTxId: string | null;
22
22
  keepSession: boolean;
23
23
  refreshBuffer: number;
24
24
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
25
25
  onSessionExpired?: (error: Error) => void;
26
26
  onHealthChange?: (online: boolean) => void;
27
- _sessionRefreshToken: string | null;
28
- _refreshTimer: ReturnType<typeof setTimeout> | null;
29
- _healthTickTimer: ReturnType<typeof setInterval> | null;
30
- _healthTickPromise: Promise<unknown> | null;
27
+ sessionRefreshToken: string | null;
28
+ refreshTimer: ReturnType<typeof setTimeout> | null;
29
+ healthTickTimer: ReturnType<typeof setInterval> | null;
30
+ healthTickPromise: Promise<unknown> | null;
31
31
  realtimeEnabled: boolean;
32
32
  realtimePath: string;
33
33
  realtimeAutoConnect: boolean;
34
34
  realtimeAutoReconnect: boolean;
35
35
  realtimeReconnectDelayMs: number;
36
36
  realtimeStatus: import("../../../types.js").RealtimeConnectionStatus;
37
- _realtimeSocket: WebSocket | null;
38
- _realtimeConnectPromise: Promise<void> | null;
39
- _realtimeReconnectTimer: ReturnType<typeof setTimeout> | null;
40
- _realtimeShouldReconnect: boolean;
41
- _realtimeMessageListeners: Set<import("../../../types.js").RealtimeMessageListener>;
42
- _realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
43
- _realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
37
+ realtimeSocket: WebSocket | null;
38
+ realtimeConnectPromise: Promise<void> | null;
39
+ realtimeReconnectTimer: ReturnType<typeof setTimeout> | null;
40
+ realtimeShouldReconnect: boolean;
41
+ realtimeMessageListeners: Set<import("../../../types.js").RealtimeMessageListener>;
42
+ realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
43
+ realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
44
44
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
45
45
  setToken(token: string): void;
46
46
  setAnonymousPacketToken(token: string): void;
@@ -61,21 +61,22 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
61
61
  unsubscribeRealtime(subscriptions: string[]): boolean;
62
62
  startHealthTick(intervalMs?: number): void;
63
63
  stopHealthTick(): void;
64
- _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
64
+ scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
65
65
  access_token: string;
66
66
  expires_in: number;
67
67
  }>): void;
68
- _clearRefreshTimer(): void;
68
+ clearRefreshTimer(): void;
69
69
  stopKeepSession(): void;
70
- _applyRealtimeOptions(options?: boolean | import("../../../types.js").RealtimeClientOptions): void;
71
- _buildRealtimeUrl(): string;
72
- _handleRealtimeMessage(payload: unknown): void;
73
- _scheduleRealtimeReconnect(reason: string): void;
74
- _clearRealtimeReconnectTimer(): void;
75
- _setRealtimeStatus(status: import("../../../types.js").RealtimeConnectionStatus, reason?: string, error?: Error): void;
76
- _applyCsrfHealth(): void;
70
+ applyRealtimeOptions(options?: boolean | import("../../../types.js").RealtimeClientOptions): void;
71
+ buildRealtimeUrl(): string;
72
+ handleRealtimeMessage(payload: unknown): void;
73
+ scheduleRealtimeReconnect(reason: string): void;
74
+ clearRealtimeReconnectTimer(): void;
75
+ setRealtimeStatus(status: import("../../../types.js").RealtimeConnectionStatus, reason?: string, error?: Error): void;
76
+ applyCsrfHealth(): void;
77
77
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
78
- get _reqOpts(): import("../../../client/request.js").RequestOptions;
78
+ get reqOpts(): import("../../../client/request.js").RequestOptions;
79
+ prepareRequest(_withAuth: boolean): Promise<void>;
79
80
  get http(): {
80
81
  get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
81
82
  post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
@@ -83,12 +84,9 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
83
84
  patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
84
85
  delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
85
86
  };
87
+ request<T>(method: string, path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
86
88
  requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
87
89
  requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
88
90
  requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
89
- _request<T>(method: string, path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
90
- _requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
91
- _requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
92
- _requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
93
91
  };
94
92
  } & TBase;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/mixins/app/routes/two-factor.ts"],
4
- "sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function TwoFactorMixin<\n TBase extends GConstructor<EntityServerClientBase>,\n>(Base: TBase) {\n return class TwoFactorMixinClass extends Base {\n setupTwoFactor<T = unknown>(\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\"/v1/account/2fa/setup\", body);\n }\n\n verifyTwoFactorSetup<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/account/2fa/setup/verify\",\n body,\n false,\n );\n }\n\n disableTwoFactor<T = unknown>(): Promise<T> {\n return this.http.delete(\"/v1/account/2fa\");\n }\n\n getTwoFactorStatus<T = unknown>(): Promise<T> {\n return this.http.get(\"/v1/account/2fa/status\");\n }\n\n regenerateTwoFactorRecoveryCodes<T = unknown>(): Promise<T> {\n return this.http.post(\n \"/v1/account/2fa/recovery/regenerate\",\n );\n }\n\n verifyTwoFactor<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/account/2fa/verify\",\n body,\n false,\n );\n }\n\n recoverTwoFactorAccess<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/account/2fa/recovery\",\n body,\n false,\n );\n }\n };\n}\n"],
4
+ "sourcesContent": ["import type {\r\n GConstructor,\r\n EntityServerClientBase,\r\n} from \"../../../client/base.js\";\r\n\r\nexport function TwoFactorMixin<\r\n TBase extends GConstructor<EntityServerClientBase>,\r\n>(Base: TBase) {\r\n return class TwoFactorMixinClass extends Base {\r\n setupTwoFactor<T = unknown>(\r\n body?: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.http.post(\"/v1/account/2fa/setup\", body);\r\n }\r\n\r\n verifyTwoFactorSetup<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.http.post(\r\n \"/v1/account/2fa/setup/verify\",\r\n body,\r\n false,\r\n );\r\n }\r\n\r\n disableTwoFactor<T = unknown>(): Promise<T> {\r\n return this.http.delete(\"/v1/account/2fa\");\r\n }\r\n\r\n getTwoFactorStatus<T = unknown>(): Promise<T> {\r\n return this.http.get(\"/v1/account/2fa/status\");\r\n }\r\n\r\n regenerateTwoFactorRecoveryCodes<T = unknown>(): Promise<T> {\r\n return this.http.post(\r\n \"/v1/account/2fa/recovery/regenerate\",\r\n );\r\n }\r\n\r\n verifyTwoFactor<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.http.post(\r\n \"/v1/account/2fa/verify\",\r\n body,\r\n false,\r\n );\r\n }\r\n\r\n recoverTwoFactorAccess<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.http.post(\r\n \"/v1/account/2fa/recovery\",\r\n body,\r\n false,\r\n );\r\n }\r\n };\r\n}\r\n"],
5
5
  "mappings": "AAKO,SAASA,EAEdC,EAAa,CACX,OAAO,cAAkCA,CAAK,CAC1C,eACIC,EACU,CACV,OAAO,KAAK,KAAK,KAAK,wBAAyBA,CAAI,CACvD,CAEA,qBACIA,EACU,CACV,OAAO,KAAK,KAAK,KACb,+BACAA,EACA,EACJ,CACJ,CAEA,kBAA4C,CACxC,OAAO,KAAK,KAAK,OAAO,iBAAiB,CAC7C,CAEA,oBAA8C,CAC1C,OAAO,KAAK,KAAK,IAAI,wBAAwB,CACjD,CAEA,kCAA4D,CACxD,OAAO,KAAK,KAAK,KACb,qCACJ,CACJ,CAEA,gBACIA,EACU,CACV,OAAO,KAAK,KAAK,KACb,yBACAA,EACA,EACJ,CACJ,CAEA,uBACIA,EACU,CACV,OAAO,KAAK,KAAK,KACb,2BACAA,EACA,EACJ,CACJ,CACJ,CACJ",
6
6
  "names": ["TwoFactorMixin", "Base", "body"]
7
7
  }
@@ -1,12 +1,12 @@
1
1
  import type { GConstructor, EntityServerClientBase } from "../../client/base.js";
2
2
  export declare function AdminMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
3
3
  new (...args: any[]): {
4
- _adminPath(path: string): string;
5
- _adminGet<T>(path: string): Promise<T>;
6
- _adminPost<T>(path: string, body?: unknown): Promise<T>;
7
- _adminPut<T>(path: string, body?: unknown): Promise<T>;
8
- _adminPatch<T>(path: string, body?: unknown): Promise<T>;
9
- _adminDelete<T>(path: string, body?: unknown): Promise<T>;
4
+ adminPath(path: string): string;
5
+ adminGet<T>(path: string): Promise<T>;
6
+ adminPost<T>(path: string, body?: unknown): Promise<T>;
7
+ adminPut<T>(path: string, body?: unknown): Promise<T>;
8
+ adminPatch<T>(path: string, body?: unknown): Promise<T>;
9
+ adminDelete<T>(path: string, body?: unknown): Promise<T>;
10
10
  listAdminEntities<T = unknown>(): Promise<T>;
11
11
  getAdminErdSchema<T = unknown>(): Promise<T>;
12
12
  batchEnsureAdminEntities<T = unknown>(configs: unknown[]): Promise<T>;
@@ -61,30 +61,30 @@ export declare function AdminMixin<TBase extends GConstructor<EntityServerClient
61
61
  csrfEnabled: boolean;
62
62
  csrfHeaderName: string;
63
63
  csrfCookieName: string;
64
- _csrfRefresher: (() => Promise<void>) | null;
64
+ csrfRefresher: (() => Promise<void>) | null;
65
65
  activeTxId: string | null;
66
66
  keepSession: boolean;
67
67
  refreshBuffer: number;
68
68
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
69
69
  onSessionExpired?: (error: Error) => void;
70
70
  onHealthChange?: (online: boolean) => void;
71
- _sessionRefreshToken: string | null;
72
- _refreshTimer: ReturnType<typeof setTimeout> | null;
73
- _healthTickTimer: ReturnType<typeof setInterval> | null;
74
- _healthTickPromise: Promise<unknown> | null;
71
+ sessionRefreshToken: string | null;
72
+ refreshTimer: ReturnType<typeof setTimeout> | null;
73
+ healthTickTimer: ReturnType<typeof setInterval> | null;
74
+ healthTickPromise: Promise<unknown> | null;
75
75
  realtimeEnabled: boolean;
76
76
  realtimePath: string;
77
77
  realtimeAutoConnect: boolean;
78
78
  realtimeAutoReconnect: boolean;
79
79
  realtimeReconnectDelayMs: number;
80
80
  realtimeStatus: import("../../types.js").RealtimeConnectionStatus;
81
- _realtimeSocket: WebSocket | null;
82
- _realtimeConnectPromise: Promise<void> | null;
83
- _realtimeReconnectTimer: ReturnType<typeof setTimeout> | null;
84
- _realtimeShouldReconnect: boolean;
85
- _realtimeMessageListeners: Set<import("../../types.js").RealtimeMessageListener>;
86
- _realtimeStatusListeners: Set<import("../../types.js").RealtimeStatusListener>;
87
- _realtimeEventListeners: Map<string, Set<import("../../types.js").RealtimeMessageListener>>;
81
+ realtimeSocket: WebSocket | null;
82
+ realtimeConnectPromise: Promise<void> | null;
83
+ realtimeReconnectTimer: ReturnType<typeof setTimeout> | null;
84
+ realtimeShouldReconnect: boolean;
85
+ realtimeMessageListeners: Set<import("../../types.js").RealtimeMessageListener>;
86
+ realtimeStatusListeners: Set<import("../../types.js").RealtimeStatusListener>;
87
+ realtimeEventListeners: Map<string, Set<import("../../types.js").RealtimeMessageListener>>;
88
88
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
89
89
  setToken(token: string): void;
90
90
  setAnonymousPacketToken(token: string): void;
@@ -105,21 +105,22 @@ export declare function AdminMixin<TBase extends GConstructor<EntityServerClient
105
105
  unsubscribeRealtime(subscriptions: string[]): boolean;
106
106
  startHealthTick(intervalMs?: number): void;
107
107
  stopHealthTick(): void;
108
- _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
108
+ scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
109
109
  access_token: string;
110
110
  expires_in: number;
111
111
  }>): void;
112
- _clearRefreshTimer(): void;
112
+ clearRefreshTimer(): void;
113
113
  stopKeepSession(): void;
114
- _applyRealtimeOptions(options?: boolean | import("../../types.js").RealtimeClientOptions): void;
115
- _buildRealtimeUrl(): string;
116
- _handleRealtimeMessage(payload: unknown): void;
117
- _scheduleRealtimeReconnect(reason: string): void;
118
- _clearRealtimeReconnectTimer(): void;
119
- _setRealtimeStatus(status: import("../../types.js").RealtimeConnectionStatus, reason?: string, error?: Error): void;
120
- _applyCsrfHealth(): void;
114
+ applyRealtimeOptions(options?: boolean | import("../../types.js").RealtimeClientOptions): void;
115
+ buildRealtimeUrl(): string;
116
+ handleRealtimeMessage(payload: unknown): void;
117
+ scheduleRealtimeReconnect(reason: string): void;
118
+ clearRealtimeReconnectTimer(): void;
119
+ setRealtimeStatus(status: import("../../types.js").RealtimeConnectionStatus, reason?: string, error?: Error): void;
120
+ applyCsrfHealth(): void;
121
121
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
122
- get _reqOpts(): import("../../client/request.js").RequestOptions;
122
+ get reqOpts(): import("../../client/request.js").RequestOptions;
123
+ prepareRequest(_withAuth: boolean): Promise<void>;
123
124
  get http(): {
124
125
  get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
125
126
  post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
@@ -127,12 +128,9 @@ export declare function AdminMixin<TBase extends GConstructor<EntityServerClient
127
128
  patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
128
129
  delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
129
130
  };
131
+ request<T>(method: string, path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
130
132
  requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
131
133
  requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
132
134
  requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
133
- _request<T>(method: string, path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
134
- _requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
135
- _requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
136
- _requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
137
135
  };
138
136
  } & TBase;
@@ -1,2 +1,2 @@
1
- function s(i){return class extends i{_adminPath(n){return`/v1/admin${n}`}_adminGet(n){return this.http.get(this._adminPath(n))}_adminPost(n,t){return this.http.post(this._adminPath(n),t)}_adminPut(n,t){return this.http.put(this._adminPath(n),t)}_adminPatch(n,t){return this.http.patch(this._adminPath(n),t)}_adminDelete(n,t){return this.http.delete(this._adminPath(n),t)}listAdminEntities(){return this._adminGet("/entities")}getAdminErdSchema(){return this._adminGet("/erd/schema")}batchEnsureAdminEntities(n){return this._adminPost("/entities/batch-ensure",n)}createAdminEntityConfig(n,t){return this._adminPost(`/${n}/create`,t)}getAdminEntityConfig(n){return this._adminGet(`/${n}/config`)}updateAdminEntityConfig(n,t){return this._adminPut(`/${n}/config`,t)}validateAdminEntityConfig(n,t){return this._adminPost(t?`/${t}/validate`:"/entity/validate",n)}normalizeAdminEntityConfig(n,t){return this._adminPost(t?`/${t}/normalize`:"/entity/normalize",n)}getAdminEntityStats(n,t){return this._adminPost(`/${n}/stats`,t)}reindexAdminEntity(n){return this._adminPost(`/${n}/reindex`)}syncAdminEntitySchema(n){return this._adminPost(`/${n}/sync-schema`)}resetAdminEntity(n){return this._adminPost(`/${n}/reset`)}truncateAdminEntity(n){return this._adminPost(`/${n}/truncate`)}dropAdminEntity(n){return this._adminPost(`/${n}/drop`)}resetAllAdmin(n){return this._adminPost("/reset-all",n)}listAdminConfigs(){return this._adminGet("/configs")}getAdminConfig(n){return this._adminGet(`/configs/${n}`)}updateAdminConfig(n,t){return this._adminPatch(`/configs/${n}`,t)}listAdminRoles(){return this._adminGet("/roles")}createAdminRole(n){return this._adminPost("/roles",n)}getAdminRole(n){return this._adminGet(`/roles/${n}`)}updateAdminRole(n,t){return this._adminPatch(`/roles/${n}`,t)}deleteAdminRole(n){return this._adminDelete(`/roles/${n}`)}listAdminApiKeys(){return this._adminGet("/api-keys")}createAdminApiKey(n){return this._adminPost("/api-keys",n)}getAdminApiKey(n){return this._adminGet(`/api-keys/${n}`)}updateAdminApiKey(n,t){return this._adminPatch(`/api-keys/${n}`,t)}deleteAdminApiKey(n){return this._adminDelete(`/api-keys/${n}`)}regenerateAdminApiKeySecret(n){return this._adminPost(`/api-keys/${n}/regenerate-secret`)}listAdminAccounts(){return this._adminGet("/accounts")}createAdminAccount(n){return this._adminPost("/accounts",n)}getAdminAccount(n){return this._adminGet(`/accounts/${n}`)}updateAdminAccount(n,t){return this._adminPatch(`/accounts/${n}`,t)}deleteAdminAccount(n){return this._adminDelete(`/accounts/${n}`)}listAdminLicenses(){return this._adminGet("/licenses")}createAdminLicense(n){return this._adminPost("/licenses",n)}getAdminLicense(n){return this._adminGet(`/licenses/${n}`)}updateAdminLicense(n,t){return this._adminPatch(`/licenses/${n}`,t)}deleteAdminLicense(n){return this._adminDelete(`/licenses/${n}`)}runAdminBackup(n){return this._adminPost("/backup/run",n)}getAdminBackupStatus(n){return this._adminPost("/backup/status",n)}listAdminBackups(n){return this._adminPost("/backup/list",n)}restoreAdminBackup(n){return this._adminPost("/backup/restore",n)}deleteAdminBackup(n){return this._adminPost("/backup/delete",n)}disableAdminAccountTwoFactor(n){return this._adminDelete(`/accounts/${n}/2fa`)}}}export{s as AdminMixin};
1
+ function s(i){return class extends i{adminPath(n){return`/v1/admin${n}`}adminGet(n){return this.http.get(this.adminPath(n))}adminPost(n,t){return this.http.post(this.adminPath(n),t)}adminPut(n,t){return this.http.put(this.adminPath(n),t)}adminPatch(n,t){return this.http.patch(this.adminPath(n),t)}adminDelete(n,t){return this.http.delete(this.adminPath(n),t)}listAdminEntities(){return this.adminGet("/entities")}getAdminErdSchema(){return this.adminGet("/erd/schema")}batchEnsureAdminEntities(n){return this.adminPost("/entities/batch-ensure",n)}createAdminEntityConfig(n,t){return this.adminPost(`/${n}/create`,t)}getAdminEntityConfig(n){return this.adminGet(`/${n}/config`)}updateAdminEntityConfig(n,t){return this.adminPut(`/${n}/config`,t)}validateAdminEntityConfig(n,t){return this.adminPost(t?`/${t}/validate`:"/entity/validate",n)}normalizeAdminEntityConfig(n,t){return this.adminPost(t?`/${t}/normalize`:"/entity/normalize",n)}getAdminEntityStats(n,t){return this.adminPost(`/${n}/stats`,t)}reindexAdminEntity(n){return this.adminPost(`/${n}/reindex`)}syncAdminEntitySchema(n){return this.adminPost(`/${n}/sync-schema`)}resetAdminEntity(n){return this.adminPost(`/${n}/reset`)}truncateAdminEntity(n){return this.adminPost(`/${n}/truncate`)}dropAdminEntity(n){return this.adminPost(`/${n}/drop`)}resetAllAdmin(n){return this.adminPost("/reset-all",n)}listAdminConfigs(){return this.adminGet("/configs")}getAdminConfig(n){return this.adminGet(`/configs/${n}`)}updateAdminConfig(n,t){return this.adminPatch(`/configs/${n}`,t)}listAdminRoles(){return this.adminGet("/roles")}createAdminRole(n){return this.adminPost("/roles",n)}getAdminRole(n){return this.adminGet(`/roles/${n}`)}updateAdminRole(n,t){return this.adminPatch(`/roles/${n}`,t)}deleteAdminRole(n){return this.adminDelete(`/roles/${n}`)}listAdminApiKeys(){return this.adminGet("/api-keys")}createAdminApiKey(n){return this.adminPost("/api-keys",n)}getAdminApiKey(n){return this.adminGet(`/api-keys/${n}`)}updateAdminApiKey(n,t){return this.adminPatch(`/api-keys/${n}`,t)}deleteAdminApiKey(n){return this.adminDelete(`/api-keys/${n}`)}regenerateAdminApiKeySecret(n){return this.adminPost(`/api-keys/${n}/regenerate-secret`)}listAdminAccounts(){return this.adminGet("/accounts")}createAdminAccount(n){return this.adminPost("/accounts",n)}getAdminAccount(n){return this.adminGet(`/accounts/${n}`)}updateAdminAccount(n,t){return this.adminPatch(`/accounts/${n}`,t)}deleteAdminAccount(n){return this.adminDelete(`/accounts/${n}`)}listAdminLicenses(){return this.adminGet("/licenses")}createAdminLicense(n){return this.adminPost("/licenses",n)}getAdminLicense(n){return this.adminGet(`/licenses/${n}`)}updateAdminLicense(n,t){return this.adminPatch(`/licenses/${n}`,t)}deleteAdminLicense(n){return this.adminDelete(`/licenses/${n}`)}runAdminBackup(n){return this.adminPost("/backup/run",n)}getAdminBackupStatus(n){return this.adminPost("/backup/status",n)}listAdminBackups(n){return this.adminPost("/backup/list",n)}restoreAdminBackup(n){return this.adminPost("/backup/restore",n)}deleteAdminBackup(n){return this.adminPost("/backup/delete",n)}disableAdminAccountTwoFactor(n){return this.adminDelete(`/accounts/${n}/2fa`)}}}export{s as AdminMixin};
2
2
  //# sourceMappingURL=admin.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mixins/server/admin.ts"],
4
- "sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../client/base.js\";\n\nexport function AdminMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class AdminMixinClass extends Base {\n _adminPath(path: string): string {\n return `/v1/admin${path}`;\n }\n\n _adminGet<T>(path: string): Promise<T> {\n return this.http.get(this._adminPath(path));\n }\n\n _adminPost<T>(path: string, body?: unknown): Promise<T> {\n return this.http.post(this._adminPath(path), body);\n }\n\n _adminPut<T>(path: string, body?: unknown): Promise<T> {\n return this.http.put(this._adminPath(path), body);\n }\n\n _adminPatch<T>(path: string, body?: unknown): Promise<T> {\n return this.http.patch(this._adminPath(path), body);\n }\n\n _adminDelete<T>(path: string, body?: unknown): Promise<T> {\n return this.http.delete(this._adminPath(path), body);\n }\n\n listAdminEntities<T = unknown>(): Promise<T> {\n return this._adminGet(\"/entities\");\n }\n\n getAdminErdSchema<T = unknown>(): Promise<T> {\n return this._adminGet(\"/erd/schema\");\n }\n\n batchEnsureAdminEntities<T = unknown>(configs: unknown[]): Promise<T> {\n return this._adminPost(\"/entities/batch-ensure\", configs);\n }\n\n createAdminEntityConfig<T = unknown>(\n entity: string,\n config: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(`/${entity}/create`, config);\n }\n\n getAdminEntityConfig<T = unknown>(entity: string): Promise<T> {\n return this._adminGet(`/${entity}/config`);\n }\n\n updateAdminEntityConfig<T = unknown>(\n entity: string,\n config: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPut(`/${entity}/config`, config);\n }\n\n validateAdminEntityConfig<T = unknown>(\n config: Record<string, unknown>,\n entity?: string,\n ): Promise<T> {\n return this._adminPost(\n entity ? `/${entity}/validate` : \"/entity/validate\",\n config,\n );\n }\n\n normalizeAdminEntityConfig<T = unknown>(\n config: Record<string, unknown>,\n entity?: string,\n ): Promise<T> {\n return this._adminPost(\n entity ? `/${entity}/normalize` : \"/entity/normalize\",\n config,\n );\n }\n\n getAdminEntityStats<T = unknown>(\n entity: string,\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(`/${entity}/stats`, body);\n }\n\n reindexAdminEntity<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/reindex`);\n }\n\n syncAdminEntitySchema<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/sync-schema`);\n }\n\n resetAdminEntity<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/reset`);\n }\n\n truncateAdminEntity<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/truncate`);\n }\n\n dropAdminEntity<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/drop`);\n }\n\n resetAllAdmin<T = unknown>(body?: Record<string, unknown>): Promise<T> {\n return this._adminPost(\"/reset-all\", body);\n }\n\n listAdminConfigs<T = unknown>(): Promise<T> {\n return this._adminGet(\"/configs\");\n }\n\n getAdminConfig<T = unknown>(domain: string): Promise<T> {\n return this._adminGet(`/configs/${domain}`);\n }\n\n updateAdminConfig<T = unknown>(\n domain: string,\n patch: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/configs/${domain}`, patch);\n }\n\n listAdminRoles<T = unknown>(): Promise<T> {\n return this._adminGet(\"/roles\");\n }\n\n createAdminRole<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/roles\", body);\n }\n\n getAdminRole<T = unknown>(seq: number): Promise<T> {\n return this._adminGet(`/roles/${seq}`);\n }\n\n updateAdminRole<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/roles/${seq}`, body);\n }\n\n deleteAdminRole<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/roles/${seq}`);\n }\n\n listAdminApiKeys<T = unknown>(): Promise<T> {\n return this._adminGet(\"/api-keys\");\n }\n\n createAdminApiKey<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/api-keys\", body);\n }\n\n getAdminApiKey<T = unknown>(seq: number): Promise<T> {\n return this._adminGet(`/api-keys/${seq}`);\n }\n\n updateAdminApiKey<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/api-keys/${seq}`, body);\n }\n\n deleteAdminApiKey<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/api-keys/${seq}`);\n }\n\n regenerateAdminApiKeySecret<T = unknown>(seq: number): Promise<T> {\n return this._adminPost(`/api-keys/${seq}/regenerate-secret`);\n }\n\n listAdminAccounts<T = unknown>(): Promise<T> {\n return this._adminGet(\"/accounts\");\n }\n\n createAdminAccount<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/accounts\", body);\n }\n\n getAdminAccount<T = unknown>(seq: number): Promise<T> {\n return this._adminGet(`/accounts/${seq}`);\n }\n\n updateAdminAccount<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/accounts/${seq}`, body);\n }\n\n deleteAdminAccount<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/accounts/${seq}`);\n }\n\n listAdminLicenses<T = unknown>(): Promise<T> {\n return this._adminGet(\"/licenses\");\n }\n\n createAdminLicense<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/licenses\", body);\n }\n\n getAdminLicense<T = unknown>(seq: number): Promise<T> {\n return this._adminGet(`/licenses/${seq}`);\n }\n\n updateAdminLicense<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/licenses/${seq}`, body);\n }\n\n deleteAdminLicense<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/licenses/${seq}`);\n }\n\n runAdminBackup<T = unknown>(\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/run\", body);\n }\n\n getAdminBackupStatus<T = unknown>(\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/status\", body);\n }\n\n listAdminBackups<T = unknown>(\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/list\", body);\n }\n\n restoreAdminBackup<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/restore\", body);\n }\n\n deleteAdminBackup<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/delete\", body);\n }\n\n disableAdminAccountTwoFactor<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/accounts/${seq}/2fa`);\n }\n };\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type {\r\n GConstructor,\r\n EntityServerClientBase,\r\n} from \"../../client/base.js\";\r\n\r\nexport function AdminMixin<TBase extends GConstructor<EntityServerClientBase>>(\r\n Base: TBase,\r\n) {\r\n return class AdminMixinClass extends Base {\r\n adminPath(path: string): string {\r\n return `/v1/admin${path}`;\r\n }\r\n\r\n adminGet<T>(path: string): Promise<T> {\r\n return this.http.get(this.adminPath(path));\r\n }\r\n\r\n adminPost<T>(path: string, body?: unknown): Promise<T> {\r\n return this.http.post(this.adminPath(path), body);\r\n }\r\n\r\n adminPut<T>(path: string, body?: unknown): Promise<T> {\r\n return this.http.put(this.adminPath(path), body);\r\n }\r\n\r\n adminPatch<T>(path: string, body?: unknown): Promise<T> {\r\n return this.http.patch(this.adminPath(path), body);\r\n }\r\n\r\n adminDelete<T>(path: string, body?: unknown): Promise<T> {\r\n return this.http.delete(this.adminPath(path), body);\r\n }\r\n\r\n listAdminEntities<T = unknown>(): Promise<T> {\r\n return this.adminGet(\"/entities\");\r\n }\r\n\r\n getAdminErdSchema<T = unknown>(): Promise<T> {\r\n return this.adminGet(\"/erd/schema\");\r\n }\r\n\r\n batchEnsureAdminEntities<T = unknown>(configs: unknown[]): Promise<T> {\r\n return this.adminPost(\"/entities/batch-ensure\", configs);\r\n }\r\n\r\n createAdminEntityConfig<T = unknown>(\r\n entity: string,\r\n config: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(`/${entity}/create`, config);\r\n }\r\n\r\n getAdminEntityConfig<T = unknown>(entity: string): Promise<T> {\r\n return this.adminGet(`/${entity}/config`);\r\n }\r\n\r\n updateAdminEntityConfig<T = unknown>(\r\n entity: string,\r\n config: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPut(`/${entity}/config`, config);\r\n }\r\n\r\n validateAdminEntityConfig<T = unknown>(\r\n config: Record<string, unknown>,\r\n entity?: string,\r\n ): Promise<T> {\r\n return this.adminPost(\r\n entity ? `/${entity}/validate` : \"/entity/validate\",\r\n config,\r\n );\r\n }\r\n\r\n normalizeAdminEntityConfig<T = unknown>(\r\n config: Record<string, unknown>,\r\n entity?: string,\r\n ): Promise<T> {\r\n return this.adminPost(\r\n entity ? `/${entity}/normalize` : \"/entity/normalize\",\r\n config,\r\n );\r\n }\r\n\r\n getAdminEntityStats<T = unknown>(\r\n entity: string,\r\n body?: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(`/${entity}/stats`, body);\r\n }\r\n\r\n reindexAdminEntity<T = unknown>(entity: string): Promise<T> {\r\n return this.adminPost(`/${entity}/reindex`);\r\n }\r\n\r\n syncAdminEntitySchema<T = unknown>(entity: string): Promise<T> {\r\n return this.adminPost(`/${entity}/sync-schema`);\r\n }\r\n\r\n resetAdminEntity<T = unknown>(entity: string): Promise<T> {\r\n return this.adminPost(`/${entity}/reset`);\r\n }\r\n\r\n truncateAdminEntity<T = unknown>(entity: string): Promise<T> {\r\n return this.adminPost(`/${entity}/truncate`);\r\n }\r\n\r\n dropAdminEntity<T = unknown>(entity: string): Promise<T> {\r\n return this.adminPost(`/${entity}/drop`);\r\n }\r\n\r\n resetAllAdmin<T = unknown>(body?: Record<string, unknown>): Promise<T> {\r\n return this.adminPost(\"/reset-all\", body);\r\n }\r\n\r\n listAdminConfigs<T = unknown>(): Promise<T> {\r\n return this.adminGet(\"/configs\");\r\n }\r\n\r\n getAdminConfig<T = unknown>(domain: string): Promise<T> {\r\n return this.adminGet(`/configs/${domain}`);\r\n }\r\n\r\n updateAdminConfig<T = unknown>(\r\n domain: string,\r\n patch: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPatch(`/configs/${domain}`, patch);\r\n }\r\n\r\n listAdminRoles<T = unknown>(): Promise<T> {\r\n return this.adminGet(\"/roles\");\r\n }\r\n\r\n createAdminRole<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/roles\", body);\r\n }\r\n\r\n getAdminRole<T = unknown>(seq: number): Promise<T> {\r\n return this.adminGet(`/roles/${seq}`);\r\n }\r\n\r\n updateAdminRole<T = unknown>(\r\n seq: number,\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPatch(`/roles/${seq}`, body);\r\n }\r\n\r\n deleteAdminRole<T = unknown>(seq: number): Promise<T> {\r\n return this.adminDelete(`/roles/${seq}`);\r\n }\r\n\r\n listAdminApiKeys<T = unknown>(): Promise<T> {\r\n return this.adminGet(\"/api-keys\");\r\n }\r\n\r\n createAdminApiKey<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/api-keys\", body);\r\n }\r\n\r\n getAdminApiKey<T = unknown>(seq: number): Promise<T> {\r\n return this.adminGet(`/api-keys/${seq}`);\r\n }\r\n\r\n updateAdminApiKey<T = unknown>(\r\n seq: number,\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPatch(`/api-keys/${seq}`, body);\r\n }\r\n\r\n deleteAdminApiKey<T = unknown>(seq: number): Promise<T> {\r\n return this.adminDelete(`/api-keys/${seq}`);\r\n }\r\n\r\n regenerateAdminApiKeySecret<T = unknown>(seq: number): Promise<T> {\r\n return this.adminPost(`/api-keys/${seq}/regenerate-secret`);\r\n }\r\n\r\n listAdminAccounts<T = unknown>(): Promise<T> {\r\n return this.adminGet(\"/accounts\");\r\n }\r\n\r\n createAdminAccount<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/accounts\", body);\r\n }\r\n\r\n getAdminAccount<T = unknown>(seq: number): Promise<T> {\r\n return this.adminGet(`/accounts/${seq}`);\r\n }\r\n\r\n updateAdminAccount<T = unknown>(\r\n seq: number,\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPatch(`/accounts/${seq}`, body);\r\n }\r\n\r\n deleteAdminAccount<T = unknown>(seq: number): Promise<T> {\r\n return this.adminDelete(`/accounts/${seq}`);\r\n }\r\n\r\n listAdminLicenses<T = unknown>(): Promise<T> {\r\n return this.adminGet(\"/licenses\");\r\n }\r\n\r\n createAdminLicense<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/licenses\", body);\r\n }\r\n\r\n getAdminLicense<T = unknown>(seq: number): Promise<T> {\r\n return this.adminGet(`/licenses/${seq}`);\r\n }\r\n\r\n updateAdminLicense<T = unknown>(\r\n seq: number,\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPatch(`/licenses/${seq}`, body);\r\n }\r\n\r\n deleteAdminLicense<T = unknown>(seq: number): Promise<T> {\r\n return this.adminDelete(`/licenses/${seq}`);\r\n }\r\n\r\n runAdminBackup<T = unknown>(\r\n body?: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/backup/run\", body);\r\n }\r\n\r\n getAdminBackupStatus<T = unknown>(\r\n body?: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/backup/status\", body);\r\n }\r\n\r\n listAdminBackups<T = unknown>(\r\n body?: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/backup/list\", body);\r\n }\r\n\r\n restoreAdminBackup<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/backup/restore\", body);\r\n }\r\n\r\n deleteAdminBackup<T = unknown>(\r\n body: Record<string, unknown>,\r\n ): Promise<T> {\r\n return this.adminPost(\"/backup/delete\", body);\r\n }\r\n\r\n disableAdminAccountTwoFactor<T = unknown>(seq: number): Promise<T> {\r\n return this.adminDelete(`/accounts/${seq}/2fa`);\r\n }\r\n };\r\n}\r\n"],
5
+ "mappings": "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",
6
6
  "names": ["AdminMixin", "Base", "path", "body", "configs", "entity", "config", "domain", "patch", "seq"]
7
7
  }
@@ -33,7 +33,10 @@ export type AuthLoginResponse = AuthLoginSuccessResponse | AuthLoginRequiresTwoF
33
33
  export declare function isAuthLoginSuccessResponse(response: AuthLoginResponse): response is AuthLoginSuccessResponse;
34
34
  export declare function AuthMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
35
35
  new (...args: any[]): {
36
- _csrfRefresher: () => Promise<void>;
36
+ authBootstrapPromise: Promise<void> | null;
37
+ authBootstrapToken: string;
38
+ authBootstrapAnonymousCompleted: boolean;
39
+ csrfRefresher: () => Promise<void>;
37
40
  /**
38
41
  * 서버 헬스 체크를 수행하고 패킷 암호화 활성 여부를 자동으로 감지합니다.
39
42
  *
@@ -50,8 +53,10 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
50
53
  packet_encryption?: boolean;
51
54
  }>;
52
55
  /** document.cookie 또는 Node 환경에서 쿠키 값 읽기 (SSR 대응) */
53
- _readCookie(name: string): string | null;
54
- _ensurePublicAuthBootstrap(): Promise<void>;
56
+ readCookie(name: string): string | null;
57
+ ensurePublicAuthBootstrap(): Promise<void>;
58
+ ensureAuthenticatedRequestBootstrap(): Promise<void>;
59
+ prepareRequest(withAuth: boolean): Promise<void>;
55
60
  /** 로그인 응답을 반환합니다. 성공 시에만 `access_token`을 내부 상태에 저장합니다. */
56
61
  login(email: string, password: string): Promise<AuthLoginResponse>;
57
62
  /** HttpOnly refresh cookie로 Access Token을 재발급받아 내부 토큰을 교체합니다. */
@@ -97,23 +102,23 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
97
102
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
98
103
  onSessionExpired?: (error: Error) => void;
99
104
  onHealthChange?: (online: boolean) => void;
100
- _sessionRefreshToken: string | null;
101
- _refreshTimer: ReturnType<typeof setTimeout> | null;
102
- _healthTickTimer: ReturnType<typeof setInterval> | null;
103
- _healthTickPromise: Promise<unknown> | null;
105
+ sessionRefreshToken: string | null;
106
+ refreshTimer: ReturnType<typeof setTimeout> | null;
107
+ healthTickTimer: ReturnType<typeof setInterval> | null;
108
+ healthTickPromise: Promise<unknown> | null;
104
109
  realtimeEnabled: boolean;
105
110
  realtimePath: string;
106
111
  realtimeAutoConnect: boolean;
107
112
  realtimeAutoReconnect: boolean;
108
113
  realtimeReconnectDelayMs: number;
109
114
  realtimeStatus: import("../../types.js").RealtimeConnectionStatus;
110
- _realtimeSocket: WebSocket | null;
111
- _realtimeConnectPromise: Promise<void> | null;
112
- _realtimeReconnectTimer: ReturnType<typeof setTimeout> | null;
113
- _realtimeShouldReconnect: boolean;
114
- _realtimeMessageListeners: Set<import("../../types.js").RealtimeMessageListener>;
115
- _realtimeStatusListeners: Set<import("../../types.js").RealtimeStatusListener>;
116
- _realtimeEventListeners: Map<string, Set<import("../../types.js").RealtimeMessageListener>>;
115
+ realtimeSocket: WebSocket | null;
116
+ realtimeConnectPromise: Promise<void> | null;
117
+ realtimeReconnectTimer: ReturnType<typeof setTimeout> | null;
118
+ realtimeShouldReconnect: boolean;
119
+ realtimeMessageListeners: Set<import("../../types.js").RealtimeMessageListener>;
120
+ realtimeStatusListeners: Set<import("../../types.js").RealtimeStatusListener>;
121
+ realtimeEventListeners: Map<string, Set<import("../../types.js").RealtimeMessageListener>>;
117
122
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
118
123
  setToken(token: string): void;
119
124
  setAnonymousPacketToken(token: string): void;
@@ -134,21 +139,21 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
134
139
  unsubscribeRealtime(subscriptions: string[]): boolean;
135
140
  startHealthTick(intervalMs?: number): void;
136
141
  stopHealthTick(): void;
137
- _scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
142
+ scheduleKeepSession(refreshToken: string, expiresIn: number, refreshFn: (rt: string) => Promise<{
138
143
  access_token: string;
139
144
  expires_in: number;
140
145
  }>): void;
141
- _clearRefreshTimer(): void;
146
+ clearRefreshTimer(): void;
142
147
  stopKeepSession(): void;
143
- _applyRealtimeOptions(options?: boolean | import("../../types.js").RealtimeClientOptions): void;
144
- _buildRealtimeUrl(): string;
145
- _handleRealtimeMessage(payload: unknown): void;
146
- _scheduleRealtimeReconnect(reason: string): void;
147
- _clearRealtimeReconnectTimer(): void;
148
- _setRealtimeStatus(status: import("../../types.js").RealtimeConnectionStatus, reason?: string, error?: Error): void;
149
- _applyCsrfHealth(): void;
148
+ applyRealtimeOptions(options?: boolean | import("../../types.js").RealtimeClientOptions): void;
149
+ buildRealtimeUrl(): string;
150
+ handleRealtimeMessage(payload: unknown): void;
151
+ scheduleRealtimeReconnect(reason: string): void;
152
+ clearRealtimeReconnectTimer(): void;
153
+ setRealtimeStatus(status: import("../../types.js").RealtimeConnectionStatus, reason?: string, error?: Error): void;
154
+ applyCsrfHealth(): void;
150
155
  readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
151
- get _reqOpts(): import("../../client/request.js").RequestOptions;
156
+ get reqOpts(): import("../../client/request.js").RequestOptions;
152
157
  get http(): {
153
158
  get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
154
159
  post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
@@ -156,12 +161,9 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
156
161
  patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
157
162
  delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
158
163
  };
164
+ request<T>(method: string, path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
159
165
  requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
160
166
  requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
161
167
  requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
162
- _request<T>(method: string, path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
163
- _requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
164
- _requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
165
- _requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
166
168
  };
167
169
  } & TBase;
@@ -1,2 +1,2 @@
1
- import{entityRequest as c}from"../../client/request.js";function h(n){return n.ok===!0&&n.requires_2fa!==!0&&typeof n.data=="object"&&n.data!==null&&"access_token"in n.data}function d(n){return class extends n{_csrfRefresher=()=>this.checkHealth(this.keepSession).then(()=>{});async checkHealth(e=!1){const t=this.token,s={};e&&(s["X-Session-Bootstrap"]="1");const r=await fetch(`${this.baseUrl}/v1/health`,{signal:AbortSignal.timeout(3e3),credentials:"include",headers:s}),i=await r.json(),o=r.headers.get("X-Access-Token");o&&(this.token=o,e&&o!==t&&this.onTokenRefreshed?.(o,0),e&&i.authenticated===!0&&this.realtimeEnabled&&this.realtimeAutoConnect&&this.connectRealtime().catch(()=>{}));const a=this._readCookie("anon_token");return i.packet_encryption===!0&&a&&(this.anonymousPacketToken=a,this.encryptRequests=!0),this._applyCsrfHealth(),e&&i.authenticated===!1&&t&&(this.disconnectRealtime("session_expired"),this.onSessionExpired?.(new Error("Session expired"))),i}_readCookie(e){if(typeof document>"u")return null;const t=document.cookie.split(";").map(s=>s.trim()).find(s=>s.startsWith(`${e}=`));if(!t)return null;try{return decodeURIComponent(t.slice(e.length+1))}catch{return t.slice(e.length+1)}}async _ensurePublicAuthBootstrap(){if(typeof document>"u"||this.apiKey&&this.hmacSecret)return;const e=!!this.anonymousPacketToken||!!this._readCookie("anon_token"),t=!!this._readCookie(this.csrfCookieName);e&&t&&this.csrfEnabled||await this.checkHealth(!1)}async login(e,t){await this._ensurePublicAuthBootstrap();const s=await c(this._reqOpts,"POST","/v1/auth/login",{email:e,passwd:t},!1,{},{requireOkShape:!1,allowStatuses:[403]});return h(s)&&(this.token=s.data.access_token,this._applyCsrfHealth(),this.keepSession&&this._healthTickTimer===null&&this.startHealthTick(),this.realtimeEnabled&&this.realtimeAutoConnect&&this.connectRealtime().catch(()=>{})),s}async tokenRefresh(){const e=await this._request("POST","/v1/auth/token_refresh",void 0,!1);return this.token=e.data.access_token,this._applyCsrfHealth(),e.data}async refreshToken(e){if(!e)return this.tokenRefresh();const t=await this._request("POST","/v1/auth/refresh",{refresh_token:e},!1);return this.token=t.data.access_token,this._applyCsrfHealth(),t.data}async logout(e){this.stopKeepSession(),this.stopHealthTick(),this.disconnectRealtime("logout");const t=await this._request("POST","/v1/auth/logout",e?{refresh_token:e}:void 0,!1);return this.token="",this._applyCsrfHealth(),t}me(){return this._request("GET","/v1/auth/me")}withdraw(e){return this._request("POST","/v1/auth/withdraw",e?{passwd:e}:{})}}}export{d as AuthMixin,h as isAuthLoginSuccessResponse};
1
+ import{entityRequest as h}from"../../client/request.js";function u(n){return n.ok===!0&&n.requires_2fa!==!0&&typeof n.data=="object"&&n.data!==null&&"access_token"in n.data}function f(n){return class extends n{authBootstrapPromise=null;authBootstrapToken="";authBootstrapAnonymousCompleted=!1;csrfRefresher=()=>this.checkHealth(this.keepSession).then(()=>{});async checkHealth(e=!1){try{const t=this.token,s={};e&&(s["X-Session-Bootstrap"]="1");const r=await fetch(`${this.baseUrl}/v1/health`,{signal:AbortSignal.timeout(3e3),credentials:"include",headers:s}),o=await r.json(),i=r.headers.get("X-Access-Token");i&&(this.token=i,e&&i!==t&&this.onTokenRefreshed?.(i,0),e&&o.authenticated===!0&&this.realtimeEnabled&&this.realtimeAutoConnect&&this.connectRealtime().catch(()=>{}));const a=this.readCookie("anon_token");return o.packet_encryption===!0&&a&&(this.anonymousPacketToken=a,this.encryptRequests=!0),this.applyCsrfHealth(),this.onHealthChange?.(!0),e&&o.authenticated===!1&&t&&(this.disconnectRealtime("session_expired"),this.onSessionExpired?.(new Error("Session expired"))),o}catch(t){throw this.onHealthChange?.(!1),t}}readCookie(e){if(typeof document>"u")return null;const t=document.cookie.split(";").map(s=>s.trim()).find(s=>s.startsWith(`${e}=`));if(!t)return null;try{return decodeURIComponent(t.slice(e.length+1))}catch{return t.slice(e.length+1)}}async ensurePublicAuthBootstrap(){if(typeof document>"u"||this.apiKey&&this.hmacSecret)return;const e=!!this.anonymousPacketToken||!!this.readCookie("anon_token"),t=!!this.readCookie(this.csrfCookieName);e&&t&&this.csrfEnabled||await this.checkHealth(!1)}async ensureAuthenticatedRequestBootstrap(){if(!(typeof document>"u")&&!(this.apiKey&&this.hmacSecret)){if(this.token){if(this.authBootstrapToken===this.token)return}else if(this.authBootstrapAnonymousCompleted)return;return this.authBootstrapPromise?this.authBootstrapPromise:(this.authBootstrapPromise=this.checkHealth(!0).then(()=>{this.token?this.authBootstrapToken=this.token:this.authBootstrapAnonymousCompleted=!0}).finally(()=>{this.authBootstrapPromise=null}),this.authBootstrapPromise)}}async prepareRequest(e){await super.prepareRequest(e),e&&await this.ensureAuthenticatedRequestBootstrap()}async login(e,t){await this.ensurePublicAuthBootstrap();const s=await h(this.reqOpts,"POST","/v1/auth/login",{email:e,passwd:t},!1,{},{requireOkShape:!1,allowStatuses:[403]});return u(s)&&(this.token=s.data.access_token,this.applyCsrfHealth(),this.keepSession&&this.healthTickTimer===null&&this.startHealthTick(),this.realtimeEnabled&&this.realtimeAutoConnect&&this.connectRealtime().catch(()=>{})),s}async tokenRefresh(){const e=await this.request("POST","/v1/auth/token_refresh",void 0,!1);return this.token=e.data.access_token,this.applyCsrfHealth(),e.data}async refreshToken(e){if(!e)return this.tokenRefresh();const t=await this.request("POST","/v1/auth/refresh",{refresh_token:e},!1);return this.token=t.data.access_token,this.applyCsrfHealth(),t.data}async logout(e){this.stopKeepSession(),this.stopHealthTick(),this.disconnectRealtime("logout");const t=await this.request("POST","/v1/auth/logout",e?{refresh_token:e}:void 0,!1);return this.token="",this.applyCsrfHealth(),t}me(){return this.request("GET","/v1/auth/me")}withdraw(e){return this.request("POST","/v1/auth/withdraw",e?{passwd:e}:{})}}}export{f as AuthMixin,u as isAuthLoginSuccessResponse};
2
2
  //# sourceMappingURL=auth.js.map