@edgespark/server-types 0.0.1-alpha.4 → 0.0.1-alpha.5

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.ts CHANGED
@@ -10,6 +10,7 @@ import type { DrizzleD1Database } from "drizzle-orm/d1";
10
10
  * export async function createApp(edgespark: Client<typeof tables>): Promise<Hono> {
11
11
  * const app = new Hono();
12
12
  * app.get('/api/posts', async (c) => {
13
+ * const userId = edgespark.auth.user!.id; // Guaranteed on /api/* routes
13
14
  * const posts = await edgespark.db.select().from(tables.posts);
14
15
  * return c.json({ posts });
15
16
  * });
@@ -19,41 +20,64 @@ import type { DrizzleD1Database } from "drizzle-orm/d1";
19
20
  export interface Client<TSchema extends Record<string, unknown> = Record<string, never>> {
20
21
  /** Drizzle D1 database client */
21
22
  db: DrizzleD1Database<TSchema>;
22
- /** Authentication client (Better Auth) */
23
+ /** Authentication client */
23
24
  auth: AuthClient;
24
- /** File storage client (R2) */
25
+ /** File storage client */
25
26
  storage: StorageClient;
26
- /** Environment secrets (ES_USER_SECRET__* prefix) */
27
+ /** Access environment secrets */
27
28
  secret: SecretClient;
28
29
  }
29
- export interface AuthSession {
30
- session: {
31
- id: string;
32
- createdAt: string;
33
- updatedAt: string;
34
- userId: string;
35
- token: string;
36
- expiresAt: string;
37
- ipAddress?: string | null;
38
- userAgent?: string | null;
39
- };
40
- user?: {
41
- id: string;
42
- createdAt: string;
43
- updatedAt: string;
44
- email: string;
45
- emailVerified: boolean;
46
- name: string;
47
- image?: string | null;
48
- };
30
+ /**
31
+ * Authenticated user identity (immutable for request duration)
32
+ * @example const userId = edgespark.auth.user!.id;
33
+ */
34
+ export interface User {
35
+ /** User ID (use for DB foreign keys) */
36
+ id: string;
37
+ /** Email (null for anonymous or private OAuth like GitHub) */
38
+ email: string | null;
39
+ /** Display name (null for anonymous or some OAuth) */
40
+ name: string | null;
41
+ /** Avatar URL */
42
+ image: string | null;
43
+ /** Whether email is verified */
44
+ emailVerified: boolean;
45
+ /** Whether user is anonymous (guest, not registered) */
46
+ isAnonymous: boolean;
47
+ /** Account creation timestamp */
48
+ createdAt: Date;
49
49
  }
50
+ /**
51
+ * Authentication client - framework enforces auth based on path conventions
52
+ *
53
+ * Path conventions:
54
+ * - /api/* → Auth required, user guaranteed non-null
55
+ * - /api/public/* → Auth optional, user may be null or authenticated
56
+ * - /api/webhooks/* → No auth, user always null (use webhook signatures)
57
+ *
58
+ * @example
59
+ * // On /api/* routes, user is guaranteed
60
+ * app.get('/api/profile', (c) => {
61
+ * const user = edgespark.auth.user!; // Safe, framework ensures auth
62
+ * return c.json({ id: user.id, email: user.email });
63
+ * });
64
+ *
65
+ * // On /api/public/* routes, check if authenticated
66
+ * app.get('/api/public/posts', (c) => {
67
+ * if (edgespark.auth.isAuthenticated()) {
68
+ * // Show personalized content
69
+ * }
70
+ * });
71
+ */
50
72
  export interface AuthClient {
51
- /** Get current session. Returns null if not authenticated. */
52
- getSession(): Promise<AuthSession | null>;
73
+ /** Current user (immutable for request). Guaranteed on /api/*, optional on /api/public/*, null on /api/webhooks/* */
74
+ readonly user: User | null;
75
+ /** Returns true if user is authenticated */
76
+ isAuthenticated(): boolean;
53
77
  }
54
78
  export interface SecretClient {
55
79
  /**
56
- * Get secret by name. Reads from env.ES_USER_SECRET__{name}.
80
+ * Get secret by name
57
81
  * @example const key = edgespark.secret.get('API_KEY');
58
82
  */
59
83
  get(name: string): string | null;
@@ -201,7 +225,7 @@ export interface BucketClient {
201
225
  success: boolean;
202
226
  }>;
203
227
  /**
204
- * Generate presigned upload URL for direct client uploads (bypasses worker, uploads directly to R2)
228
+ * Generate presigned upload URL for direct client uploads
205
229
  * @example
206
230
  * import { buckets } from '@generated';
207
231
  * const bucket = edgespark.storage.from(buckets.videos);
@@ -214,7 +238,7 @@ export interface BucketClient {
214
238
  expiresAt: Date;
215
239
  }>;
216
240
  /**
217
- * Generate presigned download URL for direct client downloads (bypasses worker, downloads directly from R2)
241
+ * Generate presigned download URL for direct client downloads
218
242
  * @example
219
243
  * import { buckets } from '@generated';
220
244
  * const bucket = edgespark.storage.from(buckets.videos);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgespark/server-types",
3
- "version": "0.0.1-alpha.4",
3
+ "version": "0.0.1-alpha.5",
4
4
  "description": "Type definitions for EdgeSpark server SDK",
5
5
  "keywords": [
6
6
  "edgespark",
@@ -9,21 +9,18 @@
9
9
  "d1",
10
10
  "r2",
11
11
  "drizzle",
12
- "hono",
13
12
  "typescript",
14
13
  "types"
15
14
  ],
16
- "type": "module",
17
- "main": "./dist/index.js",
18
15
  "types": "./dist/index.d.ts",
19
16
  "exports": {
20
17
  ".": {
21
- "types": "./dist/index.d.ts",
22
- "import": "./dist/index.js"
18
+ "types": "./dist/index.d.ts"
23
19
  }
24
20
  },
25
21
  "files": [
26
- "dist"
22
+ "dist/*.d.ts",
23
+ "dist/*.d.ts.map"
27
24
  ],
28
25
  "sideEffects": false,
29
26
  "engines": {
@@ -36,12 +33,10 @@
36
33
  "prepublishOnly": "pnpm build && pnpm typecheck"
37
34
  },
38
35
  "peerDependencies": {
39
- "drizzle-orm": ">=0.30.0"
36
+ "drizzle-orm": ">=0.40.0"
40
37
  },
41
38
  "devDependencies": {
42
- "@cloudflare/workers-types": "^4.20251111.0",
43
39
  "drizzle-orm": "^0.44.0",
44
- "hono": "^4.10.0",
45
40
  "typescript": "^5.9.3"
46
41
  },
47
42
  "license": "MIT",
package/dist/index.js DELETED
@@ -1,6 +0,0 @@
1
- /**
2
- * @edgespark/server-types - Type definitions for EdgeSpark server SDK
3
- * @module @edgespark/server-types
4
- */
5
- export {};
6
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG"}