@kyro-cms/core 0.1.7 → 0.1.8
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/README.md +25 -2
- package/dist/{WebhookService-BPVJUgTl.d.ts → WebhookService-CXJ5oz6L.d.ts} +1 -1
- package/dist/{WebhookService-BCgL1bLF.d.cts → WebhookService-Dqx9Is7m.d.cts} +1 -1
- package/dist/{base-DaP-5PPG.d.ts → base-CciYzoDF.d.ts} +1 -1
- package/dist/{base-B0Y6isUJ.d.cts → base-Cfek4fp3.d.cts} +1 -1
- package/dist/chunk-EWP5AT6A.cjs +268 -0
- package/dist/chunk-EWP5AT6A.cjs.map +1 -0
- package/dist/chunk-QKOFKITP.js +258 -0
- package/dist/chunk-QKOFKITP.js.map +1 -0
- package/dist/client.cjs +45 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +11 -0
- package/dist/client.d.ts +11 -0
- package/dist/client.js +4 -0
- package/dist/client.js.map +1 -0
- package/dist/drizzle/index.d.cts +114 -4
- package/dist/drizzle/index.d.ts +114 -4
- package/dist/graphql/index.d.cts +2 -2
- package/dist/graphql/index.d.ts +2 -2
- package/dist/{index-DupWTmW6.d.ts → index-BvZ1iWm2.d.ts} +1 -1
- package/dist/{index-BwE4NueJ.d.cts → index-CTLPjpMH.d.cts} +1 -1
- package/dist/index.cjs +45 -268
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -230
- package/dist/index.d.ts +15 -230
- package/dist/index.js +13 -260
- package/dist/index.js.map +1 -1
- package/dist/mongodb/index.d.cts +2 -2
- package/dist/mongodb/index.d.ts +2 -2
- package/dist/rate-limit-BvUAVCzw.d.cts +223 -0
- package/dist/rate-limit-CJnqG1mG.d.ts +223 -0
- package/dist/rest/index.d.cts +3 -3
- package/dist/rest/index.d.ts +3 -3
- package/dist/templates/index.d.cts +1 -1
- package/dist/templates/index.d.ts +1 -1
- package/dist/trpc/index.d.cts +2 -2
- package/dist/trpc/index.d.ts +2 -2
- package/dist/{index-DtBi3zP0.d.ts → types-BSR91JFN.d.cts} +1 -112
- package/dist/{index-DUKmDSeC.d.cts → types-BSR91JFN.d.ts} +1 -112
- package/dist/{types-BM0s_YOy.d.cts → types-Bt1OEk0S.d.cts} +12 -4
- package/dist/{types-BM0s_YOy.d.ts → types-Bt1OEk0S.d.ts} +12 -4
- package/package.json +9 -2
|
@@ -1,53 +1,5 @@
|
|
|
1
|
-
import { A as AbstractBaseAdapter } from './base-B0Y6isUJ.cjs';
|
|
2
|
-
import { a as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, C as CollectionConfig, F as Field } from './types-BM0s_YOy.cjs';
|
|
3
|
-
import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
|
|
4
1
|
import Redis from 'ioredis';
|
|
5
2
|
|
|
6
|
-
declare function fieldToDrizzleType(field: Field, dialect?: 'postgres' | 'mysql' | 'sqlite'): string;
|
|
7
|
-
declare function collectionToDrizzleSchema(collection: CollectionConfig, dialect?: 'postgres' | 'mysql' | 'sqlite'): string;
|
|
8
|
-
declare class DrizzleAdapter extends AbstractBaseAdapter {
|
|
9
|
-
private client;
|
|
10
|
-
private schema;
|
|
11
|
-
private dialect;
|
|
12
|
-
constructor(options: {
|
|
13
|
-
type: 'postgres' | 'mysql' | 'sqlite';
|
|
14
|
-
client: any;
|
|
15
|
-
schema?: any;
|
|
16
|
-
});
|
|
17
|
-
connect(): Promise<void>;
|
|
18
|
-
disconnect(): Promise<void>;
|
|
19
|
-
find<T>(args: FindArgs): Promise<FindResult<T>>;
|
|
20
|
-
findByID<T>(args: FindByIDArgs): Promise<T | null>;
|
|
21
|
-
create<T>(args: CreateArgs): Promise<T>;
|
|
22
|
-
update<T>(args: UpdateArgs): Promise<T>;
|
|
23
|
-
delete<T>(args: DeleteArgs): Promise<T>;
|
|
24
|
-
count(args: {
|
|
25
|
-
collection: string;
|
|
26
|
-
where?: Record<string, any>;
|
|
27
|
-
tenantID?: string;
|
|
28
|
-
}): Promise<number>;
|
|
29
|
-
findOne(args: {
|
|
30
|
-
collection: string;
|
|
31
|
-
where: Record<string, any>;
|
|
32
|
-
tenantID?: string;
|
|
33
|
-
}): Promise<any>;
|
|
34
|
-
findVersions(args: FindArgs): Promise<FindResult<any>>;
|
|
35
|
-
findVersionByID(args: FindByIDArgs): Promise<any>;
|
|
36
|
-
createVersion(args: CreateArgs): Promise<any>;
|
|
37
|
-
deleteVersions(args: {
|
|
38
|
-
collection: string;
|
|
39
|
-
where: Record<string, any>;
|
|
40
|
-
}): Promise<void>;
|
|
41
|
-
private getTable;
|
|
42
|
-
private buildWhereClause;
|
|
43
|
-
private processResult;
|
|
44
|
-
}
|
|
45
|
-
declare function createDrizzleAdapter(options: {
|
|
46
|
-
type: 'postgres' | 'mysql' | 'sqlite';
|
|
47
|
-
client: any;
|
|
48
|
-
schema?: any;
|
|
49
|
-
}): DrizzleAdapter;
|
|
50
|
-
|
|
51
3
|
type AuditAction = "login" | "logout" | "login_failed" | "register" | "verify_email" | "password_change" | "password_reset" | "password_reset_request" | "role_change" | "permission_change" | "document_create" | "document_update" | "document_delete" | "settings_change" | "user_lockout" | "user_unlock" | "user_create" | "user_update" | "user_delete" | "api_request" | "api_key_create" | "api_key_delete" | "tenant_create" | "tenant_delete";
|
|
52
4
|
interface AuditLog {
|
|
53
5
|
id: string;
|
|
@@ -204,67 +156,4 @@ interface AuthAdapter {
|
|
|
204
156
|
createAuditLog(data: Omit<AuditLog, "id" | "timestamp">): Promise<AuditLog>;
|
|
205
157
|
}
|
|
206
158
|
|
|
207
|
-
|
|
208
|
-
db: PostgresJsDatabase;
|
|
209
|
-
prefix?: string;
|
|
210
|
-
sessionTTL?: number;
|
|
211
|
-
refreshTokenTTL?: number;
|
|
212
|
-
}
|
|
213
|
-
declare class PostgresAuthAdapter implements AuthAdapter {
|
|
214
|
-
private db;
|
|
215
|
-
private prefix;
|
|
216
|
-
private sessionTTL;
|
|
217
|
-
private refreshTokenTTL;
|
|
218
|
-
constructor(options: PostgresAuthAdapterOptions);
|
|
219
|
-
createUser(data: {
|
|
220
|
-
email: string;
|
|
221
|
-
password: string;
|
|
222
|
-
role?: UserRole;
|
|
223
|
-
tenantId?: string;
|
|
224
|
-
}): Promise<AuthUser>;
|
|
225
|
-
findUserByEmail(email: string): Promise<AuthUser | null>;
|
|
226
|
-
findUserById(id: string): Promise<AuthUser | null>;
|
|
227
|
-
updateUser(id: string, data: Partial<AuthUser>): Promise<AuthUser | null>;
|
|
228
|
-
deleteUser(id: string): Promise<boolean>;
|
|
229
|
-
verifyPassword(email: string, password: string): Promise<AuthUser | null>;
|
|
230
|
-
hashPassword(password: string): Promise<string>;
|
|
231
|
-
createSession(userId: string, data?: {
|
|
232
|
-
ipAddress?: string;
|
|
233
|
-
userAgent?: string;
|
|
234
|
-
}): Promise<Session>;
|
|
235
|
-
findSessionByToken(token: string): Promise<Session | null>;
|
|
236
|
-
deleteSession(sessionId: string): Promise<boolean>;
|
|
237
|
-
deleteUserSessions(userId: string): Promise<number>;
|
|
238
|
-
addPasswordToHistory(userId: string, passwordHash: string): Promise<void>;
|
|
239
|
-
getPasswordHistory(userId: string, count?: number): Promise<string[]>;
|
|
240
|
-
isPasswordInHistory(password: string, userId: string, historyCount?: number): Promise<boolean>;
|
|
241
|
-
isLocked(userId: string): Promise<boolean>;
|
|
242
|
-
getLockout(userId: string): Promise<{
|
|
243
|
-
lockedUntil: Date;
|
|
244
|
-
} | null>;
|
|
245
|
-
recordFailedAttempt(userId: string, ipAddress?: string): Promise<{
|
|
246
|
-
attempts: number;
|
|
247
|
-
locked: boolean;
|
|
248
|
-
}>;
|
|
249
|
-
resetAttempts(userId: string): Promise<void>;
|
|
250
|
-
findAuditLogs(filter: AuditLogFilter): Promise<{
|
|
251
|
-
logs: AuditLog[];
|
|
252
|
-
total: number;
|
|
253
|
-
}>;
|
|
254
|
-
createAuditLog(data: Omit<AuditLog, "id" | "timestamp">): Promise<AuditLog>;
|
|
255
|
-
private userToAuthUser;
|
|
256
|
-
private sessionToSession;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
type Dialect = "sqlite" | "postgres" | "mysql";
|
|
260
|
-
declare function genId(): string;
|
|
261
|
-
interface DatabaseResult {
|
|
262
|
-
db: any;
|
|
263
|
-
dialect: Dialect;
|
|
264
|
-
genId: () => string;
|
|
265
|
-
}
|
|
266
|
-
declare function createDatabase(): Promise<DatabaseResult>;
|
|
267
|
-
declare function runMigrations(_db: any, _dialect?: Dialect): Promise<void>;
|
|
268
|
-
declare function seedDefaultRoles(db: any): Promise<void>;
|
|
269
|
-
|
|
270
|
-
export { type AuthAdapter as A, type Dialect as D, type JWTPayload as J, type LoginCredentials as L, PostgresAuthAdapter as P, type RegisterData as R, type Session as S, type UserRole as U, type AuthUser as a, type AuditLog as b, type AuditLogFilter as c, type AuthTokenConfig as d, type AuthResult as e, type AuditAction as f, AuditLogger as g, DrizzleAdapter as h, collectionToDrizzleSchema as i, createAuditContext as j, createDatabase as k, createDrizzleAdapter as l, fieldToDrizzleType as m, genId as n, runMigrations as r, seedDefaultRoles as s };
|
|
159
|
+
export { type AuditAction as A, type JWTPayload as J, type LoginCredentials as L, type RegisterData as R, type Session as S, type UserRole as U, type AuditLog as a, type AuditLogFilter as b, type AuthAdapter as c, type AuthResult as d, type AuthTokenConfig as e, type AuthUser as f, AuditLogger as g, createAuditContext as h };
|
|
@@ -97,6 +97,13 @@ interface ColorField extends BaseField {
|
|
|
97
97
|
format?: "hex" | "rgb" | "hsl";
|
|
98
98
|
defaultValue?: string;
|
|
99
99
|
}
|
|
100
|
+
interface ImageField extends BaseField {
|
|
101
|
+
type: "image";
|
|
102
|
+
minCount?: number;
|
|
103
|
+
maxCount?: number;
|
|
104
|
+
allowedTypes?: string[];
|
|
105
|
+
maxSize?: number;
|
|
106
|
+
}
|
|
100
107
|
interface RichTextBlock {
|
|
101
108
|
type: string;
|
|
102
109
|
data: Record<string, any>;
|
|
@@ -212,7 +219,7 @@ interface ButtonField extends BaseField {
|
|
|
212
219
|
method?: string;
|
|
213
220
|
inline?: boolean;
|
|
214
221
|
}
|
|
215
|
-
type Field = TextField | NumberField | CheckboxField | DateField | EmailField | PasswordField | TextareaField | SelectField | RadioField | ColorField | RichTextField | JSONField | CodeField | UploadField | MarkdownField | RelationshipField | ArrayField | GroupField | BlocksField | RowField | CollapsibleField | TabsField | ButtonField;
|
|
222
|
+
type Field = TextField | NumberField | CheckboxField | DateField | EmailField | PasswordField | TextareaField | SelectField | RadioField | ColorField | ImageField | RichTextField | JSONField | CodeField | UploadField | MarkdownField | RelationshipField | ArrayField | GroupField | BlocksField | RowField | CollapsibleField | TabsField | ButtonField;
|
|
216
223
|
type FieldType = Field["type"];
|
|
217
224
|
declare function isTextField(field: Field): field is TextField;
|
|
218
225
|
declare function isNumberField(field: Field): field is NumberField;
|
|
@@ -221,14 +228,15 @@ declare function isArrayField(field: Field): field is ArrayField;
|
|
|
221
228
|
declare function isGroupField(field: Field): field is GroupField;
|
|
222
229
|
declare function isBlocksField(field: Field): field is BlocksField;
|
|
223
230
|
declare function isUploadField(field: Field): field is UploadField;
|
|
231
|
+
declare function isImageField(field: Field): field is ImageField;
|
|
224
232
|
declare function isRichTextField(field: Field): field is RichTextField;
|
|
225
233
|
declare function isSelectField(field: Field): field is SelectField;
|
|
226
234
|
declare function isLayoutField(field: Field): field is RowField | CollapsibleField | TabsField;
|
|
227
235
|
declare const PRIMITIVE_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color"];
|
|
228
|
-
declare const COMPLEX_FIELD_TYPES: readonly ["richtext", "json", "code", "upload", "markdown"];
|
|
236
|
+
declare const COMPLEX_FIELD_TYPES: readonly ["richtext", "json", "code", "upload", "image", "markdown"];
|
|
229
237
|
declare const RELATIONAL_FIELD_TYPES: readonly ["relationship", "array", "group", "blocks"];
|
|
230
238
|
declare const LAYOUT_FIELD_TYPES: readonly ["row", "collapsible", "tabs"];
|
|
231
|
-
declare const ALL_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "richtext", "json", "code", "upload", "markdown", "relationship", "array", "group", "blocks", "row", "collapsible", "tabs"];
|
|
239
|
+
declare const ALL_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "richtext", "json", "code", "upload", "image", "markdown", "relationship", "array", "group", "blocks", "row", "collapsible", "tabs"];
|
|
232
240
|
|
|
233
241
|
interface Request {
|
|
234
242
|
body?: any;
|
|
@@ -618,4 +626,4 @@ interface KyroConfig {
|
|
|
618
626
|
debug?: boolean;
|
|
619
627
|
}
|
|
620
628
|
|
|
621
|
-
export { type
|
|
629
|
+
export { type AdapterConfig as $, type AdminConfig as A, type BaseField as B, type CheckboxField as C, type DateField as D, type EmailField as E, type Field as F, type GlobalConfig as G, type CreateArgs as H, type ImageField as I, type JSONField as J, type KyroConfig as K, type UpdateArgs as L, type MarkdownField as M, type NumberField as N, type DeleteArgs as O, type PasswordField as P, type User as Q, type RadioField as R, type SelectField as S, type TabsField as T, type UploadConfig as U, type VersionConfig as V, type Request as W, type Hook as X, ALL_FIELD_TYPES as Y, type AccessArgs as Z, type AccessControl as _, type ArrayField as a, COMPLEX_FIELD_TYPES as a0, type CollectionAccess as a1, type CollectionHooks as a2, type CreateResult as a3, type FieldAccess as a4, type FieldHooks as a5, type GlobalAccess as a6, type GlobalHooks as a7, type HookArgs as a8, LAYOUT_FIELD_TYPES as a9, PRIMITIVE_FIELD_TYPES as aa, RELATIONAL_FIELD_TYPES as ab, type ValidateOptions as ac, type WhereClause as ad, evaluateAccess as ae, getWhereClause as af, isArrayField as ag, isBlocksField as ah, isGroupField as ai, isImageField as aj, isLayoutField as ak, isNumberField as al, isRelationshipField as am, isRichTextField as an, isSelectField as ao, isTextField as ap, isUploadField as aq, mergeWhereClauses as ar, runFieldHooks as as, runHooks as at, type AuthConfig as b, type Block as c, type BlockAdmin as d, type BlockImage as e, type BlocksField as f, type CodeField as g, type CollapsibleField as h, type CollectionConfig as i, type ColorField as j, type FieldAdmin as k, type FieldType as l, type GroupField as m, type ImageSize as n, type RelationshipField as o, type RichTextBlock as p, type RichTextField as q, type RowField as r, type TextField as s, type TextareaField as t, type UploadField as u, type PluginConfig as v, type BaseAdapter as w, type FindArgs as x, type FindResult as y, type FindByIDArgs as z };
|
|
@@ -97,6 +97,13 @@ interface ColorField extends BaseField {
|
|
|
97
97
|
format?: "hex" | "rgb" | "hsl";
|
|
98
98
|
defaultValue?: string;
|
|
99
99
|
}
|
|
100
|
+
interface ImageField extends BaseField {
|
|
101
|
+
type: "image";
|
|
102
|
+
minCount?: number;
|
|
103
|
+
maxCount?: number;
|
|
104
|
+
allowedTypes?: string[];
|
|
105
|
+
maxSize?: number;
|
|
106
|
+
}
|
|
100
107
|
interface RichTextBlock {
|
|
101
108
|
type: string;
|
|
102
109
|
data: Record<string, any>;
|
|
@@ -212,7 +219,7 @@ interface ButtonField extends BaseField {
|
|
|
212
219
|
method?: string;
|
|
213
220
|
inline?: boolean;
|
|
214
221
|
}
|
|
215
|
-
type Field = TextField | NumberField | CheckboxField | DateField | EmailField | PasswordField | TextareaField | SelectField | RadioField | ColorField | RichTextField | JSONField | CodeField | UploadField | MarkdownField | RelationshipField | ArrayField | GroupField | BlocksField | RowField | CollapsibleField | TabsField | ButtonField;
|
|
222
|
+
type Field = TextField | NumberField | CheckboxField | DateField | EmailField | PasswordField | TextareaField | SelectField | RadioField | ColorField | ImageField | RichTextField | JSONField | CodeField | UploadField | MarkdownField | RelationshipField | ArrayField | GroupField | BlocksField | RowField | CollapsibleField | TabsField | ButtonField;
|
|
216
223
|
type FieldType = Field["type"];
|
|
217
224
|
declare function isTextField(field: Field): field is TextField;
|
|
218
225
|
declare function isNumberField(field: Field): field is NumberField;
|
|
@@ -221,14 +228,15 @@ declare function isArrayField(field: Field): field is ArrayField;
|
|
|
221
228
|
declare function isGroupField(field: Field): field is GroupField;
|
|
222
229
|
declare function isBlocksField(field: Field): field is BlocksField;
|
|
223
230
|
declare function isUploadField(field: Field): field is UploadField;
|
|
231
|
+
declare function isImageField(field: Field): field is ImageField;
|
|
224
232
|
declare function isRichTextField(field: Field): field is RichTextField;
|
|
225
233
|
declare function isSelectField(field: Field): field is SelectField;
|
|
226
234
|
declare function isLayoutField(field: Field): field is RowField | CollapsibleField | TabsField;
|
|
227
235
|
declare const PRIMITIVE_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color"];
|
|
228
|
-
declare const COMPLEX_FIELD_TYPES: readonly ["richtext", "json", "code", "upload", "markdown"];
|
|
236
|
+
declare const COMPLEX_FIELD_TYPES: readonly ["richtext", "json", "code", "upload", "image", "markdown"];
|
|
229
237
|
declare const RELATIONAL_FIELD_TYPES: readonly ["relationship", "array", "group", "blocks"];
|
|
230
238
|
declare const LAYOUT_FIELD_TYPES: readonly ["row", "collapsible", "tabs"];
|
|
231
|
-
declare const ALL_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "richtext", "json", "code", "upload", "markdown", "relationship", "array", "group", "blocks", "row", "collapsible", "tabs"];
|
|
239
|
+
declare const ALL_FIELD_TYPES: readonly ["text", "number", "checkbox", "date", "email", "password", "textarea", "select", "radio", "color", "richtext", "json", "code", "upload", "image", "markdown", "relationship", "array", "group", "blocks", "row", "collapsible", "tabs"];
|
|
232
240
|
|
|
233
241
|
interface Request {
|
|
234
242
|
body?: any;
|
|
@@ -618,4 +626,4 @@ interface KyroConfig {
|
|
|
618
626
|
debug?: boolean;
|
|
619
627
|
}
|
|
620
628
|
|
|
621
|
-
export { type
|
|
629
|
+
export { type AdapterConfig as $, type AdminConfig as A, type BaseField as B, type CheckboxField as C, type DateField as D, type EmailField as E, type Field as F, type GlobalConfig as G, type CreateArgs as H, type ImageField as I, type JSONField as J, type KyroConfig as K, type UpdateArgs as L, type MarkdownField as M, type NumberField as N, type DeleteArgs as O, type PasswordField as P, type User as Q, type RadioField as R, type SelectField as S, type TabsField as T, type UploadConfig as U, type VersionConfig as V, type Request as W, type Hook as X, ALL_FIELD_TYPES as Y, type AccessArgs as Z, type AccessControl as _, type ArrayField as a, COMPLEX_FIELD_TYPES as a0, type CollectionAccess as a1, type CollectionHooks as a2, type CreateResult as a3, type FieldAccess as a4, type FieldHooks as a5, type GlobalAccess as a6, type GlobalHooks as a7, type HookArgs as a8, LAYOUT_FIELD_TYPES as a9, PRIMITIVE_FIELD_TYPES as aa, RELATIONAL_FIELD_TYPES as ab, type ValidateOptions as ac, type WhereClause as ad, evaluateAccess as ae, getWhereClause as af, isArrayField as ag, isBlocksField as ah, isGroupField as ai, isImageField as aj, isLayoutField as ak, isNumberField as al, isRelationshipField as am, isRichTextField as an, isSelectField as ao, isTextField as ap, isUploadField as aq, mergeWhereClauses as ar, runFieldHooks as as, runHooks as at, type AuthConfig as b, type Block as c, type BlockAdmin as d, type BlockImage as e, type BlocksField as f, type CodeField as g, type CollapsibleField as h, type CollectionConfig as i, type ColorField as j, type FieldAdmin as k, type FieldType as l, type GroupField as m, type ImageSize as n, type RelationshipField as o, type RichTextBlock as p, type RichTextField as q, type RowField as r, type TextField as s, type TextareaField as t, type UploadField as u, type PluginConfig as v, type BaseAdapter as w, type FindArgs as x, type FindResult as y, type FindByIDArgs as z };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kyro-cms/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Astro-native headless CMS with multi-database adapters, multi-protocol APIs, and multi-vendor support",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"workspaces": [
|
|
12
12
|
".",
|
|
13
13
|
"admin",
|
|
14
|
+
"packages/utils",
|
|
14
15
|
"packages/create-kyro"
|
|
15
16
|
],
|
|
16
17
|
"main": "./dist/index.js",
|
|
@@ -22,6 +23,11 @@
|
|
|
22
23
|
"import": "./dist/index.js",
|
|
23
24
|
"require": "./dist/index.cjs"
|
|
24
25
|
},
|
|
26
|
+
"./client": {
|
|
27
|
+
"types": "./dist/client.d.ts",
|
|
28
|
+
"import": "./dist/client.js",
|
|
29
|
+
"require": "./dist/client.cjs"
|
|
30
|
+
},
|
|
25
31
|
"./trpc": {
|
|
26
32
|
"types": "./dist/trpc/index.d.ts",
|
|
27
33
|
"import": "./dist/trpc/index.js"
|
|
@@ -115,6 +121,7 @@
|
|
|
115
121
|
"graphql": "^16.10.0",
|
|
116
122
|
"hono": "^4.7.0",
|
|
117
123
|
"ioredis": "^5.10.1",
|
|
124
|
+
"jsondiffpatch": "^0.7.3",
|
|
118
125
|
"jsonwebtoken": "^9.0.2",
|
|
119
126
|
"mongodb": "^6.12.0",
|
|
120
127
|
"nodemailer": "^8.0.4",
|
|
@@ -161,4 +168,4 @@
|
|
|
161
168
|
"optional": true
|
|
162
169
|
}
|
|
163
170
|
}
|
|
164
|
-
}
|
|
171
|
+
}
|