dominus-sdk-nodejs-dev 1.2.4

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 (75) hide show
  1. package/LLM-GUIDE.md +537 -0
  2. package/README.md +585 -0
  3. package/dist/index.d.ts +191 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +224 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/cache.d.ts +112 -0
  8. package/dist/lib/cache.d.ts.map +1 -0
  9. package/dist/lib/cache.js +237 -0
  10. package/dist/lib/cache.js.map +1 -0
  11. package/dist/lib/client.d.ts +38 -0
  12. package/dist/lib/client.d.ts.map +1 -0
  13. package/dist/lib/client.js +425 -0
  14. package/dist/lib/client.js.map +1 -0
  15. package/dist/lib/config.d.ts +20 -0
  16. package/dist/lib/config.d.ts.map +1 -0
  17. package/dist/lib/config.js +32 -0
  18. package/dist/lib/config.js.map +1 -0
  19. package/dist/lib/crypto.d.ts +70 -0
  20. package/dist/lib/crypto.d.ts.map +1 -0
  21. package/dist/lib/crypto.js +95 -0
  22. package/dist/lib/crypto.js.map +1 -0
  23. package/dist/lib/errors.d.ts +77 -0
  24. package/dist/lib/errors.d.ts.map +1 -0
  25. package/dist/lib/errors.js +134 -0
  26. package/dist/lib/errors.js.map +1 -0
  27. package/dist/namespaces/auth.d.ts +237 -0
  28. package/dist/namespaces/auth.d.ts.map +1 -0
  29. package/dist/namespaces/auth.js +785 -0
  30. package/dist/namespaces/auth.js.map +1 -0
  31. package/dist/namespaces/courier.d.ts +67 -0
  32. package/dist/namespaces/courier.d.ts.map +1 -0
  33. package/dist/namespaces/courier.js +90 -0
  34. package/dist/namespaces/courier.js.map +1 -0
  35. package/dist/namespaces/db.d.ts +117 -0
  36. package/dist/namespaces/db.d.ts.map +1 -0
  37. package/dist/namespaces/db.js +149 -0
  38. package/dist/namespaces/db.js.map +1 -0
  39. package/dist/namespaces/ddl.d.ts +84 -0
  40. package/dist/namespaces/ddl.d.ts.map +1 -0
  41. package/dist/namespaces/ddl.js +211 -0
  42. package/dist/namespaces/ddl.js.map +1 -0
  43. package/dist/namespaces/files.d.ts +107 -0
  44. package/dist/namespaces/files.d.ts.map +1 -0
  45. package/dist/namespaces/files.js +161 -0
  46. package/dist/namespaces/files.js.map +1 -0
  47. package/dist/namespaces/health.d.ts +30 -0
  48. package/dist/namespaces/health.d.ts.map +1 -0
  49. package/dist/namespaces/health.js +66 -0
  50. package/dist/namespaces/health.js.map +1 -0
  51. package/dist/namespaces/logs.d.ts +97 -0
  52. package/dist/namespaces/logs.d.ts.map +1 -0
  53. package/dist/namespaces/logs.js +194 -0
  54. package/dist/namespaces/logs.js.map +1 -0
  55. package/dist/namespaces/open.d.ts +27 -0
  56. package/dist/namespaces/open.d.ts.map +1 -0
  57. package/dist/namespaces/open.js +46 -0
  58. package/dist/namespaces/open.js.map +1 -0
  59. package/dist/namespaces/portal.d.ts +172 -0
  60. package/dist/namespaces/portal.d.ts.map +1 -0
  61. package/dist/namespaces/portal.js +332 -0
  62. package/dist/namespaces/portal.js.map +1 -0
  63. package/dist/namespaces/redis.d.ts +144 -0
  64. package/dist/namespaces/redis.d.ts.map +1 -0
  65. package/dist/namespaces/redis.js +218 -0
  66. package/dist/namespaces/redis.js.map +1 -0
  67. package/dist/namespaces/secrets.d.ts +50 -0
  68. package/dist/namespaces/secrets.d.ts.map +1 -0
  69. package/dist/namespaces/secrets.js +93 -0
  70. package/dist/namespaces/secrets.js.map +1 -0
  71. package/dist/namespaces/secure.d.ts +102 -0
  72. package/dist/namespaces/secure.d.ts.map +1 -0
  73. package/dist/namespaces/secure.js +151 -0
  74. package/dist/namespaces/secure.js.map +1 -0
  75. package/package.json +45 -0
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Logs Namespace - Herald structured logging operations.
3
+ *
4
+ * Provides zero-friction logging to BetterStack via Herald service.
5
+ * SDK automatically captures callsite (file, function) - users just call:
6
+ * await dominus.logs.info("message", { key: "value" })
7
+ */
8
+ import type { DominusClient } from '../lib/client.js';
9
+ export interface LogContext {
10
+ [key: string]: unknown;
11
+ }
12
+ export interface LogEntry {
13
+ level: string;
14
+ message: string;
15
+ context?: LogContext;
16
+ category?: string;
17
+ file?: string;
18
+ function?: string;
19
+ dt?: string;
20
+ [key: string]: unknown;
21
+ }
22
+ export interface BatchResult {
23
+ total: number;
24
+ stored: number;
25
+ failed: number;
26
+ }
27
+ export declare class LogsNamespace {
28
+ private client;
29
+ constructor(client: DominusClient);
30
+ /**
31
+ * Capture callsite information from the call stack.
32
+ */
33
+ private captureCallsite;
34
+ /**
35
+ * Fallback log to stderr when backend unavailable.
36
+ */
37
+ private fallbackLog;
38
+ /**
39
+ * Internal log method with callsite capture.
40
+ */
41
+ private _log;
42
+ /**
43
+ * Log debug message.
44
+ */
45
+ debug(message: string, context?: LogContext, category?: string): Promise<boolean>;
46
+ /**
47
+ * Log info message.
48
+ */
49
+ info(message: string, context?: LogContext, category?: string): Promise<boolean>;
50
+ /**
51
+ * Log notice message.
52
+ */
53
+ notice(message: string, context?: LogContext, category?: string): Promise<boolean>;
54
+ /**
55
+ * Log warning message.
56
+ */
57
+ warn(message: string, context?: LogContext, category?: string): Promise<boolean>;
58
+ /**
59
+ * Log error message.
60
+ */
61
+ error(message: string, context?: LogContext, options?: {
62
+ category?: string;
63
+ exception?: Error;
64
+ }): Promise<boolean>;
65
+ /**
66
+ * Log critical message.
67
+ */
68
+ critical(message: string, context?: LogContext, options?: {
69
+ category?: string;
70
+ exception?: Error;
71
+ }): Promise<boolean>;
72
+ /**
73
+ * Query logs from Herald.
74
+ */
75
+ query(options?: {
76
+ level?: string;
77
+ category?: string;
78
+ startTime?: string;
79
+ endTime?: string;
80
+ file?: string;
81
+ function?: string;
82
+ search?: string;
83
+ limit?: number;
84
+ project?: string;
85
+ environment?: string;
86
+ }): Promise<LogEntry[]>;
87
+ /**
88
+ * Send multiple log events in one request.
89
+ */
90
+ batch(events: Array<{
91
+ level: string;
92
+ message: string;
93
+ context?: LogContext;
94
+ category?: string;
95
+ }>): Promise<BatchResult>;
96
+ }
97
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/namespaces/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Logs Namespace - Herald structured logging operations.
3
+ *
4
+ * Provides zero-friction logging to BetterStack via Herald service.
5
+ * SDK automatically captures callsite (file, function) - users just call:
6
+ * await dominus.logs.info("message", { key: "value" })
7
+ */
8
+ export class LogsNamespace {
9
+ client;
10
+ constructor(client) {
11
+ this.client = client;
12
+ }
13
+ /**
14
+ * Capture callsite information from the call stack.
15
+ */
16
+ captureCallsite() {
17
+ try {
18
+ const err = new Error();
19
+ const stack = err.stack?.split('\n') || [];
20
+ // Skip: Error, captureCallsite, _log, public method, caller
21
+ const callerLine = stack[4] || stack[3] || '';
22
+ // Parse stack line like "at functionName (file:line:col)" or "at file:line:col"
23
+ const match = callerLine.match(/at\s+(?:(.+?)\s+\()?(.+?)(?::\d+:\d+)?\)?$/);
24
+ if (match) {
25
+ let filepath = match[2] || '';
26
+ const func = match[1];
27
+ // Normalize filepath - keep last 3 path components
28
+ const parts = filepath.split(/[/\\]/);
29
+ if (parts.length > 3) {
30
+ filepath = parts.slice(-3).join('/');
31
+ }
32
+ return { file: filepath || undefined, func: func || undefined };
33
+ }
34
+ }
35
+ catch {
36
+ // Ignore callsite capture errors
37
+ }
38
+ return {};
39
+ }
40
+ /**
41
+ * Fallback log to stderr when backend unavailable.
42
+ */
43
+ fallbackLog(level, message, context) {
44
+ try {
45
+ const entry = {
46
+ dt: new Date().toISOString(),
47
+ level: level.toUpperCase(),
48
+ message,
49
+ _fallback: true,
50
+ };
51
+ if (context) {
52
+ entry.context = context;
53
+ }
54
+ console.error(JSON.stringify(entry));
55
+ }
56
+ catch {
57
+ // Ignore
58
+ }
59
+ }
60
+ /**
61
+ * Internal log method with callsite capture.
62
+ */
63
+ async _log(level, message, context, category, exception) {
64
+ const { file, func } = this.captureCallsite();
65
+ const body = {
66
+ level,
67
+ message,
68
+ };
69
+ if (context)
70
+ body.context = context;
71
+ if (category)
72
+ body.category = category;
73
+ if (file)
74
+ body.file = file;
75
+ if (func)
76
+ body.function = func;
77
+ if (exception) {
78
+ body.context = {
79
+ ...(body.context || {}),
80
+ exception: {
81
+ type: exception.name,
82
+ message: exception.message,
83
+ },
84
+ };
85
+ }
86
+ try {
87
+ const result = await this.client.request({
88
+ endpoint: '/api/herald/log',
89
+ body,
90
+ });
91
+ return result.stored ?? false;
92
+ }
93
+ catch {
94
+ // Never raise - fallback to local
95
+ this.fallbackLog(level, message, context);
96
+ return false;
97
+ }
98
+ }
99
+ /**
100
+ * Log debug message.
101
+ */
102
+ async debug(message, context, category) {
103
+ return this._log('debug', message, context, category);
104
+ }
105
+ /**
106
+ * Log info message.
107
+ */
108
+ async info(message, context, category) {
109
+ return this._log('info', message, context, category);
110
+ }
111
+ /**
112
+ * Log notice message.
113
+ */
114
+ async notice(message, context, category) {
115
+ return this._log('notice', message, context, category);
116
+ }
117
+ /**
118
+ * Log warning message.
119
+ */
120
+ async warn(message, context, category) {
121
+ return this._log('warn', message, context, category);
122
+ }
123
+ /**
124
+ * Log error message.
125
+ */
126
+ async error(message, context, options) {
127
+ return this._log('error', message, context, options?.category, options?.exception);
128
+ }
129
+ /**
130
+ * Log critical message.
131
+ */
132
+ async critical(message, context, options) {
133
+ return this._log('critical', message, context, options?.category, options?.exception);
134
+ }
135
+ /**
136
+ * Query logs from Herald.
137
+ */
138
+ async query(options = {}) {
139
+ const { level, category, startTime, endTime, file, function: func, search, limit = 100, project, environment, } = options;
140
+ const body = { limit };
141
+ if (level)
142
+ body.level = level;
143
+ if (category)
144
+ body.category = category;
145
+ if (startTime)
146
+ body.start_time = startTime;
147
+ if (endTime)
148
+ body.end_time = endTime;
149
+ if (file)
150
+ body.file = file;
151
+ if (func)
152
+ body.function = func;
153
+ if (search)
154
+ body.search = search;
155
+ if (project)
156
+ body.project = project;
157
+ if (environment)
158
+ body.environment = environment;
159
+ try {
160
+ const result = await this.client.request({
161
+ endpoint: '/api/herald/query',
162
+ body,
163
+ });
164
+ return result.logs ?? [];
165
+ }
166
+ catch {
167
+ return [];
168
+ }
169
+ }
170
+ /**
171
+ * Send multiple log events in one request.
172
+ */
173
+ async batch(events) {
174
+ try {
175
+ const result = await this.client.request({
176
+ endpoint: '/api/herald/batch',
177
+ body: { events: events.slice(0, 100) },
178
+ });
179
+ return result;
180
+ }
181
+ catch {
182
+ // Fallback - log each locally
183
+ for (const event of events) {
184
+ this.fallbackLog(event.level || 'info', event.message || '', event.context);
185
+ }
186
+ return {
187
+ total: events.length,
188
+ stored: 0,
189
+ failed: events.length,
190
+ };
191
+ }
192
+ }
193
+ }
194
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/namespaces/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Open Namespace - Direct database access operations.
3
+ *
4
+ * Provides DSN retrieval and raw SQL execution for advanced use cases.
5
+ */
6
+ import type { DominusClient } from '../lib/client.js';
7
+ export declare class OpenNamespace {
8
+ private client;
9
+ constructor(client: DominusClient);
10
+ /**
11
+ * Get the PostgreSQL connection DSN.
12
+ *
13
+ * Returns the complete PostgreSQL connection URI that can be
14
+ * used directly by clients to connect to the database.
15
+ */
16
+ dsn(): Promise<string>;
17
+ /**
18
+ * Execute raw SQL query.
19
+ *
20
+ * Use with caution - this bypasses most safety checks.
21
+ *
22
+ * @param sql - SQL query string
23
+ * @param params - Optional parameter dictionary
24
+ */
25
+ execute(sql: string, params?: Record<string, unknown>): Promise<Record<string, unknown>>;
26
+ }
27
+ //# sourceMappingURL=open.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/namespaces/open.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC;;;;;OAKG;IACG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAY5B;;;;;;;OAOG;IACG,OAAO,CACX,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAWpC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Open Namespace - Direct database access operations.
3
+ *
4
+ * Provides DSN retrieval and raw SQL execution for advanced use cases.
5
+ */
6
+ export class OpenNamespace {
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Get the PostgreSQL connection DSN.
13
+ *
14
+ * Returns the complete PostgreSQL connection URI that can be
15
+ * used directly by clients to connect to the database.
16
+ */
17
+ async dsn() {
18
+ const result = await this.client.request({
19
+ endpoint: '/api/scribe/open/dsn',
20
+ method: 'GET',
21
+ });
22
+ if (typeof result === 'string') {
23
+ return result;
24
+ }
25
+ return result.dsn || result.connection_string || '';
26
+ }
27
+ /**
28
+ * Execute raw SQL query.
29
+ *
30
+ * Use with caution - this bypasses most safety checks.
31
+ *
32
+ * @param sql - SQL query string
33
+ * @param params - Optional parameter dictionary
34
+ */
35
+ async execute(sql, params) {
36
+ const body = { sql };
37
+ if (params) {
38
+ body.params = params;
39
+ }
40
+ return this.client.request({
41
+ endpoint: '/api/scribe/open/execute',
42
+ body,
43
+ });
44
+ }
45
+ }
46
+ //# sourceMappingURL=open.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/namespaces/open.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;;;;OAKG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAwD;YAC9F,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CACX,GAAW,EACX,MAAgC;QAEhC,MAAM,IAAI,GAA4B,EAAE,GAAG,EAAE,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,QAAQ,EAAE,0BAA0B;YACpC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Portal Namespace - User authentication and session orchestration.
3
+ *
4
+ * Provides login, logout, session management, profile, and navigation access.
5
+ */
6
+ import type { DominusClient } from '../lib/client.js';
7
+ export interface Session {
8
+ id: string;
9
+ userId: string;
10
+ tenantId: string;
11
+ createdAt: string;
12
+ expiresAt: string;
13
+ [key: string]: unknown;
14
+ }
15
+ export declare class PortalNamespace {
16
+ private client;
17
+ constructor(client: DominusClient);
18
+ /**
19
+ * Login user with password.
20
+ *
21
+ * @param username - Username or email
22
+ * @param password - User password
23
+ * @param tenantId - Optional tenant UUID/slug. If not provided, uses user's first available tenant.
24
+ * @returns User info, active tenant, available tenants list, and session_id
25
+ */
26
+ login(username: string, password: string, tenantId?: string): Promise<Record<string, unknown>>;
27
+ /**
28
+ * Login service client with PSK.
29
+ *
30
+ * Client is looked up by PSK directly - no client_id needed.
31
+ *
32
+ * @param psk - Pre-shared key
33
+ * @param tenantId - Optional tenant UUID. If not provided, uses client's first assigned tenant.
34
+ */
35
+ loginClient(psk: string, tenantId?: string): Promise<Record<string, unknown>>;
36
+ /**
37
+ * End session and clear cookie.
38
+ *
39
+ * @param userToken - User's JWT token (required for user-authenticated requests)
40
+ */
41
+ logout(userToken?: string): Promise<Record<string, unknown>>;
42
+ /**
43
+ * Refresh JWT token using existing session.
44
+ *
45
+ * @param userToken - User's current JWT token (can be expired)
46
+ * @returns New access token and session info
47
+ */
48
+ refresh(userToken?: string): Promise<Record<string, unknown>>;
49
+ /**
50
+ * Get current user/client info.
51
+ *
52
+ * @param userToken - User's JWT token (required for user-authenticated requests)
53
+ */
54
+ me(userToken?: string): Promise<Record<string, unknown>>;
55
+ /**
56
+ * Switch active tenant context.
57
+ *
58
+ * @param tenantId - Tenant UUID to switch to
59
+ * @param userToken - User's JWT token (required for user-authenticated requests)
60
+ */
61
+ switchTenant(tenantId: string, userToken?: string): Promise<Record<string, unknown>>;
62
+ /**
63
+ * Change current user's password.
64
+ *
65
+ * @param currentPassword - Current password
66
+ * @param newPassword - New password
67
+ * @param userToken - User's JWT token
68
+ */
69
+ changePassword(currentPassword: string, newPassword: string, userToken?: string): Promise<Record<string, unknown>>;
70
+ /**
71
+ * Request password reset email.
72
+ * Note: This does not require user authentication.
73
+ */
74
+ requestPasswordReset(email: string): Promise<Record<string, unknown>>;
75
+ /**
76
+ * Confirm password reset with token.
77
+ * Note: This does not require user authentication.
78
+ */
79
+ confirmPasswordReset(token: string, newPassword: string): Promise<Record<string, unknown>>;
80
+ /**
81
+ * List all active sessions for current user.
82
+ *
83
+ * @param userToken - User's JWT token
84
+ */
85
+ listSessions(userToken?: string): Promise<Session[]>;
86
+ /**
87
+ * Revoke a specific session.
88
+ *
89
+ * @param sessionId - Session UUID to revoke
90
+ * @param userToken - User's JWT token
91
+ */
92
+ revokeSession(sessionId: string, userToken?: string): Promise<Record<string, unknown>>;
93
+ /**
94
+ * Revoke all sessions except current.
95
+ *
96
+ * @param userToken - User's JWT token
97
+ */
98
+ revokeAllSessions(userToken?: string): Promise<Record<string, unknown>>;
99
+ /**
100
+ * Get current user's profile.
101
+ *
102
+ * @param userToken - User's JWT token
103
+ */
104
+ getProfile(userToken?: string): Promise<Record<string, unknown>>;
105
+ /**
106
+ * Update user profile.
107
+ *
108
+ * @param params - Profile fields to update
109
+ * @param userToken - User's JWT token
110
+ */
111
+ updateProfile(params: {
112
+ displayName?: string;
113
+ avatarUrl?: string;
114
+ bio?: string;
115
+ phone?: string;
116
+ extra?: Record<string, unknown>;
117
+ }, userToken?: string): Promise<Record<string, unknown>>;
118
+ /**
119
+ * Get current user's preferences.
120
+ *
121
+ * @param userToken - User's JWT token
122
+ */
123
+ getPreferences(userToken?: string): Promise<Record<string, unknown>>;
124
+ /**
125
+ * Update user preferences.
126
+ *
127
+ * @param params - Preference fields to update
128
+ * @param userToken - User's JWT token
129
+ */
130
+ updatePreferences(params: {
131
+ theme?: string;
132
+ language?: string;
133
+ timezone?: string;
134
+ sidebarCollapsed?: boolean;
135
+ notificationsEnabled?: boolean;
136
+ emailNotifications?: boolean;
137
+ extra?: Record<string, unknown>;
138
+ }, userToken?: string): Promise<Record<string, unknown>>;
139
+ /**
140
+ * Get navigation tree for current user's tenant.
141
+ *
142
+ * @param userToken - User's JWT token
143
+ */
144
+ getNavigation(userToken?: string): Promise<Record<string, unknown>>;
145
+ /**
146
+ * Check if current user can access a page.
147
+ *
148
+ * @param pagePath - Page path to check (e.g., "/dashboard/admin")
149
+ * @param userToken - User's JWT token
150
+ */
151
+ checkPageAccess(pagePath: string, userToken?: string): Promise<{
152
+ allowed: boolean;
153
+ reason?: string;
154
+ }>;
155
+ /**
156
+ * Self-register new user.
157
+ */
158
+ register(username: string, email: string, password: string, tenantId: string): Promise<Record<string, unknown>>;
159
+ /**
160
+ * Verify email with token.
161
+ */
162
+ verifyEmail(token: string): Promise<Record<string, unknown>>;
163
+ /**
164
+ * Resend verification email.
165
+ */
166
+ resendVerification(email: string): Promise<Record<string, unknown>>;
167
+ /**
168
+ * Accept admin invitation and set password.
169
+ */
170
+ acceptInvitation(token: string, password: string): Promise<Record<string, unknown>>;
171
+ }
172
+ //# sourceMappingURL=portal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../src/namespaces/portal.ts"],"names":[],"mappings":"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"}