@nekutima/biome-sdk 0.19.3 → 0.30.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 (227) 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 +54 -6
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +74 -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/river/river.model.d.ts +25 -0
  178. package/dist/river/river.model.d.ts.map +1 -0
  179. package/dist/river/river.model.js +4 -0
  180. package/dist/river/river.model.js.map +1 -0
  181. package/dist/river/river.service.d.ts +13 -0
  182. package/dist/river/river.service.d.ts.map +1 -0
  183. package/dist/river/river.service.js +25 -0
  184. package/dist/river/river.service.js.map +1 -0
  185. package/dist/support/support.model.d.ts +6 -0
  186. package/dist/support/support.model.d.ts.map +1 -0
  187. package/dist/support/support.model.js +3 -0
  188. package/dist/support/support.model.js.map +1 -0
  189. package/dist/support/support.schema.json +25 -0
  190. package/dist/support/support.service.d.ts +11 -0
  191. package/dist/support/support.service.d.ts.map +1 -0
  192. package/dist/support/support.service.js +22 -0
  193. package/dist/support/support.service.js.map +1 -0
  194. package/dist/tasks/schemas.js +4 -3
  195. package/dist/tasks/schemas.js.map +1 -1
  196. package/dist/tasks/task.model.d.ts +40 -15
  197. package/dist/tasks/task.model.d.ts.map +1 -1
  198. package/dist/tasks/task.model.js +1 -1
  199. package/dist/tasks/task.model.js.map +1 -1
  200. package/dist/tasks/task.schema.json +780 -0
  201. package/dist/tasks/task.service.d.ts +108 -9
  202. package/dist/tasks/task.service.d.ts.map +1 -1
  203. package/dist/tasks/task.service.js +184 -47
  204. package/dist/tasks/task.service.js.map +1 -1
  205. package/dist/timezone/time.helper.d.ts +9 -0
  206. package/dist/timezone/time.helper.d.ts.map +1 -1
  207. package/dist/timezone/time.helper.js +31 -2
  208. package/dist/timezone/time.helper.js.map +1 -1
  209. package/dist/users/user.model.d.ts +2 -1
  210. package/dist/users/user.model.d.ts.map +1 -1
  211. package/dist/users/user.model.js.map +1 -1
  212. package/dist/users/user.schema.json +429 -0
  213. package/dist/users/user.service.d.ts +2 -2
  214. package/dist/users/user.service.d.ts.map +1 -1
  215. package/dist/users/user.service.js +29 -35
  216. package/dist/users/user.service.js.map +1 -1
  217. package/dist/utils/validation.utils.d.ts +0 -4
  218. package/dist/utils/validation.utils.d.ts.map +1 -1
  219. package/dist/utils/validation.utils.js +1 -11
  220. package/dist/utils/validation.utils.js.map +1 -1
  221. package/dist/wallet/wallet.model.d.ts +5 -0
  222. package/dist/wallet/wallet.model.d.ts.map +1 -1
  223. package/dist/wallet/wallet.service.d.ts +2 -1
  224. package/dist/wallet/wallet.service.d.ts.map +1 -1
  225. package/dist/wallet/wallet.service.js +9 -0
  226. package/dist/wallet/wallet.service.js.map +1 -1
  227. package/package.json +19 -6
@@ -21,4 +21,74 @@ export interface AdminUser {
21
21
  eurBalance: number;
22
22
  bucksEquivalent: number;
23
23
  }
