@edgebasejs/admin-client 0.1.0 → 0.1.2

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.
@@ -0,0 +1,118 @@
1
+ import type { Admin, AdminAuthResponse, PaginatedResponse, ActivityLogEntry, ActivityLogFilter, TableInfo, TableSchema, TableDataResponse, UserDetail, AdminCreateRequest, AdminUpdateRequest } from '@edgebase/types';
2
+ export interface AdminClientConfig {
3
+ baseUrl: string;
4
+ timeout?: number;
5
+ onTokenRefresh?: (tokens: {
6
+ accessToken: string;
7
+ refreshToken: string;
8
+ }) => void;
9
+ onUnauthorized?: () => void;
10
+ }
11
+ export declare class AdminClientError extends Error {
12
+ code: string;
13
+ statusCode: number;
14
+ details?: any | undefined;
15
+ constructor(code: string, message: string, statusCode: number, details?: any | undefined);
16
+ }
17
+ export declare class AdminClient {
18
+ private baseUrl;
19
+ private timeout;
20
+ private accessToken;
21
+ private refreshToken;
22
+ private onTokenRefresh;
23
+ private onUnauthorized;
24
+ constructor(config: AdminClientConfig);
25
+ /**
26
+ * Set tokens (for persistent storage)
27
+ */
28
+ setTokens(accessToken: string, refreshToken: string): void;
29
+ /**
30
+ * Clear tokens
31
+ */
32
+ clearTokens(): void;
33
+ /**
34
+ * Get current access token
35
+ */
36
+ getAccessToken(): string | null;
37
+ /**
38
+ * Generic fetch wrapper with error handling
39
+ */
40
+ private fetch;
41
+ /**
42
+ * POST /admin/auth/login
43
+ */
44
+ login(email: string, password: string): Promise<AdminAuthResponse>;
45
+ /**
46
+ * POST /admin/admins - Create new admin (requires authentication)
47
+ */
48
+ register(email: string, password: string, role?: string): Promise<Admin>;
49
+ /**
50
+ * Logout (clear tokens)
51
+ */
52
+ logout(): void;
53
+ /**
54
+ * GET /admin/users
55
+ */
56
+ getUsers(page?: number, pageSize?: number, search?: string): Promise<PaginatedResponse<UserDetail>>;
57
+ /**
58
+ * GET /admin/users/:id
59
+ */
60
+ getUser(id: string): Promise<UserDetail>;
61
+ /**
62
+ * PATCH /admin/users/:id
63
+ */
64
+ updateUser(id: string, updates: Partial<UserDetail>): Promise<UserDetail>;
65
+ /**
66
+ * DELETE /admin/users/:id
67
+ */
68
+ deleteUser(id: string): Promise<{
69
+ success: boolean;
70
+ message: string;
71
+ }>;
72
+ /**
73
+ * GET /admin/database/tables
74
+ */
75
+ getTables(): Promise<TableInfo[]>;
76
+ /**
77
+ * GET /admin/database/tables/:name/data
78
+ */
79
+ getTableData(tableName: string, page?: number, pageSize?: number): Promise<TableDataResponse>;
80
+ /**
81
+ * GET /admin/database/tables/:name/schema
82
+ */
83
+ getTableSchema(tableName: string): Promise<TableSchema>;
84
+ /**
85
+ * GET /admin/schemas - Get all table schemas
86
+ */
87
+ getSchemas(): Promise<{
88
+ version: number;
89
+ timestamp: number;
90
+ schemas: Record<string, any>;
91
+ }>;
92
+ /**
93
+ * GET /admin/activity
94
+ */
95
+ getActivityLog(filters?: ActivityLogFilter): Promise<PaginatedResponse<ActivityLogEntry>>;
96
+ /**
97
+ * POST /admin/admins
98
+ */
99
+ createAdmin(request: AdminCreateRequest): Promise<Admin>;
100
+ /**
101
+ * GET /admin/admins
102
+ */
103
+ getAdmins(): Promise<Admin[]>;
104
+ /**
105
+ * PATCH /admin/admins/:id
106
+ */
107
+ updateAdmin(id: string, updates: AdminUpdateRequest): Promise<Admin>;
108
+ /**
109
+ * Helper: Export table data as CSV
110
+ */
111
+ exportTableAsCSV(tableName: string): Promise<string>;
112
+ /**
113
+ * Helper: Export activity log as CSV
114
+ */
115
+ exportActivityLogAsCSV(filters?: ActivityLogFilter): Promise<string>;
116
+ }
117
+ export default AdminClient;
118
+ //# sourceMappingURL=admin-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-client.d.ts","sourceRoot":"","sources":["../src/admin-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EAEL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjF,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAEhC,IAAI,EAAE,MAAM;IAEZ,UAAU,EAAE,MAAM;IAClB,OAAO,CAAC,EAAE,GAAG;gBAHb,IAAI,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,GAAG,YAAA;CAKvB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,cAAc,CAAsC;gBAEhD,MAAM,EAAE,iBAAiB;IA2CrC;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAU1D;;OAEG;IACH,WAAW,IAAI,IAAI;IASnB;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;YACW,KAAK;IA8EnB;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoBxE;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;IAOvF;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACG,QAAQ,CAAC,IAAI,SAAI,EAAE,QAAQ,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAahG;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI9C;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAO/E;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAI5E;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIvC;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,IAAI,SAAI,EACR,QAAQ,SAAK,GACZ,OAAO,CAAC,iBAAiB,CAAC;IAY7B;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAO7D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAIjG;;OAEG;IACG,cAAc,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAcnG;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAO9D;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAInC;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAO1E;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B1D;;OAEG;IACG,sBAAsB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;CAsC/E;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,345 @@
1
+ // AdminClient - Type-safe API client for EdgeBase Admin Console
2
+ export class AdminClientError extends Error {
3
+ constructor(code, message, statusCode, details) {
4
+ super(message);
5
+ this.code = code;
6
+ this.statusCode = statusCode;
7
+ this.details = details;
8
+ this.name = 'AdminClientError';
9
+ }
10
+ }
11
+ export class AdminClient {
12
+ constructor(config) {
13
+ this.accessToken = null;
14
+ this.refreshToken = null;
15
+ this.baseUrl = config.baseUrl;
16
+ this.timeout = config.timeout || 30000;
17
+ this.onTokenRefresh = config.onTokenRefresh;
18
+ this.onUnauthorized = config.onUnauthorized;
19
+ // Load tokens from storage if available
20
+ if (typeof localStorage !== 'undefined') {
21
+ // Try Zustand's auth-storage key first (contains full auth state)
22
+ let stored = localStorage.getItem('auth-storage');
23
+ if (stored) {
24
+ try {
25
+ const authState = JSON.parse(stored);
26
+ if (authState.state) {
27
+ // Zustand persist format: { state: { ... }, version: 0 }
28
+ this.accessToken = authState.state.accessToken || null;
29
+ this.refreshToken = authState.state.refreshToken || null;
30
+ }
31
+ else {
32
+ // Fallback if format is different
33
+ this.accessToken = authState.accessToken || null;
34
+ this.refreshToken = authState.refreshToken || null;
35
+ }
36
+ }
37
+ catch (error) {
38
+ console.error('Failed to parse auth-storage:', error);
39
+ }
40
+ }
41
+ // Fallback to legacy admin_tokens key if auth-storage not found
42
+ if (!this.accessToken && !this.refreshToken) {
43
+ stored = localStorage.getItem('admin_tokens');
44
+ if (stored) {
45
+ try {
46
+ const { accessToken, refreshToken } = JSON.parse(stored);
47
+ this.accessToken = accessToken;
48
+ this.refreshToken = refreshToken;
49
+ }
50
+ catch (error) {
51
+ console.error('Failed to parse stored tokens:', error);
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ /**
58
+ * Set tokens (for persistent storage)
59
+ */
60
+ setTokens(accessToken, refreshToken) {
61
+ console.log('🔑 AdminClient.setTokens called with token:', accessToken.substring(0, 20) + '...');
62
+ this.accessToken = accessToken;
63
+ this.refreshToken = refreshToken;
64
+ if (typeof localStorage !== 'undefined') {
65
+ localStorage.setItem('admin_tokens', JSON.stringify({ accessToken, refreshToken }));
66
+ }
67
+ }
68
+ /**
69
+ * Clear tokens
70
+ */
71
+ clearTokens() {
72
+ this.accessToken = null;
73
+ this.refreshToken = null;
74
+ if (typeof localStorage !== 'undefined') {
75
+ localStorage.removeItem('admin_tokens');
76
+ }
77
+ }
78
+ /**
79
+ * Get current access token
80
+ */
81
+ getAccessToken() {
82
+ return this.accessToken;
83
+ }
84
+ /**
85
+ * Generic fetch wrapper with error handling
86
+ */
87
+ async fetch(path, options = {}) {
88
+ const url = `${this.baseUrl}${path}`;
89
+ const headers = {
90
+ 'Content-Type': 'application/json',
91
+ };
92
+ // Add existing headers
93
+ if (options.headers instanceof Headers) {
94
+ options.headers.forEach((value, key) => {
95
+ headers[key] = value;
96
+ });
97
+ }
98
+ else if (typeof options.headers === 'object' && options.headers !== null) {
99
+ Object.assign(headers, options.headers);
100
+ }
101
+ // Add authorization header if token exists
102
+ if (this.accessToken) {
103
+ headers['Authorization'] = `Bearer ${this.accessToken}`;
104
+ if (path.includes('/admin/')) {
105
+ console.log('🔐 Adding auth header for', path, 'token:', this.accessToken.substring(0, 20) + '...');
106
+ }
107
+ }
108
+ else {
109
+ console.log('⚠️ NO TOKEN for', path, 'this.accessToken:', this.accessToken);
110
+ }
111
+ const controller = new AbortController();
112
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
113
+ try {
114
+ const response = await fetch(url, {
115
+ ...options,
116
+ headers,
117
+ signal: controller.signal,
118
+ });
119
+ clearTimeout(timeoutId);
120
+ // Handle 401 Unauthorized
121
+ if (response.status === 401) {
122
+ this.clearTokens();
123
+ this.onUnauthorized?.();
124
+ throw new AdminClientError('UNAUTHORIZED', 'Unauthorized', 401);
125
+ }
126
+ const data = await response.json();
127
+ if (!response.ok) {
128
+ throw new AdminClientError(data.code || 'API_ERROR', data.error || 'API Error', response.status, data.details);
129
+ }
130
+ return data;
131
+ }
132
+ catch (error) {
133
+ clearTimeout(timeoutId);
134
+ if (error instanceof AdminClientError) {
135
+ throw error;
136
+ }
137
+ if (error instanceof TypeError && error.name === 'AbortError') {
138
+ throw new AdminClientError('TIMEOUT', 'Request timeout', 0);
139
+ }
140
+ throw new AdminClientError('NETWORK_ERROR', error instanceof Error ? error.message : 'Network error', 0);
141
+ }
142
+ }
143
+ /**
144
+ * POST /admin/auth/login
145
+ */
146
+ async login(email, password) {
147
+ const request = { email, password };
148
+ const response = await this.fetch('/admin/auth/login', {
149
+ method: 'POST',
150
+ body: JSON.stringify(request),
151
+ });
152
+ // Store tokens
153
+ this.setTokens(response.accessToken, response.refreshToken);
154
+ // Call callback
155
+ this.onTokenRefresh?.({
156
+ accessToken: response.accessToken,
157
+ refreshToken: response.refreshToken,
158
+ });
159
+ return response;
160
+ }
161
+ /**
162
+ * POST /admin/admins - Create new admin (requires authentication)
163
+ */
164
+ async register(email, password, role = 'admin') {
165
+ return this.fetch('/admin/admins', {
166
+ method: 'POST',
167
+ body: JSON.stringify({ email, password, role }),
168
+ });
169
+ }
170
+ /**
171
+ * Logout (clear tokens)
172
+ */
173
+ logout() {
174
+ this.clearTokens();
175
+ }
176
+ /**
177
+ * GET /admin/users
178
+ */
179
+ async getUsers(page = 1, pageSize = 20, search) {
180
+ const params = new URLSearchParams({
181
+ page: page.toString(),
182
+ pageSize: pageSize.toString(),
183
+ });
184
+ if (search) {
185
+ params.append('search', search);
186
+ }
187
+ return this.fetch(`/admin/users?${params.toString()}`, { method: 'GET' });
188
+ }
189
+ /**
190
+ * GET /admin/users/:id
191
+ */
192
+ async getUser(id) {
193
+ return this.fetch(`/admin/users/${encodeURIComponent(id)}`, { method: 'GET' });
194
+ }
195
+ /**
196
+ * PATCH /admin/users/:id
197
+ */
198
+ async updateUser(id, updates) {
199
+ return this.fetch(`/admin/users/${encodeURIComponent(id)}`, {
200
+ method: 'PATCH',
201
+ body: JSON.stringify(updates),
202
+ });
203
+ }
204
+ /**
205
+ * DELETE /admin/users/:id
206
+ */
207
+ async deleteUser(id) {
208
+ return this.fetch(`/admin/users/${encodeURIComponent(id)}`, { method: 'DELETE' });
209
+ }
210
+ /**
211
+ * GET /admin/database/tables
212
+ */
213
+ async getTables() {
214
+ return this.fetch('/admin/database/tables', { method: 'GET' });
215
+ }
216
+ /**
217
+ * GET /admin/database/tables/:name/data
218
+ */
219
+ async getTableData(tableName, page = 1, pageSize = 20) {
220
+ const params = new URLSearchParams({
221
+ page: page.toString(),
222
+ pageSize: pageSize.toString(),
223
+ });
224
+ return this.fetch(`/admin/database/tables/${encodeURIComponent(tableName)}/data?${params.toString()}`, { method: 'GET' });
225
+ }
226
+ /**
227
+ * GET /admin/database/tables/:name/schema
228
+ */
229
+ async getTableSchema(tableName) {
230
+ return this.fetch(`/admin/database/tables/${encodeURIComponent(tableName)}/schema`, { method: 'GET' });
231
+ }
232
+ /**
233
+ * GET /admin/schemas - Get all table schemas
234
+ */
235
+ async getSchemas() {
236
+ return this.fetch('/admin/schemas', { method: 'GET' });
237
+ }
238
+ /**
239
+ * GET /admin/activity
240
+ */
241
+ async getActivityLog(filters = {}) {
242
+ const params = new URLSearchParams();
243
+ if (filters.page)
244
+ params.append('page', filters.page.toString());
245
+ if (filters.pageSize)
246
+ params.append('pageSize', filters.pageSize.toString());
247
+ if (filters.adminId)
248
+ params.append('adminId', filters.adminId);
249
+ if (filters.entityType)
250
+ params.append('entityType', filters.entityType);
251
+ if (filters.action)
252
+ params.append('action', filters.action);
253
+ if (filters.dateFrom)
254
+ params.append('dateFrom', filters.dateFrom.toString());
255
+ if (filters.dateTo)
256
+ params.append('dateTo', filters.dateTo.toString());
257
+ return this.fetch(`/admin/activity?${params.toString()}`, { method: 'GET' });
258
+ }
259
+ /**
260
+ * POST /admin/admins
261
+ */
262
+ async createAdmin(request) {
263
+ return this.fetch('/admin/admins', {
264
+ method: 'POST',
265
+ body: JSON.stringify(request),
266
+ });
267
+ }
268
+ /**
269
+ * GET /admin/admins
270
+ */
271
+ async getAdmins() {
272
+ return this.fetch('/admin/admins', { method: 'GET' });
273
+ }
274
+ /**
275
+ * PATCH /admin/admins/:id
276
+ */
277
+ async updateAdmin(id, updates) {
278
+ return this.fetch(`/admin/admins/${encodeURIComponent(id)}`, {
279
+ method: 'PATCH',
280
+ body: JSON.stringify(updates),
281
+ });
282
+ }
283
+ /**
284
+ * Helper: Export table data as CSV
285
+ */
286
+ async exportTableAsCSV(tableName) {
287
+ const response = await this.getTableData(tableName, 1, 1000);
288
+ // Get all data (max 1000 rows for export)
289
+ const allData = response.data;
290
+ const columns = response.columns.map((c) => c.name);
291
+ // Build CSV
292
+ const csvLines = [];
293
+ // Header
294
+ csvLines.push(columns.map((c) => `"${c}"`).join(','));
295
+ // Rows
296
+ for (const row of allData) {
297
+ const values = columns.map((col) => {
298
+ const value = row[col];
299
+ if (value === null || value === undefined)
300
+ return '';
301
+ if (typeof value === 'string')
302
+ return `"${value.replace(/"/g, '""')}"`;
303
+ return JSON.stringify(value);
304
+ });
305
+ csvLines.push(values.join(','));
306
+ }
307
+ return csvLines.join('\n');
308
+ }
309
+ /**
310
+ * Helper: Export activity log as CSV
311
+ */
312
+ async exportActivityLogAsCSV(filters = {}) {
313
+ const response = await this.getActivityLog({ ...filters, pageSize: 1000 });
314
+ const csvLines = [];
315
+ // Header
316
+ csvLines.push([
317
+ 'Timestamp',
318
+ 'Admin Email',
319
+ 'Action',
320
+ 'Entity Type',
321
+ 'Entity ID',
322
+ 'Details',
323
+ 'IP Address',
324
+ ]
325
+ .map((h) => `"${h}"`)
326
+ .join(','));
327
+ // Rows
328
+ for (const entry of response.data) {
329
+ const date = new Date(entry.createdAt).toISOString();
330
+ const values = [
331
+ date,
332
+ entry.adminEmail || 'Unknown',
333
+ entry.action,
334
+ entry.entityType,
335
+ entry.entityId || '',
336
+ JSON.stringify(entry.details),
337
+ entry.ipAddress,
338
+ ].map((v) => `"${String(v).replace(/"/g, '""')}"`);
339
+ csvLines.push(values.join(','));
340
+ }
341
+ return csvLines.join('\n');
342
+ }
343
+ }
344
+ export default AdminClient;
345
+ //# sourceMappingURL=admin-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-client.js","sourceRoot":"","sources":["../src/admin-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { AdminClient, AdminClientError } from './admin-client';
2
+ export type { AdminClientConfig } from './admin-client';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { AdminClient, AdminClientError } from './admin-client';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgebasejs/admin-client",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Type-safe admin API client for EdgeBase",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -14,8 +14,8 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "zod": "^3.22.4",
18
- "@edgebasejs/types": "0.1.0"
17
+ "@edgebasejs/types": "^0.1.0",
18
+ "zod": "^3.22.4"
19
19
  },
20
20
  "publishConfig": {
21
21
  "registry": "https://registry.npmjs.org/"