@meistrari/auth-core 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +159 -10
- package/dist/index.d.ts +159 -10
- package/dist/index.mjs +49 -2
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as better_auth_client from 'better-auth/client';
|
|
2
2
|
import { BetterFetchOption } from 'better-auth/client';
|
|
3
|
-
export { BetterFetchError as APIError } from 'better-auth/client';
|
|
4
3
|
import * as better_auth from 'better-auth';
|
|
5
4
|
import { JWTPayload } from 'better-auth';
|
|
6
5
|
import * as better_auth_plugins from 'better-auth/plugins';
|
|
7
6
|
import * as jose from 'jose';
|
|
8
7
|
import * as _better_auth_sso from '@better-auth/sso';
|
|
8
|
+
import * as better_call from 'better-call';
|
|
9
9
|
import * as nanostores from 'nanostores';
|
|
10
10
|
import * as _better_fetch_fetch from '@better-fetch/fetch';
|
|
11
|
+
export { BetterFetchError as APIError } from '@better-fetch/fetch';
|
|
11
12
|
import * as better_auth_client_plugins from 'better-auth/client/plugins';
|
|
12
13
|
|
|
13
14
|
declare const ac: {
|
|
@@ -301,11 +302,15 @@ declare function createAPIClient(apiUrl: string, fetchOptions?: BetterFetchOptio
|
|
|
301
302
|
};
|
|
302
303
|
};
|
|
303
304
|
} & {
|
|
304
|
-
handshake: <FetchOptions extends better_auth.ClientFetchOption<never, Partial<
|
|
305
|
-
|
|
305
|
+
handshake: <FetchOptions extends better_auth.ClientFetchOption<never, Partial<{
|
|
306
|
+
origin: string;
|
|
307
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0: better_auth_client_plugins.Prettify<{
|
|
308
|
+
query: {
|
|
309
|
+
origin: string;
|
|
310
|
+
};
|
|
306
311
|
fetchOptions?: FetchOptions | undefined;
|
|
307
|
-
}
|
|
308
|
-
status: ("OK" | "CREATED" | "ACCEPTED" | "NO_CONTENT" | "MULTIPLE_CHOICES" | "MOVED_PERMANENTLY" | "FOUND" | "SEE_OTHER" | "NOT_MODIFIED" | "TEMPORARY_REDIRECT" | "BAD_REQUEST" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "PROXY_AUTHENTICATION_REQUIRED" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "LENGTH_REQUIRED" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "URI_TOO_LONG" | "UNSUPPORTED_MEDIA_TYPE" | "RANGE_NOT_SATISFIABLE" | "EXPECTATION_FAILED" | "I'M_A_TEAPOT" | "MISDIRECTED_REQUEST" | "UNPROCESSABLE_ENTITY" | "LOCKED" | "FAILED_DEPENDENCY" | "TOO_EARLY" | "UPGRADE_REQUIRED" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "REQUEST_HEADER_FIELDS_TOO_LARGE" | "UNAVAILABLE_FOR_LEGAL_REASONS" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "HTTP_VERSION_NOT_SUPPORTED" | "VARIANT_ALSO_NEGOTIATES" | "INSUFFICIENT_STORAGE" | "LOOP_DETECTED" | "NOT_EXTENDED" | "NETWORK_AUTHENTICATION_REQUIRED") |
|
|
312
|
+
}>, data_1?: FetchOptions | undefined) => Promise<_better_fetch_fetch.BetterFetchResponse<{
|
|
313
|
+
status: ("OK" | "CREATED" | "ACCEPTED" | "NO_CONTENT" | "MULTIPLE_CHOICES" | "MOVED_PERMANENTLY" | "FOUND" | "SEE_OTHER" | "NOT_MODIFIED" | "TEMPORARY_REDIRECT" | "BAD_REQUEST" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "PROXY_AUTHENTICATION_REQUIRED" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "LENGTH_REQUIRED" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "URI_TOO_LONG" | "UNSUPPORTED_MEDIA_TYPE" | "RANGE_NOT_SATISFIABLE" | "EXPECTATION_FAILED" | "I'M_A_TEAPOT" | "MISDIRECTED_REQUEST" | "UNPROCESSABLE_ENTITY" | "LOCKED" | "FAILED_DEPENDENCY" | "TOO_EARLY" | "UPGRADE_REQUIRED" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "REQUEST_HEADER_FIELDS_TOO_LARGE" | "UNAVAILABLE_FOR_LEGAL_REASONS" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "HTTP_VERSION_NOT_SUPPORTED" | "VARIANT_ALSO_NEGOTIATES" | "INSUFFICIENT_STORAGE" | "LOOP_DETECTED" | "NOT_EXTENDED" | "NETWORK_AUTHENTICATION_REQUIRED") | better_call.Status;
|
|
309
314
|
body: ({
|
|
310
315
|
message?: string;
|
|
311
316
|
code?: string;
|
|
@@ -3074,11 +3079,15 @@ declare const stub: {
|
|
|
3074
3079
|
};
|
|
3075
3080
|
};
|
|
3076
3081
|
} & {
|
|
3077
|
-
handshake: <FetchOptions extends better_auth.ClientFetchOption<never, Partial<
|
|
3078
|
-
|
|
3082
|
+
handshake: <FetchOptions extends better_auth.ClientFetchOption<never, Partial<{
|
|
3083
|
+
origin: string;
|
|
3084
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0: better_auth_client_plugins.Prettify<{
|
|
3085
|
+
query: {
|
|
3086
|
+
origin: string;
|
|
3087
|
+
};
|
|
3079
3088
|
fetchOptions?: FetchOptions | undefined;
|
|
3080
|
-
}
|
|
3081
|
-
status: ("OK" | "CREATED" | "ACCEPTED" | "NO_CONTENT" | "MULTIPLE_CHOICES" | "MOVED_PERMANENTLY" | "FOUND" | "SEE_OTHER" | "NOT_MODIFIED" | "TEMPORARY_REDIRECT" | "BAD_REQUEST" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "PROXY_AUTHENTICATION_REQUIRED" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "LENGTH_REQUIRED" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "URI_TOO_LONG" | "UNSUPPORTED_MEDIA_TYPE" | "RANGE_NOT_SATISFIABLE" | "EXPECTATION_FAILED" | "I'M_A_TEAPOT" | "MISDIRECTED_REQUEST" | "UNPROCESSABLE_ENTITY" | "LOCKED" | "FAILED_DEPENDENCY" | "TOO_EARLY" | "UPGRADE_REQUIRED" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "REQUEST_HEADER_FIELDS_TOO_LARGE" | "UNAVAILABLE_FOR_LEGAL_REASONS" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "HTTP_VERSION_NOT_SUPPORTED" | "VARIANT_ALSO_NEGOTIATES" | "INSUFFICIENT_STORAGE" | "LOOP_DETECTED" | "NOT_EXTENDED" | "NETWORK_AUTHENTICATION_REQUIRED") |
|
|
3089
|
+
}>, data_1?: FetchOptions | undefined) => Promise<_better_fetch_fetch.BetterFetchResponse<{
|
|
3090
|
+
status: ("OK" | "CREATED" | "ACCEPTED" | "NO_CONTENT" | "MULTIPLE_CHOICES" | "MOVED_PERMANENTLY" | "FOUND" | "SEE_OTHER" | "NOT_MODIFIED" | "TEMPORARY_REDIRECT" | "BAD_REQUEST" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "PROXY_AUTHENTICATION_REQUIRED" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "LENGTH_REQUIRED" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "URI_TOO_LONG" | "UNSUPPORTED_MEDIA_TYPE" | "RANGE_NOT_SATISFIABLE" | "EXPECTATION_FAILED" | "I'M_A_TEAPOT" | "MISDIRECTED_REQUEST" | "UNPROCESSABLE_ENTITY" | "LOCKED" | "FAILED_DEPENDENCY" | "TOO_EARLY" | "UPGRADE_REQUIRED" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "REQUEST_HEADER_FIELDS_TOO_LARGE" | "UNAVAILABLE_FOR_LEGAL_REASONS" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "HTTP_VERSION_NOT_SUPPORTED" | "VARIANT_ALSO_NEGOTIATES" | "INSUFFICIENT_STORAGE" | "LOOP_DETECTED" | "NOT_EXTENDED" | "NETWORK_AUTHENTICATION_REQUIRED") | better_call.Status;
|
|
3082
3091
|
body: ({
|
|
3083
3092
|
message?: string;
|
|
3084
3093
|
code?: string;
|
|
@@ -6068,6 +6077,7 @@ declare class OrganizationService {
|
|
|
6068
6077
|
*
|
|
6069
6078
|
* @param teamId - The team ID
|
|
6070
6079
|
* @param userId - The user ID to add
|
|
6080
|
+
* @returns The added team member
|
|
6071
6081
|
*/
|
|
6072
6082
|
addTeamMember(teamId: string, userId: string): Promise<{
|
|
6073
6083
|
id: string;
|
|
@@ -6223,6 +6233,141 @@ declare class SessionService {
|
|
|
6223
6233
|
}>;
|
|
6224
6234
|
}
|
|
6225
6235
|
|
|
6236
|
+
type CreateApiKeyPayload = {
|
|
6237
|
+
name?: string;
|
|
6238
|
+
expiresIn?: number;
|
|
6239
|
+
prefix?: string;
|
|
6240
|
+
metadata?: ApiKeyMetadata;
|
|
6241
|
+
};
|
|
6242
|
+
type UpdateApiKeyPayload = {
|
|
6243
|
+
id: string;
|
|
6244
|
+
name?: string;
|
|
6245
|
+
};
|
|
6246
|
+
type ApiKeyMetadata = {
|
|
6247
|
+
user: {
|
|
6248
|
+
id: string;
|
|
6249
|
+
email: string;
|
|
6250
|
+
};
|
|
6251
|
+
workspace: {
|
|
6252
|
+
id: string;
|
|
6253
|
+
title: string;
|
|
6254
|
+
};
|
|
6255
|
+
} & Record<string, unknown>;
|
|
6256
|
+
|
|
6257
|
+
/**
|
|
6258
|
+
* Service for managing API keys
|
|
6259
|
+
*
|
|
6260
|
+
* Provides comprehensive API key management including:
|
|
6261
|
+
* - API key CRUD operations
|
|
6262
|
+
*/
|
|
6263
|
+
declare class ApiKeyService {
|
|
6264
|
+
private client;
|
|
6265
|
+
/**
|
|
6266
|
+
* Creates a new ApiKeyService instance.
|
|
6267
|
+
*
|
|
6268
|
+
* @param client - The API client for making API key requests
|
|
6269
|
+
*/
|
|
6270
|
+
constructor(client: APIClient);
|
|
6271
|
+
createApiKey(payload: CreateApiKeyPayload): Promise<{
|
|
6272
|
+
key: string;
|
|
6273
|
+
metadata: any;
|
|
6274
|
+
permissions: any;
|
|
6275
|
+
id: string;
|
|
6276
|
+
name: string | null;
|
|
6277
|
+
start: string | null;
|
|
6278
|
+
prefix: string | null;
|
|
6279
|
+
userId: string;
|
|
6280
|
+
refillInterval: number | null;
|
|
6281
|
+
refillAmount: number | null;
|
|
6282
|
+
lastRefillAt: Date | null;
|
|
6283
|
+
enabled: boolean;
|
|
6284
|
+
rateLimitEnabled: boolean;
|
|
6285
|
+
rateLimitTimeWindow: number | null;
|
|
6286
|
+
rateLimitMax: number | null;
|
|
6287
|
+
requestCount: number;
|
|
6288
|
+
remaining: number | null;
|
|
6289
|
+
lastRequest: Date | null;
|
|
6290
|
+
expiresAt: Date | null;
|
|
6291
|
+
createdAt: Date;
|
|
6292
|
+
updatedAt: Date;
|
|
6293
|
+
}>;
|
|
6294
|
+
getApiKey(id: string): Promise<{
|
|
6295
|
+
permissions: {
|
|
6296
|
+
[key: string]: string[];
|
|
6297
|
+
} | null;
|
|
6298
|
+
id: string;
|
|
6299
|
+
name: string | null;
|
|
6300
|
+
start: string | null;
|
|
6301
|
+
prefix: string | null;
|
|
6302
|
+
userId: string;
|
|
6303
|
+
refillInterval: number | null;
|
|
6304
|
+
refillAmount: number | null;
|
|
6305
|
+
lastRefillAt: Date | null;
|
|
6306
|
+
enabled: boolean;
|
|
6307
|
+
rateLimitEnabled: boolean;
|
|
6308
|
+
rateLimitTimeWindow: number | null;
|
|
6309
|
+
rateLimitMax: number | null;
|
|
6310
|
+
requestCount: number;
|
|
6311
|
+
remaining: number | null;
|
|
6312
|
+
lastRequest: Date | null;
|
|
6313
|
+
expiresAt: Date | null;
|
|
6314
|
+
createdAt: Date;
|
|
6315
|
+
updatedAt: Date;
|
|
6316
|
+
metadata: Record<string, any> | null;
|
|
6317
|
+
}>;
|
|
6318
|
+
listApiKeys(): Promise<{
|
|
6319
|
+
permissions: {
|
|
6320
|
+
[key: string]: string[];
|
|
6321
|
+
} | null;
|
|
6322
|
+
id: string;
|
|
6323
|
+
name: string | null;
|
|
6324
|
+
start: string | null;
|
|
6325
|
+
prefix: string | null;
|
|
6326
|
+
userId: string;
|
|
6327
|
+
refillInterval: number | null;
|
|
6328
|
+
refillAmount: number | null;
|
|
6329
|
+
lastRefillAt: Date | null;
|
|
6330
|
+
enabled: boolean;
|
|
6331
|
+
rateLimitEnabled: boolean;
|
|
6332
|
+
rateLimitTimeWindow: number | null;
|
|
6333
|
+
rateLimitMax: number | null;
|
|
6334
|
+
requestCount: number;
|
|
6335
|
+
remaining: number | null;
|
|
6336
|
+
lastRequest: Date | null;
|
|
6337
|
+
expiresAt: Date | null;
|
|
6338
|
+
createdAt: Date;
|
|
6339
|
+
updatedAt: Date;
|
|
6340
|
+
metadata: Record<string, any> | null;
|
|
6341
|
+
}[]>;
|
|
6342
|
+
updateApiKey(payload: UpdateApiKeyPayload): Promise<{
|
|
6343
|
+
permissions: {
|
|
6344
|
+
[key: string]: string[];
|
|
6345
|
+
} | null;
|
|
6346
|
+
id: string;
|
|
6347
|
+
name: string | null;
|
|
6348
|
+
start: string | null;
|
|
6349
|
+
prefix: string | null;
|
|
6350
|
+
userId: string;
|
|
6351
|
+
refillInterval: number | null;
|
|
6352
|
+
refillAmount: number | null;
|
|
6353
|
+
lastRefillAt: Date | null;
|
|
6354
|
+
enabled: boolean;
|
|
6355
|
+
rateLimitEnabled: boolean;
|
|
6356
|
+
rateLimitTimeWindow: number | null;
|
|
6357
|
+
rateLimitMax: number | null;
|
|
6358
|
+
requestCount: number;
|
|
6359
|
+
remaining: number | null;
|
|
6360
|
+
lastRequest: Date | null;
|
|
6361
|
+
expiresAt: Date | null;
|
|
6362
|
+
createdAt: Date;
|
|
6363
|
+
updatedAt: Date;
|
|
6364
|
+
metadata: Record<string, any> | null;
|
|
6365
|
+
}>;
|
|
6366
|
+
deleteApiKey(id: string): Promise<{
|
|
6367
|
+
success: boolean;
|
|
6368
|
+
}>;
|
|
6369
|
+
}
|
|
6370
|
+
|
|
6226
6371
|
declare class BaseError extends Error {
|
|
6227
6372
|
code: string;
|
|
6228
6373
|
constructor(code: string, message: string, options?: ErrorOptions);
|
|
@@ -6280,6 +6425,10 @@ declare class AuthClient {
|
|
|
6280
6425
|
* Organization management service for multi-tenant operations
|
|
6281
6426
|
*/
|
|
6282
6427
|
organization: OrganizationService;
|
|
6428
|
+
/**
|
|
6429
|
+
* API key management service for API key operations
|
|
6430
|
+
*/
|
|
6431
|
+
apiKey: ApiKeyService;
|
|
6283
6432
|
/**
|
|
6284
6433
|
* Creates a new AuthClient instance.
|
|
6285
6434
|
*
|
|
@@ -6343,4 +6492,4 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
|
|
|
6343
6492
|
declare function extractTokenPayload(token: string): JWTTokenPayload;
|
|
6344
6493
|
|
|
6345
6494
|
export { AuthClient, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, Roles, ac, createAPIClient, extractTokenPayload, isTokenExpired, organizationAdditionalFields, rolesAccessControl, userAdditionalFields, validateToken };
|
|
6346
|
-
export type { APIClient, CreateTeamPayload, FullOrganization, GetOrganizationOptions, Invitation, InviteUserToOrganizationOptions, JWTTokenPayload, ListMembersOptions, ExtendedMember as Member, ExtendedOrganization as Organization, RemoveUserFromOrganizationOptions, Role, Session, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, Team, TeamMember, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User };
|
|
6495
|
+
export type { APIClient, ApiKeyMetadata, CreateApiKeyPayload, CreateTeamPayload, FullOrganization, GetOrganizationOptions, Invitation, InviteUserToOrganizationOptions, JWTTokenPayload, ListMembersOptions, ExtendedMember as Member, ExtendedOrganization as Organization, RemoveUserFromOrganizationOptions, Role, Session, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, Team, TeamMember, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as better_auth_client from 'better-auth/client';
|
|
2
2
|
import { BetterFetchOption } from 'better-auth/client';
|
|
3
|
-
export { BetterFetchError as APIError } from 'better-auth/client';
|
|
4
3
|
import * as better_auth from 'better-auth';
|
|
5
4
|
import { JWTPayload } from 'better-auth';
|
|
6
5
|
import * as better_auth_plugins from 'better-auth/plugins';
|
|
7
6
|
import * as jose from 'jose';
|
|
8
7
|
import * as _better_auth_sso from '@better-auth/sso';
|
|
8
|
+
import * as better_call from 'better-call';
|
|
9
9
|
import * as nanostores from 'nanostores';
|
|
10
10
|
import * as _better_fetch_fetch from '@better-fetch/fetch';
|
|
11
|
+
export { BetterFetchError as APIError } from '@better-fetch/fetch';
|
|
11
12
|
import * as better_auth_client_plugins from 'better-auth/client/plugins';
|
|
12
13
|
|
|
13
14
|
declare const ac: {
|
|
@@ -301,11 +302,15 @@ declare function createAPIClient(apiUrl: string, fetchOptions?: BetterFetchOptio
|
|
|
301
302
|
};
|
|
302
303
|
};
|
|
303
304
|
} & {
|
|
304
|
-
handshake: <FetchOptions extends better_auth.ClientFetchOption<never, Partial<
|
|
305
|
-
|
|
305
|
+
handshake: <FetchOptions extends better_auth.ClientFetchOption<never, Partial<{
|
|
306
|
+
origin: string;
|
|
307
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0: better_auth_client_plugins.Prettify<{
|
|
308
|
+
query: {
|
|
309
|
+
origin: string;
|
|
310
|
+
};
|
|
306
311
|
fetchOptions?: FetchOptions | undefined;
|
|
307
|
-
}
|
|
308
|
-
status: ("OK" | "CREATED" | "ACCEPTED" | "NO_CONTENT" | "MULTIPLE_CHOICES" | "MOVED_PERMANENTLY" | "FOUND" | "SEE_OTHER" | "NOT_MODIFIED" | "TEMPORARY_REDIRECT" | "BAD_REQUEST" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "PROXY_AUTHENTICATION_REQUIRED" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "LENGTH_REQUIRED" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "URI_TOO_LONG" | "UNSUPPORTED_MEDIA_TYPE" | "RANGE_NOT_SATISFIABLE" | "EXPECTATION_FAILED" | "I'M_A_TEAPOT" | "MISDIRECTED_REQUEST" | "UNPROCESSABLE_ENTITY" | "LOCKED" | "FAILED_DEPENDENCY" | "TOO_EARLY" | "UPGRADE_REQUIRED" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "REQUEST_HEADER_FIELDS_TOO_LARGE" | "UNAVAILABLE_FOR_LEGAL_REASONS" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "HTTP_VERSION_NOT_SUPPORTED" | "VARIANT_ALSO_NEGOTIATES" | "INSUFFICIENT_STORAGE" | "LOOP_DETECTED" | "NOT_EXTENDED" | "NETWORK_AUTHENTICATION_REQUIRED") |
|
|
312
|
+
}>, data_1?: FetchOptions | undefined) => Promise<_better_fetch_fetch.BetterFetchResponse<{
|
|
313
|
+
status: ("OK" | "CREATED" | "ACCEPTED" | "NO_CONTENT" | "MULTIPLE_CHOICES" | "MOVED_PERMANENTLY" | "FOUND" | "SEE_OTHER" | "NOT_MODIFIED" | "TEMPORARY_REDIRECT" | "BAD_REQUEST" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "PROXY_AUTHENTICATION_REQUIRED" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "LENGTH_REQUIRED" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "URI_TOO_LONG" | "UNSUPPORTED_MEDIA_TYPE" | "RANGE_NOT_SATISFIABLE" | "EXPECTATION_FAILED" | "I'M_A_TEAPOT" | "MISDIRECTED_REQUEST" | "UNPROCESSABLE_ENTITY" | "LOCKED" | "FAILED_DEPENDENCY" | "TOO_EARLY" | "UPGRADE_REQUIRED" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "REQUEST_HEADER_FIELDS_TOO_LARGE" | "UNAVAILABLE_FOR_LEGAL_REASONS" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "HTTP_VERSION_NOT_SUPPORTED" | "VARIANT_ALSO_NEGOTIATES" | "INSUFFICIENT_STORAGE" | "LOOP_DETECTED" | "NOT_EXTENDED" | "NETWORK_AUTHENTICATION_REQUIRED") | better_call.Status;
|
|
309
314
|
body: ({
|
|
310
315
|
message?: string;
|
|
311
316
|
code?: string;
|
|
@@ -3074,11 +3079,15 @@ declare const stub: {
|
|
|
3074
3079
|
};
|
|
3075
3080
|
};
|
|
3076
3081
|
} & {
|
|
3077
|
-
handshake: <FetchOptions extends better_auth.ClientFetchOption<never, Partial<
|
|
3078
|
-
|
|
3082
|
+
handshake: <FetchOptions extends better_auth.ClientFetchOption<never, Partial<{
|
|
3083
|
+
origin: string;
|
|
3084
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0: better_auth_client_plugins.Prettify<{
|
|
3085
|
+
query: {
|
|
3086
|
+
origin: string;
|
|
3087
|
+
};
|
|
3079
3088
|
fetchOptions?: FetchOptions | undefined;
|
|
3080
|
-
}
|
|
3081
|
-
status: ("OK" | "CREATED" | "ACCEPTED" | "NO_CONTENT" | "MULTIPLE_CHOICES" | "MOVED_PERMANENTLY" | "FOUND" | "SEE_OTHER" | "NOT_MODIFIED" | "TEMPORARY_REDIRECT" | "BAD_REQUEST" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "PROXY_AUTHENTICATION_REQUIRED" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "LENGTH_REQUIRED" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "URI_TOO_LONG" | "UNSUPPORTED_MEDIA_TYPE" | "RANGE_NOT_SATISFIABLE" | "EXPECTATION_FAILED" | "I'M_A_TEAPOT" | "MISDIRECTED_REQUEST" | "UNPROCESSABLE_ENTITY" | "LOCKED" | "FAILED_DEPENDENCY" | "TOO_EARLY" | "UPGRADE_REQUIRED" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "REQUEST_HEADER_FIELDS_TOO_LARGE" | "UNAVAILABLE_FOR_LEGAL_REASONS" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "HTTP_VERSION_NOT_SUPPORTED" | "VARIANT_ALSO_NEGOTIATES" | "INSUFFICIENT_STORAGE" | "LOOP_DETECTED" | "NOT_EXTENDED" | "NETWORK_AUTHENTICATION_REQUIRED") |
|
|
3089
|
+
}>, data_1?: FetchOptions | undefined) => Promise<_better_fetch_fetch.BetterFetchResponse<{
|
|
3090
|
+
status: ("OK" | "CREATED" | "ACCEPTED" | "NO_CONTENT" | "MULTIPLE_CHOICES" | "MOVED_PERMANENTLY" | "FOUND" | "SEE_OTHER" | "NOT_MODIFIED" | "TEMPORARY_REDIRECT" | "BAD_REQUEST" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "PROXY_AUTHENTICATION_REQUIRED" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "LENGTH_REQUIRED" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "URI_TOO_LONG" | "UNSUPPORTED_MEDIA_TYPE" | "RANGE_NOT_SATISFIABLE" | "EXPECTATION_FAILED" | "I'M_A_TEAPOT" | "MISDIRECTED_REQUEST" | "UNPROCESSABLE_ENTITY" | "LOCKED" | "FAILED_DEPENDENCY" | "TOO_EARLY" | "UPGRADE_REQUIRED" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "REQUEST_HEADER_FIELDS_TOO_LARGE" | "UNAVAILABLE_FOR_LEGAL_REASONS" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "HTTP_VERSION_NOT_SUPPORTED" | "VARIANT_ALSO_NEGOTIATES" | "INSUFFICIENT_STORAGE" | "LOOP_DETECTED" | "NOT_EXTENDED" | "NETWORK_AUTHENTICATION_REQUIRED") | better_call.Status;
|
|
3082
3091
|
body: ({
|
|
3083
3092
|
message?: string;
|
|
3084
3093
|
code?: string;
|
|
@@ -6068,6 +6077,7 @@ declare class OrganizationService {
|
|
|
6068
6077
|
*
|
|
6069
6078
|
* @param teamId - The team ID
|
|
6070
6079
|
* @param userId - The user ID to add
|
|
6080
|
+
* @returns The added team member
|
|
6071
6081
|
*/
|
|
6072
6082
|
addTeamMember(teamId: string, userId: string): Promise<{
|
|
6073
6083
|
id: string;
|
|
@@ -6223,6 +6233,141 @@ declare class SessionService {
|
|
|
6223
6233
|
}>;
|
|
6224
6234
|
}
|
|
6225
6235
|
|
|
6236
|
+
type CreateApiKeyPayload = {
|
|
6237
|
+
name?: string;
|
|
6238
|
+
expiresIn?: number;
|
|
6239
|
+
prefix?: string;
|
|
6240
|
+
metadata?: ApiKeyMetadata;
|
|
6241
|
+
};
|
|
6242
|
+
type UpdateApiKeyPayload = {
|
|
6243
|
+
id: string;
|
|
6244
|
+
name?: string;
|
|
6245
|
+
};
|
|
6246
|
+
type ApiKeyMetadata = {
|
|
6247
|
+
user: {
|
|
6248
|
+
id: string;
|
|
6249
|
+
email: string;
|
|
6250
|
+
};
|
|
6251
|
+
workspace: {
|
|
6252
|
+
id: string;
|
|
6253
|
+
title: string;
|
|
6254
|
+
};
|
|
6255
|
+
} & Record<string, unknown>;
|
|
6256
|
+
|
|
6257
|
+
/**
|
|
6258
|
+
* Service for managing API keys
|
|
6259
|
+
*
|
|
6260
|
+
* Provides comprehensive API key management including:
|
|
6261
|
+
* - API key CRUD operations
|
|
6262
|
+
*/
|
|
6263
|
+
declare class ApiKeyService {
|
|
6264
|
+
private client;
|
|
6265
|
+
/**
|
|
6266
|
+
* Creates a new ApiKeyService instance.
|
|
6267
|
+
*
|
|
6268
|
+
* @param client - The API client for making API key requests
|
|
6269
|
+
*/
|
|
6270
|
+
constructor(client: APIClient);
|
|
6271
|
+
createApiKey(payload: CreateApiKeyPayload): Promise<{
|
|
6272
|
+
key: string;
|
|
6273
|
+
metadata: any;
|
|
6274
|
+
permissions: any;
|
|
6275
|
+
id: string;
|
|
6276
|
+
name: string | null;
|
|
6277
|
+
start: string | null;
|
|
6278
|
+
prefix: string | null;
|
|
6279
|
+
userId: string;
|
|
6280
|
+
refillInterval: number | null;
|
|
6281
|
+
refillAmount: number | null;
|
|
6282
|
+
lastRefillAt: Date | null;
|
|
6283
|
+
enabled: boolean;
|
|
6284
|
+
rateLimitEnabled: boolean;
|
|
6285
|
+
rateLimitTimeWindow: number | null;
|
|
6286
|
+
rateLimitMax: number | null;
|
|
6287
|
+
requestCount: number;
|
|
6288
|
+
remaining: number | null;
|
|
6289
|
+
lastRequest: Date | null;
|
|
6290
|
+
expiresAt: Date | null;
|
|
6291
|
+
createdAt: Date;
|
|
6292
|
+
updatedAt: Date;
|
|
6293
|
+
}>;
|
|
6294
|
+
getApiKey(id: string): Promise<{
|
|
6295
|
+
permissions: {
|
|
6296
|
+
[key: string]: string[];
|
|
6297
|
+
} | null;
|
|
6298
|
+
id: string;
|
|
6299
|
+
name: string | null;
|
|
6300
|
+
start: string | null;
|
|
6301
|
+
prefix: string | null;
|
|
6302
|
+
userId: string;
|
|
6303
|
+
refillInterval: number | null;
|
|
6304
|
+
refillAmount: number | null;
|
|
6305
|
+
lastRefillAt: Date | null;
|
|
6306
|
+
enabled: boolean;
|
|
6307
|
+
rateLimitEnabled: boolean;
|
|
6308
|
+
rateLimitTimeWindow: number | null;
|
|
6309
|
+
rateLimitMax: number | null;
|
|
6310
|
+
requestCount: number;
|
|
6311
|
+
remaining: number | null;
|
|
6312
|
+
lastRequest: Date | null;
|
|
6313
|
+
expiresAt: Date | null;
|
|
6314
|
+
createdAt: Date;
|
|
6315
|
+
updatedAt: Date;
|
|
6316
|
+
metadata: Record<string, any> | null;
|
|
6317
|
+
}>;
|
|
6318
|
+
listApiKeys(): Promise<{
|
|
6319
|
+
permissions: {
|
|
6320
|
+
[key: string]: string[];
|
|
6321
|
+
} | null;
|
|
6322
|
+
id: string;
|
|
6323
|
+
name: string | null;
|
|
6324
|
+
start: string | null;
|
|
6325
|
+
prefix: string | null;
|
|
6326
|
+
userId: string;
|
|
6327
|
+
refillInterval: number | null;
|
|
6328
|
+
refillAmount: number | null;
|
|
6329
|
+
lastRefillAt: Date | null;
|
|
6330
|
+
enabled: boolean;
|
|
6331
|
+
rateLimitEnabled: boolean;
|
|
6332
|
+
rateLimitTimeWindow: number | null;
|
|
6333
|
+
rateLimitMax: number | null;
|
|
6334
|
+
requestCount: number;
|
|
6335
|
+
remaining: number | null;
|
|
6336
|
+
lastRequest: Date | null;
|
|
6337
|
+
expiresAt: Date | null;
|
|
6338
|
+
createdAt: Date;
|
|
6339
|
+
updatedAt: Date;
|
|
6340
|
+
metadata: Record<string, any> | null;
|
|
6341
|
+
}[]>;
|
|
6342
|
+
updateApiKey(payload: UpdateApiKeyPayload): Promise<{
|
|
6343
|
+
permissions: {
|
|
6344
|
+
[key: string]: string[];
|
|
6345
|
+
} | null;
|
|
6346
|
+
id: string;
|
|
6347
|
+
name: string | null;
|
|
6348
|
+
start: string | null;
|
|
6349
|
+
prefix: string | null;
|
|
6350
|
+
userId: string;
|
|
6351
|
+
refillInterval: number | null;
|
|
6352
|
+
refillAmount: number | null;
|
|
6353
|
+
lastRefillAt: Date | null;
|
|
6354
|
+
enabled: boolean;
|
|
6355
|
+
rateLimitEnabled: boolean;
|
|
6356
|
+
rateLimitTimeWindow: number | null;
|
|
6357
|
+
rateLimitMax: number | null;
|
|
6358
|
+
requestCount: number;
|
|
6359
|
+
remaining: number | null;
|
|
6360
|
+
lastRequest: Date | null;
|
|
6361
|
+
expiresAt: Date | null;
|
|
6362
|
+
createdAt: Date;
|
|
6363
|
+
updatedAt: Date;
|
|
6364
|
+
metadata: Record<string, any> | null;
|
|
6365
|
+
}>;
|
|
6366
|
+
deleteApiKey(id: string): Promise<{
|
|
6367
|
+
success: boolean;
|
|
6368
|
+
}>;
|
|
6369
|
+
}
|
|
6370
|
+
|
|
6226
6371
|
declare class BaseError extends Error {
|
|
6227
6372
|
code: string;
|
|
6228
6373
|
constructor(code: string, message: string, options?: ErrorOptions);
|
|
@@ -6280,6 +6425,10 @@ declare class AuthClient {
|
|
|
6280
6425
|
* Organization management service for multi-tenant operations
|
|
6281
6426
|
*/
|
|
6282
6427
|
organization: OrganizationService;
|
|
6428
|
+
/**
|
|
6429
|
+
* API key management service for API key operations
|
|
6430
|
+
*/
|
|
6431
|
+
apiKey: ApiKeyService;
|
|
6283
6432
|
/**
|
|
6284
6433
|
* Creates a new AuthClient instance.
|
|
6285
6434
|
*
|
|
@@ -6343,4 +6492,4 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
|
|
|
6343
6492
|
declare function extractTokenPayload(token: string): JWTTokenPayload;
|
|
6344
6493
|
|
|
6345
6494
|
export { AuthClient, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, Roles, ac, createAPIClient, extractTokenPayload, isTokenExpired, organizationAdditionalFields, rolesAccessControl, userAdditionalFields, validateToken };
|
|
6346
|
-
export type { APIClient, CreateTeamPayload, FullOrganization, GetOrganizationOptions, Invitation, InviteUserToOrganizationOptions, JWTTokenPayload, ListMembersOptions, ExtendedMember as Member, ExtendedOrganization as Organization, RemoveUserFromOrganizationOptions, Role, Session, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, Team, TeamMember, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User };
|
|
6495
|
+
export type { APIClient, ApiKeyMetadata, CreateApiKeyPayload, CreateTeamPayload, FullOrganization, GetOrganizationOptions, Invitation, InviteUserToOrganizationOptions, JWTTokenPayload, ListMembersOptions, ExtendedMember as Member, ExtendedOrganization as Organization, RemoveUserFromOrganizationOptions, Role, Session, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, Team, TeamMember, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User };
|
package/dist/index.mjs
CHANGED
|
@@ -4,8 +4,9 @@ import { createAuthClient } from 'better-auth/client';
|
|
|
4
4
|
import { organizationClient, twoFactorClient, jwtClient, apiKeyClient, adminClient, inferAdditionalFields } from 'better-auth/client/plugins';
|
|
5
5
|
import { createAccessControl } from 'better-auth/plugins/access';
|
|
6
6
|
import { defaultStatements } from 'better-auth/plugins/organization/access';
|
|
7
|
+
export { BetterFetchError as APIError } from '@better-fetch/fetch';
|
|
7
8
|
|
|
8
|
-
const version = "1.
|
|
9
|
+
const version = "1.3.0";
|
|
9
10
|
|
|
10
11
|
const statements = {
|
|
11
12
|
...defaultStatements,
|
|
@@ -99,7 +100,7 @@ function createAPIClient(apiUrl, fetchOptions = {}) {
|
|
|
99
100
|
...fetchOptions,
|
|
100
101
|
credentials: "include",
|
|
101
102
|
headers: {
|
|
102
|
-
"User-Agent": userAgent,
|
|
103
|
+
"X-User-Agent": userAgent,
|
|
103
104
|
...fetchOptions.headers ?? {}
|
|
104
105
|
},
|
|
105
106
|
throw: true
|
|
@@ -339,6 +340,7 @@ class OrganizationService {
|
|
|
339
340
|
*
|
|
340
341
|
* @param teamId - The team ID
|
|
341
342
|
* @param userId - The user ID to add
|
|
343
|
+
* @returns The added team member
|
|
342
344
|
*/
|
|
343
345
|
async addTeamMember(teamId, userId) {
|
|
344
346
|
return this.client.organization.addTeamMember({
|
|
@@ -556,6 +558,46 @@ class SessionService {
|
|
|
556
558
|
}
|
|
557
559
|
}
|
|
558
560
|
|
|
561
|
+
class ApiKeyService {
|
|
562
|
+
/**
|
|
563
|
+
* Creates a new ApiKeyService instance.
|
|
564
|
+
*
|
|
565
|
+
* @param client - The API client for making API key requests
|
|
566
|
+
*/
|
|
567
|
+
constructor(client) {
|
|
568
|
+
this.client = client;
|
|
569
|
+
}
|
|
570
|
+
async createApiKey(payload) {
|
|
571
|
+
return this.client.apiKey.create({
|
|
572
|
+
name: payload.name,
|
|
573
|
+
expiresIn: payload.expiresIn,
|
|
574
|
+
prefix: payload.prefix,
|
|
575
|
+
metadata: payload.metadata
|
|
576
|
+
});
|
|
577
|
+
}
|
|
578
|
+
async getApiKey(id) {
|
|
579
|
+
return this.client.apiKey.get({
|
|
580
|
+
query: {
|
|
581
|
+
id
|
|
582
|
+
}
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
async listApiKeys() {
|
|
586
|
+
return this.client.apiKey.list();
|
|
587
|
+
}
|
|
588
|
+
async updateApiKey(payload) {
|
|
589
|
+
return this.client.apiKey.update({
|
|
590
|
+
keyId: payload.id,
|
|
591
|
+
name: payload.name
|
|
592
|
+
});
|
|
593
|
+
}
|
|
594
|
+
async deleteApiKey(id) {
|
|
595
|
+
return this.client.apiKey.delete({
|
|
596
|
+
keyId: id
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
|
|
559
601
|
class AuthClient {
|
|
560
602
|
client;
|
|
561
603
|
/**
|
|
@@ -566,6 +608,10 @@ class AuthClient {
|
|
|
566
608
|
* Organization management service for multi-tenant operations
|
|
567
609
|
*/
|
|
568
610
|
organization;
|
|
611
|
+
/**
|
|
612
|
+
* API key management service for API key operations
|
|
613
|
+
*/
|
|
614
|
+
apiKey;
|
|
569
615
|
/**
|
|
570
616
|
* Creates a new AuthClient instance.
|
|
571
617
|
*
|
|
@@ -576,6 +622,7 @@ class AuthClient {
|
|
|
576
622
|
this.client = createAPIClient(apiUrl, fetchOptions);
|
|
577
623
|
this.session = new SessionService(this.client, apiUrl);
|
|
578
624
|
this.organization = new OrganizationService(this.client);
|
|
625
|
+
this.apiKey = new ApiKeyService(this.client);
|
|
579
626
|
}
|
|
580
627
|
}
|
|
581
628
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meistrari/auth-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
"jose": "6.1.0",
|
|
23
23
|
"nanostores": "1.0.1",
|
|
24
24
|
"@better-fetch/fetch": "1.1.18",
|
|
25
|
-
"better-call": "1.1.
|
|
25
|
+
"better-call": "1.1.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "latest",
|
|
29
29
|
"typescript": "5.9.2",
|
|
30
30
|
"unbuild": "3.6.1"
|
|
31
31
|
}
|
|
32
|
-
}
|
|
32
|
+
}
|