24
+ export interface SetBlockedRequest {
25
+ blocked: boolean;
26
+ }
27
+ export interface SetBetaTesterRequest {
28
+ value: boolean;
29
+ }
30
+ export interface SetAdminFlagRequest {
31
+ value: boolean;
32
+ }
33
+ export interface GrantBucksRequest {
34
+ /**
35
+ * @exclusiveMinimum 0
36
+ */
37
+ eurAmount: number;
38
+ }
39
+ /**
40
+ * LLM Engine vendor types. Kept in sync with the shared
41
+ * `@nekutima/provili-sdk` engine access layer.
42
+ */
43
+ export type LlmEngineType = 'deepseek' | 'openai' | 'anthropic' | 'gemini' | 'xai' | 'openrouter' | 'custom';
44
+ export type LlmEngineRole = 'chat' | 'embed' | 'both';
45
+ export interface LlmEngine {
46
+ id: number;
47
+ name: string;
48
+ type: LlmEngineType;
49
+ role: LlmEngineRole;
50
+ endpoint: string;
51
+ model: string;
52
+ isActive: boolean;
53
+ /** Whether an API key is stored. The key itself is never returned. */
54
+ hasApiKey: boolean;
55
+ /** True for the engine assigned to the Yuri agent. */
56
+ isYuriEngine: boolean;
57
+ createdAt?: Date;
58
+ updatedAt?: Date;
59
+ }
60
+ export interface CreateLlmEngineRequest {
61
+ name: string;
62
+ type: LlmEngineType;
63
+ role?: LlmEngineRole;
64
+ endpoint?: string;
65
+ model: string;
66
+ apiKey?: string;
67
+ }
68
+ export interface UpdateLlmEngineRequest {
69
+ name?: string;
70
+ type?: LlmEngineType;
71
+ role?: LlmEngineRole;
72
+ endpoint?: string;
73
+ model?: string;
74
+ /** Rotate the key. Omit (or send empty) to keep the stored key. */
75
+ apiKey?: string;
76
+ isActive?: boolean;
77
+ }
78
+ /**
79
+ * Probe request: list the models a vendor offers for a config *before* it is
80
+ * saved (transient — the key is used for the call and never persisted).
81
+ */
82
+ export interface LlmEngineModelProbeRequest {
83
+ type: LlmEngineType;
84
+ endpoint?: string;
85
+ apiKey?: string;
86
+ }
87
+ export interface LlmEngineHealth {
88
+ ok: boolean;
89
+ status?: number;
90
+ latencyMs?: number;
91
+ error?: string;
92
+ category?: string;
93
+ }
24
94
  //# sourceMappingURL=admin.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.model.d.ts","sourceRoot":"","sources":["../../src/admin/admin.model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"admin.model.d.ts","sourceRoot":"","sources":["../../src/admin/admin.model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,KAAK,GACL,YAAY,GACZ,QAAQ,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,339 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "definitions": {
