@nekutima/biome-sdk 0.19.2 → 0.29.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.
Files changed (229) hide show
  1. package/dist/admin/admin.model.d.ts +70 -0
  2. package/dist/admin/admin.model.d.ts.map +1 -1
  3. package/dist/admin/admin.schema.json +339 -0
  4. package/dist/admin/admin.service.d.ts +9 -1
  5. package/dist/admin/admin.service.d.ts.map +1 -1
  6. package/dist/admin/admin.service.js +79 -4
  7. package/dist/admin/admin.service.js.map +1 -1
  8. package/dist/agents/agent-identity.d.ts +19 -0
  9. package/dist/agents/agent-identity.d.ts.map +1 -0
  10. package/dist/agents/agent-identity.js +36 -0
  11. package/dist/agents/agent-identity.js.map +1 -0
  12. package/dist/agents/agent-resource.d.ts +0 -1
  13. package/dist/agents/agent-resource.d.ts.map +1 -1
  14. package/dist/agents/agent.model.d.ts +13 -40
  15. package/dist/agents/agent.model.d.ts.map +1 -1
  16. package/dist/agents/agent.service.d.ts +9 -3
  17. package/dist/agents/agent.service.d.ts.map +1 -1
  18. package/dist/agents/agent.service.js +37 -8
  19. package/dist/agents/agent.service.js.map +1 -1
  20. package/dist/ai/yuri.service.d.ts +39 -5
  21. package/dist/ai/yuri.service.d.ts.map +1 -1
  22. package/dist/ai/yuri.service.js +64 -34
  23. package/dist/ai/yuri.service.js.map +1 -1
  24. package/dist/alexandria/nugget.model.d.ts +77 -0
  25. package/dist/alexandria/nugget.model.d.ts.map +1 -0
  26. package/dist/alexandria/nugget.model.js +7 -0
  27. package/dist/alexandria/nugget.model.js.map +1 -0
  28. package/dist/alexandria/nugget.service.d.ts +21 -0
  29. package/dist/alexandria/nugget.service.d.ts.map +1 -0
  30. package/dist/alexandria/nugget.service.js +127 -0
  31. package/dist/alexandria/nugget.service.js.map +1 -0
  32. package/dist/alexandria/problem.model.d.ts +48 -0
  33. package/dist/alexandria/problem.model.d.ts.map +1 -0
  34. package/dist/alexandria/problem.model.js +7 -0
  35. package/dist/alexandria/problem.model.js.map +1 -0
  36. package/dist/alexandria/problem.service.d.ts +17 -0
  37. package/dist/alexandria/problem.service.d.ts.map +1 -0
  38. package/dist/alexandria/problem.service.js +98 -0
  39. package/dist/alexandria/problem.service.js.map +1 -0
  40. package/dist/alexandria/progress.model.d.ts +19 -0
  41. package/dist/alexandria/progress.model.d.ts.map +1 -0
  42. package/dist/alexandria/progress.model.js +3 -0
  43. package/dist/alexandria/progress.model.js.map +1 -0
  44. package/dist/alexandria/progress.service.d.ts +10 -0
  45. package/dist/alexandria/progress.service.d.ts.map +1 -0
  46. package/dist/alexandria/progress.service.js +38 -0
  47. package/dist/alexandria/progress.service.js.map +1 -0
  48. package/dist/api-keys/api-key.model.d.ts +30 -0
  49. package/dist/api-keys/api-key.model.d.ts.map +1 -0
  50. package/dist/api-keys/api-key.model.js +3 -0
  51. package/dist/api-keys/api-key.model.js.map +1 -0
  52. package/dist/api-keys/api-key.service.d.ts +16 -0
  53. package/dist/api-keys/api-key.service.d.ts.map +1 -0
  54. package/dist/api-keys/api-key.service.js +34 -0
  55. package/dist/api-keys/api-key.service.js.map +1 -0
  56. package/dist/auth/auth.schema.json +106 -0
  57. package/dist/auth/auth.service.d.ts +8 -1
  58. package/dist/auth/auth.service.d.ts.map +1 -1
  59. package/dist/auth/auth.service.js +23 -10
  60. package/dist/auth/auth.service.js.map +1 -1
  61. package/dist/chat/chat.service.d.ts.map +1 -1
  62. package/dist/chat/chat.service.js +60 -68
  63. package/dist/chat/chat.service.js.map +1 -1
  64. package/dist/circles/circle.model.d.ts +25 -0
  65. package/dist/circles/circle.model.d.ts.map +1 -0
  66. package/dist/circles/circle.model.js +3 -0
  67. package/dist/circles/circle.model.js.map +1 -0
  68. package/dist/circles/circle.schema.json +332 -0
  69. package/dist/circles/circle.service.d.ts +14 -0
  70. package/dist/circles/circle.service.d.ts.map +1 -0
  71. package/dist/circles/circle.service.js +50 -0
  72. package/dist/circles/circle.service.js.map +1 -0
  73. package/dist/communities/community.model.d.ts +72 -0
  74. package/dist/communities/community.model.d.ts.map +1 -0
  75. package/dist/communities/community.model.js +3 -0
  76. package/dist/communities/community.model.js.map +1 -0
  77. package/dist/communities/community.service.d.ts +26 -0
  78. package/dist/communities/community.service.d.ts.map +1 -0
  79. package/dist/communities/community.service.js +140 -0
  80. package/dist/communities/community.service.js.map +1 -0
  81. package/dist/contacts/contact.model.d.ts +97 -0
  82. package/dist/contacts/contact.model.d.ts.map +1 -0
  83. package/dist/contacts/contact.model.js +3 -0
  84. package/dist/contacts/contact.model.js.map +1 -0
  85. package/dist/contacts/contact.schema.json +312 -0
  86. package/dist/contacts/contact.service.d.ts +28 -0
  87. package/dist/contacts/contact.service.d.ts.map +1 -0
  88. package/dist/contacts/contact.service.js +109 -0
  89. package/dist/contacts/contact.service.js.map +1 -0
  90. package/dist/core/api-diagnostics.d.ts +91 -0
  91. package/dist/core/api-diagnostics.d.ts.map +1 -0
  92. package/dist/core/api-diagnostics.js +211 -0
  93. package/dist/core/api-diagnostics.js.map +1 -0
  94. package/dist/core/configuration.d.ts +12 -0
  95. package/dist/core/configuration.d.ts.map +1 -1
  96. package/dist/core/error-handler.d.ts +5 -1
  97. package/dist/core/error-handler.d.ts.map +1 -1
  98. package/dist/core/error-handler.js +45 -21
  99. package/dist/core/error-handler.js.map +1 -1
  100. package/dist/core/http-client.d.ts +33 -6
  101. package/dist/core/http-client.d.ts.map +1 -1
  102. package/dist/core/http-client.js +193 -31
  103. package/dist/core/http-client.js.map +1 -1
  104. package/dist/core/node-cookie-jar.d.ts +14 -0
  105. package/dist/core/node-cookie-jar.d.ts.map +1 -0
  106. package/dist/core/node-cookie-jar.js +58 -0
  107. package/dist/core/node-cookie-jar.js.map +1 -0
  108. package/dist/core/request-scheduler.d.ts +56 -0
  109. package/dist/core/request-scheduler.d.ts.map +1 -0
  110. package/dist/core/request-scheduler.js +176 -0
  111. package/dist/core/request-scheduler.js.map +1 -0
  112. package/dist/core/resilience.d.ts +10 -0
  113. package/dist/core/resilience.d.ts.map +1 -1
  114. package/dist/core/resilience.js +27 -0
  115. package/dist/core/resilience.js.map +1 -1
  116. package/dist/ecosystem/organization.model.d.ts +4 -4
  117. package/dist/ecosystem/organization.model.d.ts.map +1 -1
  118. package/dist/errors/error-codes.d.ts +3 -1
  119. package/dist/errors/error-codes.d.ts.map +1 -1
  120. package/dist/errors/error-codes.js +2 -0
  121. package/dist/errors/error-codes.js.map +1 -1
  122. package/dist/events/event-edition.model.d.ts +5 -0
  123. package/dist/events/event-edition.model.d.ts.map +1 -1
  124. package/dist/events/event.model.d.ts +5 -0
  125. package/dist/events/event.model.d.ts.map +1 -1
  126. package/dist/follows/follow.model.d.ts +1 -1
  127. package/dist/follows/follow.model.d.ts.map +1 -1
  128. package/dist/follows/follow.service.d.ts.map +1 -1
  129. package/dist/follows/follow.service.js +1 -0
  130. package/dist/follows/follow.service.js.map +1 -1
  131. package/dist/guilds/guild.model.d.ts +36 -0
  132. package/dist/guilds/guild.model.d.ts.map +1 -1
  133. package/dist/guilds/guild.service.d.ts +7 -1
  134. package/dist/guilds/guild.service.d.ts.map +1 -1
  135. package/dist/guilds/guild.service.js +52 -0
  136. package/dist/guilds/guild.service.js.map +1 -1
  137. package/dist/index.d.ts +52 -6
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +76 -4
  140. package/dist/index.js.map +1 -1
  141. package/dist/memberships/membership.model.d.ts +34 -0
  142. package/dist/memberships/membership.model.d.ts.map +1 -0
  143. package/dist/memberships/membership.model.js +3 -0
  144. package/dist/memberships/membership.model.js.map +1 -0
  145. package/dist/memberships/membership.service.d.ts +22 -0
  146. package/dist/memberships/membership.service.d.ts.map +1 -0
  147. package/dist/memberships/membership.service.js +111 -0
  148. package/dist/memberships/membership.service.js.map +1 -0
  149. package/dist/missions/mission.model.d.ts +4 -4
  150. package/dist/missions/mission.model.d.ts.map +1 -1
  151. package/dist/missions/mission.schema.json +204 -0
  152. package/dist/missions/mission.service.d.ts +2 -2
  153. package/dist/missions/mission.service.d.ts.map +1 -1
  154. package/dist/missions/mission.service.js.map +1 -1
  155. package/dist/models/chat.model.d.ts +11 -1
  156. package/dist/models/chat.model.d.ts.map +1 -1
  157. package/dist/models/chat.model.js +4 -0
  158. package/dist/models/chat.model.js.map +1 -1
  159. package/dist/notifications/notification.service.d.ts.map +1 -1
  160. package/dist/notifications/notification.service.js +10 -2
  161. package/dist/notifications/notification.service.js.map +1 -1
  162. package/dist/profiles/person.model.d.ts +26 -26
  163. package/dist/profiles/person.model.d.ts.map +1 -1
  164. package/dist/profiles/profile.schema.json +269 -0
  165. package/dist/project/schemas.js +2 -1
  166. package/dist/project/schemas.js.map +1 -1
  167. package/dist/projects/project.service.d.ts +1 -1
  168. package/dist/projects/project.service.d.ts.map +1 -1
  169. package/dist/projects/project.service.js +2 -2
  170. package/dist/projects/project.service.js.map +1 -1
  171. package/dist/rewards/reward.model.d.ts +2 -2
  172. package/dist/rewards/reward.model.d.ts.map +1 -1
  173. package/dist/rewards/reward.service.d.ts +9 -0
  174. package/dist/rewards/reward.service.d.ts.map +1 -1
  175. package/dist/rewards/reward.service.js +32 -0
  176. package/dist/rewards/reward.service.js.map +1 -1
  177. package/dist/support/support.model.d.ts +6 -0
  178. package/dist/support/support.model.d.ts.map +1 -0
  179. package/dist/support/support.model.js +3 -0
  180. package/dist/support/support.model.js.map +1 -0
  181. package/dist/support/support.schema.json +25 -0
  182. package/dist/support/support.service.d.ts +11 -0
  183. package/dist/support/support.service.d.ts.map +1 -0
  184. package/dist/support/support.service.js +22 -0
  185. package/dist/support/support.service.js.map +1 -0
  186. package/dist/tasks/evaluation-rates.d.ts +10 -0
  187. package/dist/tasks/evaluation-rates.d.ts.map +1 -0
  188. package/dist/tasks/evaluation-rates.js +48 -0
  189. package/dist/tasks/evaluation-rates.js.map +1 -0
  190. package/dist/tasks/schemas.d.ts +2 -0
  191. package/dist/tasks/schemas.d.ts.map +1 -1
  192. package/dist/tasks/schemas.js +14 -7
  193. package/dist/tasks/schemas.js.map +1 -1
  194. package/dist/tasks/task-reference.model.d.ts +12 -3
  195. package/dist/tasks/task-reference.model.d.ts.map +1 -1
  196. package/dist/tasks/task-reference.model.js +18 -2
  197. package/dist/tasks/task-reference.model.js.map +1 -1
  198. package/dist/tasks/task.model.d.ts +42 -13
  199. package/dist/tasks/task.model.d.ts.map +1 -1
  200. package/dist/tasks/task.model.js +5 -2
  201. package/dist/tasks/task.model.js.map +1 -1
  202. package/dist/tasks/task.schema.json +780 -0
  203. package/dist/tasks/task.service.d.ts +121 -10
  204. package/dist/tasks/task.service.d.ts.map +1 -1
  205. package/dist/tasks/task.service.js +196 -47
  206. package/dist/tasks/task.service.js.map +1 -1
  207. package/dist/timezone/time.helper.d.ts +9 -0
  208. package/dist/timezone/time.helper.d.ts.map +1 -1
  209. package/dist/timezone/time.helper.js +31 -2
  210. package/dist/timezone/time.helper.js.map +1 -1
  211. package/dist/users/user.model.d.ts +2 -1
  212. package/dist/users/user.model.d.ts.map +1 -1
  213. package/dist/users/user.model.js.map +1 -1
  214. package/dist/users/user.schema.json +429 -0
  215. package/dist/users/user.service.d.ts +2 -2
  216. package/dist/users/user.service.d.ts.map +1 -1
  217. package/dist/users/user.service.js +29 -35
  218. package/dist/users/user.service.js.map +1 -1
  219. package/dist/utils/validation.utils.d.ts +0 -4
  220. package/dist/utils/validation.utils.d.ts.map +1 -1
  221. package/dist/utils/validation.utils.js +1 -11
  222. package/dist/utils/validation.utils.js.map +1 -1
  223. package/dist/wallet/wallet.model.d.ts +5 -0
  224. package/dist/wallet/wallet.model.d.ts.map +1 -1
  225. package/dist/wallet/wallet.service.d.ts +2 -1
  226. package/dist/wallet/wallet.service.d.ts.map +1 -1
  227. package/dist/wallet/wallet.service.js +9 -0
  228. package/dist/wallet/wallet.service.js.map +1 -1
  229. package/package.json +19 -6
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnowledgeNugget = void 0;
4
+ const error_handler_1 = require("../core/error-handler");
5
+ class KnowledgeNugget {
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ async list(params) {
10
+ try {
11
+ const query = new URLSearchParams();
12
+ if (params?.page)
13
+ query.set('page', String(params.page));
14
+ if (params?.limit)
15
+ query.set('limit', String(params.limit));
16
+ if (params?.status)
17
+ query.set('status', params.status);
18
+ if (params?.tag)
19
+ query.set('tag', params.tag);
20
+ const qs = query.toString();
21
+ const response = await this.http.get(`/nuggets${qs ? `?${qs}` : ''}`);
22
+ return response.payload;
23
+ }
24
+ catch (error) {
25
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to list nuggets');
26
+ }
27
+ }
28
+ /** "Teach Me Something" -- a random published nugget plus the problems it solves. */
29
+ async random() {
30
+ try {
31
+ const response = await this.http.get('/nuggets/random');
32
+ return response.payload;
33
+ }
34
+ catch (error) {
35
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to fetch a random nugget');
36
+ }
37
+ }
38
+ async get(id) {
39
+ try {
40
+ const response = await this.http.get(`/nuggets/${id}`);
41
+ return response.payload;
42
+ }
43
+ catch (error) {
44
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to get nugget');
45
+ }
46
+ }
47
+ async create(data) {
48
+ try {
49
+ const response = await this.http.post('/nuggets', data);
50
+ return response.payload;
51
+ }
52
+ catch (error) {
53
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to create nugget');
54
+ }
55
+ }
56
+ async update(id, data) {
57
+ try {
58
+ const response = await this.http.patch(`/nuggets/${id}`, data);
59
+ return response.payload;
60
+ }
61
+ catch (error) {
62
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to update nugget');
63
+ }
64
+ }
65
+ async delete(id) {
66
+ try {
67
+ await this.http.delete(`/nuggets/${id}`);
68
+ }
69
+ catch (error) {
70
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to delete nugget');
71
+ }
72
+ }
73
+ async listRelations(nuggetId) {
74
+ try {
75
+ const response = await this.http.get(`/nuggets/${nuggetId}/relations`);
76
+ return response.payload;
77
+ }
78
+ catch (error) {
79
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to list nugget relations');
80
+ }
81
+ }
82
+ async addRelation(nuggetId, data) {
83
+ try {
84
+ const response = await this.http.post(`/nuggets/${nuggetId}/relations`, data);
85
+ return response.payload;
86
+ }
87
+ catch (error) {
88
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to create nugget relation');
89
+ }
90
+ }
91
+ async deleteRelation(relationId) {
92
+ try {
93
+ await this.http.delete(`/nuggets/relations/${relationId}`);
94
+ }
95
+ catch (error) {
96
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to delete nugget relation');
97
+ }
98
+ }
99
+ async listLinkedProblems(nuggetId) {
100
+ try {
101
+ const response = await this.http.get(`/nuggets/${nuggetId}/problem-links`);
102
+ return response.payload;
103
+ }
104
+ catch (error) {
105
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to list linked problems');
106
+ }
107
+ }
108
+ async linkProblem(nuggetId, data) {
109
+ try {
110
+ const response = await this.http.post(`/nuggets/${nuggetId}/problem-links`, data);
111
+ return response.payload;
112
+ }
113
+ catch (error) {
114
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to link nugget to problem');
115
+ }
116
+ }
117
+ async unlinkProblem(linkId) {
118
+ try {
119
+ await this.http.delete(`/nuggets/problem-links/${linkId}`);
120
+ }
121
+ catch (error) {
122
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to unlink nugget from problem');
123
+ }
124
+ }
125
+ }
126
+ exports.KnowledgeNugget = KnowledgeNugget;
127
+ //# sourceMappingURL=nugget.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nugget.service.js","sourceRoot":"","sources":["../../src/alexandria/nugget.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export interface Problem {
2
+ id?: number;
3
+ title: string;
4
+ description: string;
5
+ signals?: string | null;
6
+ tags: string[];
7
+ authorUsername?: string;
8
+ createdBy: number;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ }
12
+ export interface ProblemListParams {
13
+ page?: number;
14
+ limit?: number;
15
+ tag?: string;
16
+ }
17
+ export interface ProblemListResponse {
18
+ problems: Problem[];
19
+ total: number;
20
+ page: number;
21
+ limit: number;
22
+ }
23
+ export interface CreateProblemRequest {
24
+ title: string;
25
+ description: string;
26
+ signals?: string;
27
+ tags?: string[];
28
+ }
29
+ export interface UpdateProblemRequest {
30
+ title?: string;
31
+ description?: string;
32
+ signals?: string | null;
33
+ tags?: string[];
34
+ }
35
+ export declare const PROBLEM_RELATION_TYPES: readonly ["leads_to", "similar_to", "subset_of"];
36
+ export type ProblemRelationType = (typeof PROBLEM_RELATION_TYPES)[number];
37
+ export interface ProblemRelation {
38
+ id: number;
39
+ fromProblemId: number;
40
+ toProblemId: number;
41
+ relationType: ProblemRelationType;
42
+ createdAt: Date;
43
+ }
44
+ export interface CreateProblemRelationRequest {
45
+ toProblemId: number;
46
+ relationType: ProblemRelationType;
47
+ }
48
+ //# sourceMappingURL=problem.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.model.d.ts","sourceRoot":"","sources":["../../src/alexandria/problem.model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAID,eAAO,MAAM,sBAAsB,kDAAmD,CAAC;AACvF,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,mBAAmB,CAAC;CACrC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PROBLEM_RELATION_TYPES = void 0;
4
+ // Seed vocabulary -- kept in sync with biome-be's problem.model.ts by hand
5
+ // (relationType is a plain string column on the BE, not a shared enum type).
6
+ exports.PROBLEM_RELATION_TYPES = ['leads_to', 'similar_to', 'subset_of'];
7
+ //# sourceMappingURL=problem.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.model.js","sourceRoot":"","sources":["../../src/alexandria/problem.model.ts"],"names":[],"mappings":";;;AAuCA,2EAA2E;AAC3E,6EAA6E;AAChE,QAAA,sBAAsB,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BiomeHttpClient } from '../core/http-client';
2
+ import { Problem, ProblemListParams, ProblemListResponse, CreateProblemRequest, UpdateProblemRequest, ProblemRelation, CreateProblemRelationRequest } from './problem.model';
3
+ import { Nugget } from './nugget.model';
4
+ export declare class AlexandriaProblem {
5
+ private http;
6
+ constructor(http: BiomeHttpClient);
7
+ list(params?: ProblemListParams): Promise<ProblemListResponse>;
8
+ get(id: number): Promise<Problem>;
9
+ create(data: CreateProblemRequest): Promise<Problem>;
10
+ update(id: number, data: UpdateProblemRequest): Promise<Problem>;
11
+ delete(id: number): Promise<void>;
12
+ listLinkedNuggets(problemId: number): Promise<Nugget[]>;
13
+ listRelations(problemId: number): Promise<ProblemRelation[]>;
14
+ addRelation(problemId: number, data: CreateProblemRelationRequest): Promise<ProblemRelation>;
15
+ deleteRelation(relationId: number): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=problem.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.service.d.ts","sourceRoot":"","sources":["../../src/alexandria/problem.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EACH,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,4BAA4B,EAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,qBAAa,iBAAiB;IACd,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAEnC,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAe9D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASjC,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IASpD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAShE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASvD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAS5D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,eAAe,CAAC;IAS5F,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO1D"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlexandriaProblem = void 0;
4
+ const error_handler_1 = require("../core/error-handler");
5
+ class AlexandriaProblem {
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ async list(params) {
10
+ try {
11
+ const query = new URLSearchParams();
12
+ if (params?.page)
13
+ query.set('page', String(params.page));
14
+ if (params?.limit)
15
+ query.set('limit', String(params.limit));
16
+ if (params?.tag)
17
+ query.set('tag', params.tag);
18
+ const qs = query.toString();
19
+ const response = await this.http.get(`/problems${qs ? `?${qs}` : ''}`);
20
+ return response.payload;
21
+ }
22
+ catch (error) {
23
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to list problems');
24
+ }
25
+ }
26
+ async get(id) {
27
+ try {
28
+ const response = await this.http.get(`/problems/${id}`);
29
+ return response.payload;
30
+ }
31
+ catch (error) {
32
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to get problem');
33
+ }
34
+ }
35
+ async create(data) {
36
+ try {
37
+ const response = await this.http.post('/problems', data);
38
+ return response.payload;
39
+ }
40
+ catch (error) {
41
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to create problem');
42
+ }
43
+ }
44
+ async update(id, data) {
45
+ try {
46
+ const response = await this.http.patch(`/problems/${id}`, data);
47
+ return response.payload;
48
+ }
49
+ catch (error) {
50
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to update problem');
51
+ }
52
+ }
53
+ async delete(id) {
54
+ try {
55
+ await this.http.delete(`/problems/${id}`);
56
+ }
57
+ catch (error) {
58
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to delete problem');
59
+ }
60
+ }
61
+ async listLinkedNuggets(problemId) {
62
+ try {
63
+ const response = await this.http.get(`/problems/${problemId}/nuggets`);
64
+ return response.payload;
65
+ }
66
+ catch (error) {
67
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to list linked nuggets');
68
+ }
69
+ }
70
+ async listRelations(problemId) {
71
+ try {
72
+ const response = await this.http.get(`/problems/${problemId}/relations`);
73
+ return response.payload;
74
+ }
75
+ catch (error) {
76
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to list problem relations');
77
+ }
78
+ }
79
+ async addRelation(problemId, data) {
80
+ try {
81
+ const response = await this.http.post(`/problems/${problemId}/relations`, data);
82
+ return response.payload;
83
+ }
84
+ catch (error) {
85
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to create problem relation');
86
+ }
87
+ }
88
+ async deleteRelation(relationId) {
89
+ try {
90
+ await this.http.delete(`/problems/relations/${relationId}`);
91
+ }
92
+ catch (error) {
93
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to delete problem relation');
94
+ }
95
+ }
96
+ }
97
+ exports.AlexandriaProblem = AlexandriaProblem;
98
+ //# sourceMappingURL=problem.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.service.js","sourceRoot":"","sources":["../../src/alexandria/problem.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Nugget } from './nugget.model';
2
+ import { Problem } from './problem.model';
3
+ /** Learner activation/progression snapshot. */
4
+ export interface LearnerProgress {
5
+ currentProblem: Problem | null;
6
+ /** Published nuggets linked to the current problem. */
7
+ linkedNuggets: Nugget[];
8
+ /** Problems reachable via leads_to from the current problem. */
9
+ nextProblems: Problem[];
10
+ solvedProblemIds: number[];
11
+ }
12
+ export interface ActivateProgressRequest {
13
+ problemId: number;
14
+ }
15
+ export interface SolveProgressRequest {
16
+ /** Optional next node; must be a leads_to neighbor of the current problem. */
17
+ nextProblemId?: number;
18
+ }
19
+ //# sourceMappingURL=progress.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.model.d.ts","sourceRoot":"","sources":["../../src/alexandria/progress.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC5B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,uDAAuD;IACvD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gEAAgE;IAChE,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACjC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=progress.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.model.js","sourceRoot":"","sources":["../../src/alexandria/progress.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { BiomeHttpClient } from '../core/http-client';
2
+ import { ActivateProgressRequest, LearnerProgress, SolveProgressRequest } from './progress.model';
3
+ export declare class AlexandriaProgress {
4
+ private http;
5
+ constructor(http: BiomeHttpClient);
6
+ get(): Promise<LearnerProgress>;
7
+ activate(data: ActivateProgressRequest): Promise<LearnerProgress>;
8
+ solve(data?: SolveProgressRequest): Promise<LearnerProgress>;
9
+ }
10
+ //# sourceMappingURL=progress.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.service.d.ts","sourceRoot":"","sources":["../../src/alexandria/progress.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,kBAAkB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAEnC,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;IAS/B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAYjE,KAAK,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;CAWzE"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlexandriaProgress = void 0;
4
+ const error_handler_1 = require("../core/error-handler");
5
+ class AlexandriaProgress {
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ async get() {
10
+ try {
11
+ const response = await this.http.get('/alexandria/progress');
12
+ return response.payload;
13
+ }
14
+ catch (error) {
15
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to get Alexandria progress');
16
+ }
17
+ }
18
+ async activate(data) {
19
+ try {
20
+ const response = await this.http.put('/alexandria/progress', data);
21
+ return response.payload;
22
+ }
23
+ catch (error) {
24
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to activate problem');
25
+ }
26
+ }
27
+ async solve(data = {}) {
28
+ try {
29
+ const response = await this.http.post('/alexandria/progress/solve', data);
30
+ return response.payload;
31
+ }
32
+ catch (error) {
33
+ throw (0, error_handler_1.createSdkError)(error, 'Failed to solve problem');
34
+ }
35
+ }
36
+ }
37
+ exports.AlexandriaProgress = AlexandriaProgress;
38
+ //# sourceMappingURL=progress.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.service.js","sourceRoot":"","sources":["../../src/alexandria/progress.service.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AAQvD,MAAa,kBAAkB;IAC3B,YAAoB,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAE7C,KAAK,CAAC,GAAG;QACL,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA+B,sBAAsB,CAAC,CAAC;YAC3F,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,mCAAmC,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAA6B;QACxC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAChC,sBAAsB,EACtB,IAAI,CACP,CAAC;YACF,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAA6B,EAAE;QACvC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CACjC,4BAA4B,EAC5B,IAAI,CACP,CAAC;YACF,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;CACJ;AAnCD,gDAmCC"}
@@ -0,0 +1,30 @@
1
+ export type ApiKeyEnvironment = 'live' | 'test';
2
+ export interface ApiKey {
3
+ id: number;
4
+ userId: number;
5
+ name: string;
6
+ environment: ApiKeyEnvironment;
7
+ keyPrefix: string;
8
+ lastUsedAt: string | null;
9
+ requestCount: number;
10
+ expiresAt: string | null;
11
+ revokedAt: string | null;
12
+ createdAt: string;
13
+ }
14
+ export interface ApiKeyListResponse {
15
+ data: ApiKey[];
16
+ total: number;
17
+ }
18
+ export interface CreateApiKeyRequest {
19
+ name: string;
20
+ environment?: ApiKeyEnvironment;
21
+ /** Issue the key for one of your agents (it will act as that agent). */
22
+ agentId?: number;
23
+ }
24
+ export interface CreateApiKeyResponse {
25
+ id: number;
26
+ /** Shown exactly once, at creation. */
27
+ token: string;
28
+ keyPrefix: string;
29
+ }
30
+ //# sourceMappingURL=api-key.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.model.d.ts","sourceRoot":"","sources":["../../src/api-keys/api-key.model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,iBAAiB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=api-key.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.model.js","sourceRoot":"","sources":["../../src/api-keys/api-key.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { BiomeHttpClient } from '../core/http-client';
2
+ import { ApiKeyListResponse, CreateApiKeyRequest, CreateApiKeyResponse } from './api-key.model';
3
+ /**
4
+ * API keys — the Bearer door for machines (CLI, MCP, third parties).
5
+ *
6
+ * The plaintext token is returned only by {@link create}. A key can be issued
7
+ * for the caller or for one of the caller's agents.
8
+ */
9
+ export declare class BiomeApiKeys {
10
+ private http;
11
+ constructor(http: BiomeHttpClient);
12
+ list(): Promise<ApiKeyListResponse>;
13
+ create(data: CreateApiKeyRequest): Promise<CreateApiKeyResponse>;
14
+ revoke(id: number): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=api-key.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.service.d.ts","sourceRoot":"","sources":["../../src/api-keys/api-key.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,iBAAiB,CAAC;AAEzB;;;;;GAKG;AACH,qBAAa,YAAY;IACT,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAEnC,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAMnC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAMhE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI1C"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BiomeApiKeys = void 0;
4
+ const error_handler_1 = require("../core/error-handler");
5
+ /**
6
+ * API keys — the Bearer door for machines (CLI, MCP, third parties).
7
+ *
8
+ * The plaintext token is returned only by {@link create}. A key can be issued
9
+ * for the caller or for one of the caller's agents.
10
+ */
11
+ class BiomeApiKeys {
12
+ constructor(http) {
13
+ this.http = http;
14
+ }
15
+ async list() {
16
+ const response = await this.http.get('/api-keys');
17
+ if (!response.isSuccess)
18
+ throw (0, error_handler_1.createSdkError)(response);
19
+ return response.payload;
20
+ }
21
+ async create(data) {
22
+ const response = await this.http.post('/api-keys', data);
23
+ if (!response.isSuccess)
24
+ throw (0, error_handler_1.createSdkError)(response);
25
+ return response.payload;
26
+ }
27
+ async revoke(id) {
28
+ const response = await this.http.delete(`/api-keys/${id}`);
29
+ if (!response.isSuccess)
30
+ throw (0, error_handler_1.createSdkError)(response);
31
+ }
32
+ }
33
+ exports.BiomeApiKeys = BiomeApiKeys;
34
+ //# sourceMappingURL=api-key.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.service.js","sourceRoot":"","sources":["../../src/api-keys/api-key.service.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AAQvD;;;;;GAKG;AACH,MAAa,YAAY;IACrB,YAAoB,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAE7C,KAAK,CAAC,IAAI;QACN,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkC,WAAW,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,MAAM,IAAA,8BAAc,EAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAyB;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5F,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,MAAM,IAAA,8BAAc,EAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAoB,aAAa,EAAE,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,MAAM,IAAA,8BAAc,EAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;CACJ;AAnBD,oCAmBC"}
@@ -0,0 +1,106 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "definitions": {
4
+ "EmailConfirmationRequest": {
5
+ "additionalProperties": false,
6
+ "properties": {
7
+ "token": {
8
+ "type": "string"
9
+ }
10
+ },
11
+ "required": [
12
+ "token"
13
+ ],
14
+ "type": "object"
15
+ },
16
+ "LoginData": {
17
+ "additionalProperties": true,
18
+ "description": "Data required for user login (Story 2: Flexible Login)",
19
+ "properties": {
20
+ "emailOrUsername": {
21
+ "type": "string"
22
+ },
23
+ "password": {
24
+ "type": "string"
25
+ },
26
+ "rememberMe": {
27
+ "type": "boolean"
28
+ }
29
+ },
30
+ "required": [
31
+ "emailOrUsername",
32
+ "password"
33
+ ],
34
+ "type": "object"
35
+ },
36
+ "LoginResponse": {
37
+ "additionalProperties": true,
38
+ "description": "Response from successful login",
39
+ "properties": {
40
+ "operatorId": {
41
+ "type": "number"
42
+ },
43
+ "ttl": {
44
+ "type": "number"
45
+ }
46
+ },
47
+ "required": [
48
+ "ttl",
49
+ "operatorId"
50
+ ],
51
+ "type": "object"
52
+ },
53
+ "PasswordChangeRequest": {
54
+ "additionalProperties": false,
55
+ "properties": {
56
+ "currentPassword": {
57
+ "type": "string"
58
+ },
59
+ "newPassword": {
60
+ "type": "string"
61
+ }
62
+ },
63
+ "required": [
64
+ "currentPassword",
65
+ "newPassword"
66
+ ],
67
+ "type": "object"
68
+ },
69
+ "PasswordResetRequest": {
70
+ "additionalProperties": false,
71
+ "properties": {
72
+ "email": {
73
+ "type": "string"
74
+ }
75
+ },
76
+ "required": [
77
+ "email"
78
+ ],
79
+ "type": "object"
80
+ },
81
+ "SignupData": {
82
+ "additionalProperties": true,
83
+ "description": "Data required for user signup",
84
+ "properties": {
85
+ "email": {
86
+ "type": "string"
87
+ },
88
+ "password": {
89
+ "type": "string"
90
+ },
91
+ "timezoneId": {
92
+ "type": "number"
93
+ },
94
+ "username": {
95
+ "type": "string"
96
+ }
97
+ },
98
+ "required": [
99
+ "timezoneId",
100
+ "email",
101
+ "password"
102
+ ],
103
+ "type": "object"
104
+ }
105
+ }
106
+ }
@@ -28,6 +28,13 @@ export declare class BiomeAuth {
28
28
  * Log out current user
29
29
  */
30
30
  logout(): Promise<ApiResponse<void>>;
31
+ /**
32
+ * Check whether an email is available for registration (GET /check-email).
33
+ * Routes through RequestScheduler like all other SDK traffic.
34
+ */
35
+ checkEmail(email: string): Promise<{
36
+ available: boolean;
37
+ }>;
31
38
  /**
32
39
  * Check if current session is valid
33
40
  */
@@ -59,7 +66,7 @@ export declare class BiomeAuth {
59
66
  /**
60
67
  * Reset password using reset token
61
68
  */
62
- resetPassword(token: string, newPassword: string): Promise<void>;
69
+ resetPassword(token: string, newPassword: string, confirmPassword: string): Promise<void>;
63
70
  /**
64
71
  * Clear current session
65
72
  */