@nekutima/biome-sdk 0.7.0 → 0.8.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/README.md CHANGED
@@ -217,6 +217,34 @@ export class SessionExpiredService implements OnDestroy {
217
217
  - Visual state management
218
218
  - DOM manipulation
219
219
 
220
+ ## Migration Guide
221
+
222
+ ### User Lookup (v0.8.0+)
223
+
224
+ **Unified `findUser()` Method**
225
+
226
+ The new `findUser(identifier)` method replaces `getUserByUsername()` as the canonical way to locate users. It accepts either username or email:
227
+
228
+ ```typescript
229
+ // ✅ New canonical approach - works with username OR email
230
+ const user = await sdk.users.findUser('johndoe');
231
+ const user = await sdk.users.findUser('john@example.com');
232
+
233
+ // ❌ Deprecated - will show IDE warnings
234
+ const user = await sdk.users.getUserByUsername('johndoe'); // @deprecated
235
+
236
+ // ❌ Deprecated for single-user lookup
237
+ const users = await sdk.users.getUsers('johndoe'); // Use findUser instead
238
+ ```
239
+
240
+ **Features:**
241
+ - Single method for both username and email lookup
242
+ - Case-insensitive email matching (RFC 5321 compliant)
243
+ - Automatic avatar URL population
244
+ - Backward compatible - old methods still work
245
+
246
+ See [docs/user-lookup-flow.md](./docs/user-lookup-flow.md) for complete documentation.
247
+
220
248
  ## Documentation
221
249
 
222
250
  - [CONTRACT.md](./CONTRACT.md) - SDK contract and scope
@@ -315,9 +315,16 @@ export declare const SDK_SERVICES: {
315
315
  readonly returns: "UserWithAvatar | null";
316
316
  readonly example: "const user = await biome.users.getUserById(1)";
317
317
  };
318
+ readonly findUser: {
319
+ readonly signature: "(identifier: string) => Promise<UserWithAvatar | null>";
320
+ readonly description: "Find user by username or email (canonical method)";
321
+ readonly params: readonly ["identifier: string"];
322
+ readonly returns: "UserWithAvatar | null";
323
+ readonly example: "const user = await biome.users.findUser('johndoe')\nconst user = await biome.users.findUser('john@example.com')";
324
+ };
318
325
  readonly getUserByUsername: {
319
326
  readonly signature: "(username: string) => Promise<UserWithAvatar | null>";
320
- readonly description: "Get user by username";
327
+ readonly description: "Get user by username [Deprecated: Use findUser]";
321
328
  readonly params: readonly ["username: string"];
322
329
  readonly returns: "UserWithAvatar | null";
323
330
  readonly example: "const user = await biome.users.getUserByUsername('johndoe')";
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-info.d.ts","sourceRoot":"","sources":["../src/sdk-info.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuWf,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;;CAqBb,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,YAAY,CAAC;AACvD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,cAAc,IAAI,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"sdk-info.d.ts","sourceRoot":"","sources":["../src/sdk-info.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Wf,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;;CAqBb,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,YAAY,CAAC;AACvD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,cAAc,IAAI,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC"}
package/dist/sdk-info.js CHANGED
@@ -318,9 +318,16 @@ exports.SDK_SERVICES = {
318
318
  returns: 'UserWithAvatar | null',
319
319
  example: 'const user = await biome.users.getUserById(1)',
320
320
  },
321
+ findUser: {
322
+ signature: '(identifier: string) => Promise<UserWithAvatar | null>',
323
+ description: 'Find user by username or email (canonical method)',
324
+ params: ['identifier: string'],
325
+ returns: 'UserWithAvatar | null',
326
+ example: "const user = await biome.users.findUser('johndoe')\nconst user = await biome.users.findUser('john@example.com')",
327
+ },
321
328
  getUserByUsername: {
322
329
  signature: '(username: string) => Promise<UserWithAvatar | null>',
323
- description: 'Get user by username',
330
+ description: 'Get user by username [Deprecated: Use findUser]',
324
331
  params: ['username: string'],
325
332
  returns: 'UserWithAvatar | null',
326
333
  example: "const user = await biome.users.getUserByUsername('johndoe')",
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-info.js","sourceRoot":"","sources":["../src/sdk-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk-info.js","sourceRoot":"","sources":["../src/sdk-info.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare class BiomeUsers {
19
19
  private normalizeUrl;
20
20
  /**
21
21
  * Get users with pagination and search
22
+ * Note: For single-user lookup, use `findUser(identifier)` instead (more efficient)
22
23
  */
23
24
  getUsers(query?: string, limit?: number): Promise<UserWithAvatar[]>;
24
25
  /**
@@ -27,12 +28,21 @@ export declare class BiomeUsers {
27
28
  getUserById(id: number): Promise<UserWithAvatar | null>;
28
29
  /**
29
30
  * Get user by username
31
+ * @deprecated Use `findUser(identifier)` instead for unified username/email lookup
30
32
  */
31
33
  getUserByUsername(username: string): Promise<UserWithAvatar | null>;
32
34
  /**
33
35
  * Search users
34
36
  */
35
37
  searchUsers(query: string, limit?: number): Promise<UserWithAvatar[]>;
38
+ /**
39
+ * Find a single user by username or email
40
+ * Tries exact username match first, then searches for email match
41
+ * Email matching is case-insensitive per RFC 5321
42
+ * @param identifier - Username or email address to search for
43
+ * @returns User if found, null otherwise
44
+ */
45
+ findUser(identifier: string): Promise<UserWithAvatar | null>;
36
46
  }
37
47
  export interface UserWithAvatar {
38
48
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/users/user.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD;;GAEG;AACH,qBAAa,UAAU;IAEP,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAEzC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBzC;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgBzE;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAe7D;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAezE;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAG9E;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC"}
1
+ {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/users/user.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD;;GAEG;AACH,qBAAa,UAAU;IAEP,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAEzC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBzC;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgBzE;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAe7D;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAezE;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI3E;;;;;;OAMG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAqBrE;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC"}
@@ -54,6 +54,7 @@ class BiomeUsers {
54
54
  }
55
55
  /**
56
56
  * Get users with pagination and search
57
+ * Note: For single-user lookup, use `findUser(identifier)` instead (more efficient)
57
58
  */
58
59
  async getUsers(query, limit) {
59
60
  try {
@@ -92,6 +93,7 @@ class BiomeUsers {
92
93
  }
93
94
  /**
94
95
  * Get user by username
96
+ * @deprecated Use `findUser(identifier)` instead for unified username/email lookup
95
97
  */
96
98
  async getUserByUsername(username) {
97
99
  try {
@@ -114,6 +116,29 @@ class BiomeUsers {
114
116
  async searchUsers(query, limit) {
115
117
  return this.getUsers(query, limit);
116
118
  }
119
+ /**
120
+ * Find a single user by username or email
121
+ * Tries exact username match first, then searches for email match
122
+ * Email matching is case-insensitive per RFC 5321
123
+ * @param identifier - Username or email address to search for
124
+ * @returns User if found, null otherwise
125
+ */
126
+ async findUser(identifier) {
127
+ // Try username lookup first (most specific)
128
+ const userByUsername = await this.getUserByUsername(identifier);
129
+ if (userByUsername) {
130
+ return userByUsername;
131
+ }
132
+ // If username lookup fails and identifier looks like an email, search and match by email
133
+ if (identifier.includes('@')) {
134
+ const searchResults = await this.getUsers(identifier, 20);
135
+ const userByEmail = searchResults.find(user => user.email?.toLowerCase() === identifier.toLowerCase());
136
+ if (userByEmail) {
137
+ return userByEmail;
138
+ }
139
+ }
140
+ return null;
141
+ }
117
142
  }
118
143
  exports.BiomeUsers = BiomeUsers;
119
144
  //# sourceMappingURL=user.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/users/user.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/users/user.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nekutima/biome-sdk",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Pure TypeScript SDK for Biome platform integration - authentication, task management, and blockchain interactions",
5
5
  "readme": "README.md",
6
6
  "main": "dist/index.js",