4
+ "AdminUser": {
5
+ "additionalProperties": true,
6
+ "properties": {
7
+ "bucksBalance": {
8
+ "type": "number"
9
+ },
10
+ "bucksEquivalent": {
11
+ "type": "number"
12
+ },
13
+ "createdAt": {
14
+ "format": "date-time",
15
+ "type": "string"
16
+ },
17
+ "email": {
18
+ "type": "string"
19
+ },
20
+ "emailConfirmedAt": {
21
+ "anyOf": [
22
+ {
23
+ "format": "date-time",
24
+ "type": "string"
25
+ },
26
+ {
27
+ "type": "null"
28
+ }
29
+ ]
30
+ },
31
+ "eurBalance": {
32
+ "type": "number"
33
+ },
34
+ "hasActiveSubscription": {
35
+ "type": "boolean"
36
+ },
37
+ "id": {
38
+ "type": "number"
39
+ },
40
+ "isAdmin": {
41
+ "type": "boolean"
42
+ },
43
+ "isBetaTester": {
44
+ "type": "boolean"
45
+ },
46
+ "isBlocked": {
47
+ "type": "boolean"
48
+ },
49
+ "lastLoginAt": {
50
+ "anyOf": [
51
+ {
52
+ "format": "date-time",
53
+ "type": "string"
54
+ },
55
+ {
56
+ "type": "null"
57
+ }
58
+ ]
59
+ },
60
+ "lockedUntil": {
61
+ "anyOf": [
62
+ {
63
+ "format": "date-time",
64
+ "type": "string"
65
+ },
66
+ {
67
+ "type": "null"
68
+ }
69
+ ]
70
+ },
71
+ "loginAttempts": {
72
+ "type": "number"
73
+ },
74
+ "loginCount": {
75
+ "type": "number"
76
+ },
77
+ "nekTokensAvailable": {
78
+ "type": "number"
79
+ },
80
+ "password": {
81
+ "type": "string"
82
+ },
83
+ "termsAcceptedAt": {
84
+ "anyOf": [
85
+ {
86
+ "format": "date-time",
87
+ "type": "string"
88
+ },
89
+ {
90
+ "type": "null"
91
+ }
92
+ ]
93
+ },
94
+ "timezoneId": {
95
+ "type": "number"
96
+ },
97
+ "updatedAt": {
98
+ "format": "date-time",
99
+ "type": "string"
100
+ },
101
+ "username": {
102
+ "type": "string"
103
+ }
104
+ },
105
+ "required": [
106
+ "id",
107
+ "username",
108
+ "email",
109
+ "eurBalance",
110
+ "bucksEquivalent"
111
+ ],
112
+ "type": "object"
113
+ },
114
+ "CreateLlmEngineRequest": {
115
+ "additionalProperties": false,
116
+ "properties": {
117
+ "apiKey": {
118
+ "type": "string"
119
+ },
120
+ "endpoint": {
121
+ "type": "string"
122
+ },
123
+ "model": {
124
+ "type": "string"
125
+ },
126
+ "name": {
127
+ "type": "string"
128
+ },
129
+ "role": {
130
+ "$ref": "#/definitions/LlmEngineRole"
131
+ },
132
+ "type": {
133
+ "$ref": "#/definitions/LlmEngineType"
134
+ }
135
+ },
136
+ "required": [
137
+ "name",
138
+ "type",
139
+ "model"
140
+ ],
141
+ "type": "object"
142
+ },
143
+ "GrantBucksRequest": {
144
+ "additionalProperties": false,
145
+ "properties": {
146
+ "eurAmount": {
147
+ "exclusiveMinimum": 0,
148
+ "type": "number"
149
+ }
150
+ },
151
+ "required": [
152
+ "eurAmount"
153
+ ],
154
+ "type": "object"
155
+ },
156
+ "LlmEngine": {
157
+ "additionalProperties": true,
158
+ "properties": {
159
+ "createdAt": {
160
+ "format": "date-time",
161
+ "type": "string"
162
+ },
163
+ "endpoint": {
164
+ "type": "string"
165
+ },
166
+ "hasApiKey": {
167
+ "description": "Whether an API key is stored. The key itself is never returned.",
168
+ "type": "boolean"
169
+ },
170
+ "id": {
171
+ "type": "number"
172
+ },
173
+ "isActive": {
174
+ "type": "boolean"
175
+ },
176
+ "isYuriEngine": {
177
+ "description": "True for the engine assigned to the Yuri agent.",
178
+ "type": "boolean"
179
+ },
180
+ "model": {
181
+ "type": "string"
182
+ },
183
+ "name": {
184
+ "type": "string"
185
+ },
186
+ "role": {
187
+ "$ref": "#/definitions/LlmEngineRole"
188
+ },
189
+ "type": {
190
+ "$ref": "#/definitions/LlmEngineType"
191
+ },
192
+ "updatedAt": {
193
+ "format": "date-time",
194
+ "type": "string"
195
+ }
196
+ },
197
+ "required": [
198
+ "id",
199
+ "name",
200
+ "type",
201
+ "role",
202
+ "endpoint",
203
+ "model",
204
+ "isActive",
205
+ "hasApiKey",
206
+ "isYuriEngine"
207
+ ],
208
+ "type": "object"
209
+ },
210
+ "LlmEngineHealth": {
211
+ "additionalProperties": true,
212
+ "properties": {
213
+ "category": {
214
+ "type": "string"
215
+ },
216
+ "error": {
217
+ "type": "string"
218
+ },
219
+ "latencyMs": {
220
+ "type": "number"
221
+ },
222
+ "ok": {
223
+ "type": "boolean"
224
+ },
225
+ "status": {
226
+ "type": "number"
227
+ }
228
+ },
229
+ "required": [
230
+ "ok"
231
+ ],
232
+ "type": "object"
233
+ },
234
+ "LlmEngineModelProbeRequest": {
235
+ "additionalProperties": false,
236
+ "description": "Probe request: list the models a vendor offers for a config *before* it is saved (transient — the key is used for the call and never persisted).",
237
+ "properties": {
238
+ "apiKey": {
239
+ "type": "string"
240
+ },
241
+ "endpoint": {
242
+ "type": "string"
243
+ },
244
+ "type": {
245
+ "$ref": "#/definitions/LlmEngineType"
246
+ }
247
+ },
248
+ "required": [
249
+ "type"
250
+ ],
251
+ "type": "object"
252
+ },
253
+ "LlmEngineRole": {
254
+ "enum": [
255
+ "chat",
256
+ "embed",
257
+ "both"
258
+ ],
259
+ "type": "string"
260
+ },
261
+ "LlmEngineType": {
262
+ "description": "LLM Engine vendor types. Kept in sync with the shared `@nekutima/provili-sdk` engine access layer.",
263
+ "enum": [
264
+ "deepseek",
265
+ "openai",
266
+ "anthropic",
267
+ "gemini",
268
+ "xai",
269
+ "openrouter",
270
+ "custom"
271
+ ],
272
+ "type": "string"
273
+ },
274
+ "SetAdminFlagRequest": {
275
+ "additionalProperties": false,
276
+ "properties": {
277
+ "value": {
278
+ "type": "boolean"
279
+ }
280
+ },
281
+ "required": [
282
+ "value"
283
+ ],
284
+ "type": "object"
285
+ },
286
+ "SetBetaTesterRequest": {
287
+ "additionalProperties": false,
288
+ "properties": {
289
+ "value": {
290
+ "type": "boolean"
291
+ }
292
+ },
293
+ "required": [
294
+ "value"
295
+ ],
296
+ "type": "object"
297
+ },
298
+ "SetBlockedRequest": {
299
+ "additionalProperties": false,
300
+ "properties": {
301
+ "blocked": {
302
+ "type": "boolean"
303
+ }
304
+ },
305
+ "required": [
306
+ "blocked"
307
+ ],
308
+ "type": "object"
309
+ },
310
+ "UpdateLlmEngineRequest": {
311
+ "additionalProperties": false,
312
+ "properties": {
313
+ "apiKey": {
314
+ "description": "Rotate the key. Omit (or send empty) to keep the stored key.",
315
+ "type": "string"
316
+ },
317
+ "endpoint": {
318
+ "type": "string"
319
+ },
320
+ "isActive": {
321
+ "type": "boolean"
322
+ },
323
+ "model": {
324
+ "type": "string"
325
+ },
326
+ "name": {
327
+ "type": "string"
328
+ },
329
+ "role": {
330
+ "$ref": "#/definitions/LlmEngineRole"
331
+ },
332
+ "type": {
333
+ "$ref": "#/definitions/LlmEngineType"
334
+ }
335
+ },
336
+ "type": "object"
337
+ }
338
+ }
339
+ }
@@ -1,5 +1,5 @@
1
1
  import { BiomeHttpClient } from "../core/http-client";
2
- import { AdminUser } from "./admin.model";
2
+ import { AdminUser, CreateLlmEngineRequest, LlmEngine, LlmEngineHealth, LlmEngineModelProbeRequest, UpdateLlmEngineRequest } from "./admin.model";
3
3
  export declare class BiomeAdmin {
4
4
  private readonly http;
5
5
  constructor(http: BiomeHttpClient);
@@ -10,5 +10,13 @@ export declare class BiomeAdmin {
10
10
  setUserBetaTester(userId: number, value: boolean): Promise<void>;
11
11
  setUserAdminFlag(userId: number, value: boolean): Promise<void>;
12
12
  grantUserBucks(userId: number, eurAmount: number): Promise<void>;
13
+ getLlmEngines(): Promise<LlmEngine[]>;
14
+ createLlmEngine(body: CreateLlmEngineRequest): Promise<LlmEngine>;
15
+ updateLlmEngine(id: number, body: UpdateLlmEngineRequest): Promise<LlmEngine>;
16
+ deleteLlmEngine(id: number): Promise<void>;
17
+ checkLlmEngineHealth(id: number): Promise<LlmEngineHealth>;
18
+ setYuriEngine(id: number): Promise<LlmEngine>;
19
+ listLlmEngineModels(id: number): Promise<string[]>;
20
+ probeLlmEngineModels(body: LlmEngineModelProbeRequest): Promise<string[]>;
13
21
  }
14
22
  //# sourceMappingURL=admin.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.service.d.ts","sourceRoot":"","sources":["../../src/admin/admin.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;gBAE3B,IAAI,EAAE,eAAe;IAI3B,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASnC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASvC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOvE"}
1
+ {"version":3,"file":"admin.service.d.ts","sourceRoot":"","sources":["../../src/admin/admin.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EACL,SAAS,EACT,sBAAsB,EAEtB,SAAS,EACT,eAAe,EACf,0BAA0B,EAI1B,sBAAsB,EACvB,MAAM,eAAe,CAAC;AAEvB,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;gBAE3B,IAAI,EAAE,eAAe;IAI3B,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASnC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASvC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASrC,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IASjE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAS7E,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAS1D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAS7C,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASlD,oBAAoB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAQhF"}
@@ -34,7 +34,8 @@ class BiomeAdmin {
34
34
  }
35
35
  async setUserBlocked(userId, blocked) {
36
36
  try {
37
- await this.http.post(`/admin/users/${userId}/blocked`, { blocked });
37
+ const body = { blocked };
38
+ await this.http.post(`/admin/users/${userId}/blocked`, body);
38
39
  }
39
40
  catch (error) {
40
41
  throw (0, error_handler_1.createSdkError)(error, "Failed to set user blocked status");
@@ -42,7 +43,8 @@ class BiomeAdmin {
42
43
  }
43
44
  async setUserBetaTester(userId, value) {
44
45
  try {
45
- await this.http.post(`/admin/users/${userId}/beta-tester`, { value });
46
+ const body = { value };
47
+ await this.http.post(`/admin/users/${userId}/beta-tester`, body);
46
48
  }
47
49
  catch (error) {
48
50
  throw (0, error_handler_1.createSdkError)(error, "Failed to set user beta tester status");
@@ -50,7 +52,8 @@ class BiomeAdmin {
50
52
  }
51
53
  async setUserAdminFlag(userId, value) {
52
54
  try {
53
- await this.http.post(`/admin/users/${userId}/admin-flag`, { value });
55
+ const body = { value };
56
+ await this.http.post(`/admin/users/${userId}/admin-flag`, body);
54
57
  }
55
58
  catch (error) {
56
59
  throw (0, error_handler_1.createSdkError)(error, "Failed to set user admin flag");
@@ -58,12 +61,84 @@ class BiomeAdmin {
58
61
  }
59
62
  async grantUserBucks(userId, eurAmount) {
60
63
  try {
61
- await this.http.post(`/admin/users/${userId}/bucks`, { eurAmount });
64
+ const body = { eurAmount };
65
+ await this.http.post(`/admin/users/${userId}/bucks`, body);
62
66
  }
63
67
  catch (error) {
64
68
  throw (0, error_handler_1.createSdkError)(error, "Failed to grant bucks to user");
65
69
  }
66
70
  }
71
+ async getLlmEngines() {
72
+ try {
73
+ const response = await this.http.get("/admin/llm-engines");
74
+ return response.payload;
75
+ }
76
+ catch (error) {
77
+ throw (0, error_handler_1.createSdkError)(error, "Failed to get LLM engines");
78
+ }
79
+ }
80
+ async createLlmEngine(body) {
81
+ try {
82
+ const response = await this.http.post("/admin/llm-engines", body);
83
+ return response.payload;
84
+ }
85
+ catch (error) {
86
+ throw (0, error_handler_1.createSdkError)(error, "Failed to create LLM engine");
87
+ }
88
+ }
89
+ async updateLlmEngine(id, body) {
90
+ try {
91
+ const response = await this.http.patch(`/admin/llm-engines/${id}`, body);
92
+ return response.payload;
93
+ }
94
+ catch (error) {
95
+ throw (0, error_handler_1.createSdkError)(error, "Failed to update LLM engine");
96
+ }
97
+ }
98
+ async deleteLlmEngine(id) {
99
+ try {
100
+ await this.http.delete(`/admin/llm-engines/${id}`);
101
+ }
102
+ catch (error) {
103
+ throw (0, error_handler_1.createSdkError)(error, "Failed to delete LLM engine");
104
+ }
105
+ }
106
+ async checkLlmEngineHealth(id) {
107
+ try {
108
+ const response = await this.http.post(`/admin/llm-engines/${id}/health`, {});
109
+ return response.payload;
110
+ }
111
+ catch (error) {
112
+ throw (0, error_handler_1.createSdkError)(error, "Failed to check LLM engine health");
113
+ }
114
+ }
115
+ async setYuriEngine(id) {
116
+ try {
117
+ const response = await this.http.post(`/admin/llm-engines/${id}/yuri`, {});
118
+ return response.payload;
119
+ }
120
+ catch (error) {
121
+ throw (0, error_handler_1.createSdkError)(error, "Failed to assign LLM engine to Yuri");
122
+ }
123
+ }
124
+ async listLlmEngineModels(id) {
125
+ try {
126
+ const response = await this.http.post(`/admin/llm-engines/${id}/models`, {});
127
+ return response.payload;
128
+ }
129
+ catch (error) {
130
+ throw (0, error_handler_1.createSdkError)(error, "Failed to list LLM engine models");
131
+ }
132
+ }
133
+ async probeLlmEngineModels(body) {
134
+ try {
135
+ const response = await this.http.post(`/admin/llm-engines/models`, body);
136
+ return response.payload;
137
+ }
138
+ catch (error) {
139
+ throw (0, error_handler_1.createSdkError)(error, "Failed to probe LLM engine models");
140
+ }
141
+ }
67
142
  }
68
143
  exports.BiomeAdmin = BiomeAdmin;
69
144
  //# sourceMappingURL=admin.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.service.js","sourceRoot":"","sources":["../../src/admin/admin.service.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AAIvD,MAAa,UAAU;IAGrB,YAAY,IAAqB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA2B,cAAc,CAAC,CAAC;YAC/E,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA2B,sBAAsB,CAAC,CAAC;YACvF,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,gBAAgB,MAAM,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,OAAgB;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,gBAAgB,MAAM,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,mCAAmC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,KAAc;QACpD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,gBAAgB,MAAM,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,KAAc;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,gBAAgB,MAAM,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,SAAiB;QACpD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,gBAAgB,MAAM,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AAhED,gCAgEC"}
1
+ {"version":3,"file":"admin.service.js","sourceRoot":"","sources":["../../src/admin/admin.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Canonical identity of an AI agent.
3
+ *
4
+ * An agent is a first-class citizen identified as `agentName&&ownerUsername`
5
+ * (e.g. `anikka&&jbgoldberg`). The convention lives here, in the SDK, so the
6
+ * backend, the frontend and the MCP all agree on one source of truth.
7
+ */
8
+ export declare const AGENT_USERNAME_SEPARATOR = "&&";
9
+ export interface ParsedAgentUsername {
10
+ agentName: string;
11
+ ownerUsername: string;
12
+ }
13
+ export declare function isAgentUsername(username: string | null | undefined): boolean;
14
+ export declare function parseAgentUsername(username: string): ParsedAgentUsername | null;
15
+ /** Lowercase, letters and digits only — the agent half of the canonical handle. */
16
+ export declare function slugifyAgentName(agentName: string): string;
17
+ /** Build the canonical `agentName&&ownerUsername` handle. */
18
+ export declare function buildAgentUsername(agentName: string, ownerUsername: string): string;
19
+ //# sourceMappingURL=agent-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-identity.d.ts","sourceRoot":"","sources":["../../src/agents/agent-identity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAO/E;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAEnF"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGENT_USERNAME_SEPARATOR = void 0;
4
+ exports.isAgentUsername = isAgentUsername;
5
+ exports.parseAgentUsername = parseAgentUsername;
6
+ exports.slugifyAgentName = slugifyAgentName;
7
+ exports.buildAgentUsername = buildAgentUsername;
8
+ /**
9
+ * Canonical identity of an AI agent.
10
+ *
11
+ * An agent is a first-class citizen identified as `agentName&&ownerUsername`
12
+ * (e.g. `anikka&&jbgoldberg`). The convention lives here, in the SDK, so the
13
+ * backend, the frontend and the MCP all agree on one source of truth.
14
+ */
15
+ exports.AGENT_USERNAME_SEPARATOR = '&&';
16
+ function isAgentUsername(username) {
17
+ return !!username && username.includes(exports.AGENT_USERNAME_SEPARATOR);
18
+ }
19
+ function parseAgentUsername(username) {
20
+ const idx = username.indexOf(exports.AGENT_USERNAME_SEPARATOR);
21
+ if (idx === -1)
22
+ return null;
23
+ return {
24
+ agentName: username.slice(0, idx),
25
+ ownerUsername: username.slice(idx + exports.AGENT_USERNAME_SEPARATOR.length),
26
+ };
27
+ }
28
+ /** Lowercase, letters and digits only — the agent half of the canonical handle. */
29
+ function slugifyAgentName(agentName) {
30
+ return agentName.toLowerCase().replace(/[^a-z0-9]/g, '');
31
+ }
32
+ /** Build the canonical `agentName&&ownerUsername` handle. */
33
+ function buildAgentUsername(agentName, ownerUsername) {
34
+ return `${slugifyAgentName(agentName)}${exports.AGENT_USERNAME_SEPARATOR}${ownerUsername}`;
35
+ }
36
+ //# sourceMappingURL=agent-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-identity.js","sourceRoot":"","sources":["../../src/agents/agent-identity.ts"],"names":[],"mappings":";;;AAcA,0CAEC;AAED,gDAOC;AAGD,4CAEC;AAGD,gDAEC;AAnCD;;;;;;GAMG;AACU,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAO7C,SAAgB,eAAe,CAAC,QAAmC;IAC/D,OAAO,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,gCAAwB,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,gCAAwB,CAAC,CAAC;IACvD,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO;QACH,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACjC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,gCAAwB,CAAC,MAAM,CAAC;KACvE,CAAC;AACN,CAAC;AAED,mFAAmF;AACnF,SAAgB,gBAAgB,CAAC,SAAiB;IAC9C,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,6DAA6D;AAC7D,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,aAAqB;IACvE,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,gCAAwB,GAAG,aAAa,EAAE,CAAC;AACvF,CAAC"}
@@ -8,5 +8,4 @@ export declare const AGENT_RESOURCE: {
8
8
  };
9
9
  export type AgentResource = typeof AGENT_RESOURCE[keyof typeof AGENT_RESOURCE];
10
10
  export type AgentAccess = 'read' | 'write';
11
- export type ContactScope = 'none' | 'all' | 'specific';
12
11
  //# sourceMappingURL=agent-resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-resource.d.ts","sourceRoot":"","sources":["../../src/agents/agent-resource.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"agent-resource.d.ts","sourceRoot":"","sources":["../../src/agents/agent-resource.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC"}