daycare-cli 2026.2.27 → 2026.2.28

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 (232) hide show
  1. package/dist/config/configResolve.d.ts.map +1 -1
  2. package/dist/config/configResolve.js +15 -1
  3. package/dist/config/configResolve.js.map +1 -1
  4. package/dist/config/configResolve.spec.js +47 -0
  5. package/dist/config/configResolve.spec.js.map +1 -1
  6. package/dist/config/configSettingsParse.d.ts.map +1 -1
  7. package/dist/config/configSettingsParse.js +10 -0
  8. package/dist/config/configSettingsParse.js.map +1 -1
  9. package/dist/config/configSettingsParse.spec.js +32 -0
  10. package/dist/config/configSettingsParse.spec.js.map +1 -1
  11. package/dist/config/configTypes.d.ts +2 -1
  12. package/dist/config/configTypes.d.ts.map +1 -1
  13. package/dist/engine/agents/agent.d.ts.map +1 -1
  14. package/dist/engine/agents/agent.js +12 -1
  15. package/dist/engine/agents/agent.js.map +1 -1
  16. package/dist/engine/agents/agentSystem.spec.js +1 -1
  17. package/dist/engine/agents/ops/agentSystemPromptContext.d.ts +1 -1
  18. package/dist/engine/agents/ops/agentSystemPromptContext.d.ts.map +1 -1
  19. package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.d.ts.map +1 -1
  20. package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.js +12 -1
  21. package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.js.map +1 -1
  22. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts.map +1 -1
  23. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js +0 -4
  24. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js.map +1 -1
  25. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts +2 -2
  26. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts.map +1 -1
  27. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js +12 -30
  28. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js.map +1 -1
  29. package/dist/engine/friends/nametagGenerate.d.ts +6 -0
  30. package/dist/engine/friends/nametagGenerate.d.ts.map +1 -0
  31. package/dist/engine/friends/nametagGenerate.js +9 -0
  32. package/dist/engine/friends/nametagGenerate.js.map +1 -0
  33. package/dist/engine/friends/nametagGenerate.spec.d.ts +2 -0
  34. package/dist/engine/friends/nametagGenerate.spec.d.ts.map +1 -0
  35. package/dist/engine/friends/nametagGenerate.spec.js +18 -0
  36. package/dist/engine/friends/nametagGenerate.spec.js.map +1 -0
  37. package/dist/engine/modules/rlm/rlmPromptSkills.spec.js +9 -9
  38. package/dist/engine/modules/rlm/rlmPromptSkills.spec.js.map +1 -1
  39. package/dist/engine/modules/tools/friendAddToolBuild.d.ts +2 -2
  40. package/dist/engine/modules/tools/friendAddToolBuild.d.ts.map +1 -1
  41. package/dist/engine/modules/tools/friendAddToolBuild.js +30 -33
  42. package/dist/engine/modules/tools/friendAddToolBuild.js.map +1 -1
  43. package/dist/engine/modules/tools/friendAddToolBuild.spec.js +19 -19
  44. package/dist/engine/modules/tools/friendRemoveToolBuild.d.ts +2 -2
  45. package/dist/engine/modules/tools/friendRemoveToolBuild.d.ts.map +1 -1
  46. package/dist/engine/modules/tools/friendRemoveToolBuild.js +32 -35
  47. package/dist/engine/modules/tools/friendRemoveToolBuild.js.map +1 -1
  48. package/dist/engine/modules/tools/friendRemoveToolBuild.spec.js +22 -22
  49. package/dist/engine/modules/tools/friendSendToolBuild.d.ts +1 -1
  50. package/dist/engine/modules/tools/friendSendToolBuild.d.ts.map +1 -1
  51. package/dist/engine/modules/tools/friendSendToolBuild.js +17 -20
  52. package/dist/engine/modules/tools/friendSendToolBuild.js.map +1 -1
  53. package/dist/engine/modules/tools/friendSendToolBuild.spec.js +14 -14
  54. package/dist/engine/modules/tools/friendShareSubuserToolBuild.d.ts +1 -1
  55. package/dist/engine/modules/tools/friendShareSubuserToolBuild.d.ts.map +1 -1
  56. package/dist/engine/modules/tools/friendShareSubuserToolBuild.js +20 -26
  57. package/dist/engine/modules/tools/friendShareSubuserToolBuild.js.map +1 -1
  58. package/dist/engine/modules/tools/friendShareSubuserToolBuild.spec.js +18 -18
  59. package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.d.ts.map +1 -1
  60. package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.js +16 -19
  61. package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.js.map +1 -1
  62. package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.spec.js +12 -12
  63. package/dist/engine/modules/tools/topologyToolBuild.js +5 -5
  64. package/dist/engine/modules/tools/topologyToolBuild.js.map +1 -1
  65. package/dist/engine/modules/tools/topologyToolBuild.spec.js +8 -8
  66. package/dist/plugins/dashboard/site/404.html +1 -1
  67. package/dist/plugins/dashboard/site/agent.html +1 -1
  68. package/dist/plugins/dashboard/site/agent.txt +1 -1
  69. package/dist/plugins/dashboard/site/agents.html +1 -1
  70. package/dist/plugins/dashboard/site/agents.txt +1 -1
  71. package/dist/plugins/dashboard/site/automations.html +1 -1
  72. package/dist/plugins/dashboard/site/automations.txt +1 -1
  73. package/dist/plugins/dashboard/site/connectors.html +1 -1
  74. package/dist/plugins/dashboard/site/connectors.txt +1 -1
  75. package/dist/plugins/dashboard/site/index.html +1 -1
  76. package/dist/plugins/dashboard/site/index.txt +1 -1
  77. package/dist/plugins/dashboard/site/memory.html +1 -1
  78. package/dist/plugins/dashboard/site/memory.txt +1 -1
  79. package/dist/plugins/dashboard/site/processes.html +1 -1
  80. package/dist/plugins/dashboard/site/processes.txt +1 -1
  81. package/dist/plugins/dashboard/site/providers.html +1 -1
  82. package/dist/plugins/dashboard/site/providers.txt +1 -1
  83. package/dist/plugins/dashboard/site/signals.html +1 -1
  84. package/dist/plugins/dashboard/site/signals.txt +1 -1
  85. package/dist/plugins/dashboard/site/telemetry.html +1 -1
  86. package/dist/plugins/dashboard/site/telemetry.txt +1 -1
  87. package/dist/plugins/dashboard/site/tools.html +1 -1
  88. package/dist/plugins/dashboard/site/tools.txt +1 -1
  89. package/dist/prompts/SYSTEM_ENVIRONMENT.md +6 -0
  90. package/dist/prompts/SYSTEM_MEMORY.md +4 -4
  91. package/dist/prompts/SYSTEM_PERMISSIONS.md +3 -19
  92. package/dist/sandbox/docker/dockerContainerEnsure.d.ts +8 -0
  93. package/dist/sandbox/docker/dockerContainerEnsure.d.ts.map +1 -0
  94. package/dist/sandbox/docker/dockerContainerEnsure.js +56 -0
  95. package/dist/sandbox/docker/dockerContainerEnsure.js.map +1 -0
  96. package/dist/sandbox/docker/dockerContainerEnsure.spec.d.ts +2 -0
  97. package/dist/sandbox/docker/dockerContainerEnsure.spec.d.ts.map +1 -0
  98. package/dist/sandbox/docker/dockerContainerEnsure.spec.js +66 -0
  99. package/dist/sandbox/docker/dockerContainerEnsure.spec.js.map +1 -0
  100. package/dist/sandbox/docker/dockerContainerExec.d.ts +8 -0
  101. package/dist/sandbox/docker/dockerContainerExec.d.ts.map +1 -0
  102. package/dist/sandbox/docker/dockerContainerExec.js +109 -0
  103. package/dist/sandbox/docker/dockerContainerExec.js.map +1 -0
  104. package/dist/sandbox/docker/dockerContainerExec.spec.d.ts +2 -0
  105. package/dist/sandbox/docker/dockerContainerExec.spec.d.ts.map +1 -0
  106. package/dist/sandbox/docker/dockerContainerExec.spec.js +75 -0
  107. package/dist/sandbox/docker/dockerContainerExec.spec.js.map +1 -0
  108. package/dist/sandbox/docker/dockerContainerNameBuild.d.ts +6 -0
  109. package/dist/sandbox/docker/dockerContainerNameBuild.d.ts.map +1 -0
  110. package/dist/sandbox/docker/dockerContainerNameBuild.js +15 -0
  111. package/dist/sandbox/docker/dockerContainerNameBuild.js.map +1 -0
  112. package/dist/sandbox/docker/dockerContainerNameBuild.spec.d.ts +2 -0
  113. package/dist/sandbox/docker/dockerContainerNameBuild.spec.d.ts.map +1 -0
  114. package/dist/sandbox/docker/dockerContainerNameBuild.spec.js +17 -0
  115. package/dist/sandbox/docker/dockerContainerNameBuild.spec.js.map +1 -0
  116. package/dist/sandbox/docker/dockerContainers.d.ts +13 -0
  117. package/dist/sandbox/docker/dockerContainers.d.ts.map +1 -0
  118. package/dist/sandbox/docker/dockerContainers.js +42 -0
  119. package/dist/sandbox/docker/dockerContainers.js.map +1 -0
  120. package/dist/sandbox/docker/dockerContainersShared.d.ts +3 -0
  121. package/dist/sandbox/docker/dockerContainersShared.d.ts.map +1 -0
  122. package/dist/sandbox/docker/dockerContainersShared.js +3 -0
  123. package/dist/sandbox/docker/dockerContainersShared.js.map +1 -0
  124. package/dist/sandbox/docker/dockerRunInSandbox.d.ts +19 -0
  125. package/dist/sandbox/docker/dockerRunInSandbox.d.ts.map +1 -0
  126. package/dist/sandbox/docker/dockerRunInSandbox.integration.spec.d.ts +2 -0
  127. package/dist/sandbox/docker/dockerRunInSandbox.integration.spec.d.ts.map +1 -0
  128. package/dist/sandbox/docker/dockerRunInSandbox.integration.spec.js +143 -0
  129. package/dist/sandbox/docker/dockerRunInSandbox.integration.spec.js.map +1 -0
  130. package/dist/sandbox/docker/dockerRunInSandbox.js +117 -0
  131. package/dist/sandbox/docker/dockerRunInSandbox.js.map +1 -0
  132. package/dist/sandbox/docker/dockerRunInSandbox.spec.d.ts +2 -0
  133. package/dist/sandbox/docker/dockerRunInSandbox.spec.d.ts.map +1 -0
  134. package/dist/sandbox/docker/dockerRunInSandbox.spec.js +127 -0
  135. package/dist/sandbox/docker/dockerRunInSandbox.spec.js.map +1 -0
  136. package/dist/sandbox/docker/dockerTypes.d.ts +23 -0
  137. package/dist/sandbox/docker/dockerTypes.d.ts.map +1 -0
  138. package/dist/sandbox/docker/dockerTypes.js +2 -0
  139. package/dist/sandbox/docker/dockerTypes.js.map +1 -0
  140. package/dist/sandbox/sandbox.d.ts +3 -1
  141. package/dist/sandbox/sandbox.d.ts.map +1 -1
  142. package/dist/sandbox/sandbox.js +42 -9
  143. package/dist/sandbox/sandbox.js.map +1 -1
  144. package/dist/sandbox/sandboxCanRead.d.ts.map +1 -1
  145. package/dist/sandbox/sandboxCanRead.js +8 -4
  146. package/dist/sandbox/sandboxCanRead.js.map +1 -1
  147. package/dist/sandbox/sandboxCanRead.spec.js +6 -4
  148. package/dist/sandbox/sandboxCanRead.spec.js.map +1 -1
  149. package/dist/sandbox/sandboxCanWrite.d.ts.map +1 -1
  150. package/dist/sandbox/sandboxCanWrite.js +25 -0
  151. package/dist/sandbox/sandboxCanWrite.js.map +1 -1
  152. package/dist/sandbox/sandboxCanWrite.spec.js +6 -1
  153. package/dist/sandbox/sandboxCanWrite.spec.js.map +1 -1
  154. package/dist/sandbox/sandboxDocker.spec.d.ts +2 -0
  155. package/dist/sandbox/sandboxDocker.spec.d.ts.map +1 -0
  156. package/dist/sandbox/sandboxDocker.spec.js +121 -0
  157. package/dist/sandbox/sandboxDocker.spec.js.map +1 -0
  158. package/dist/sandbox/sandboxPathContainerToHost.d.ts +6 -0
  159. package/dist/sandbox/sandboxPathContainerToHost.d.ts.map +1 -0
  160. package/dist/sandbox/sandboxPathContainerToHost.js +24 -0
  161. package/dist/sandbox/sandboxPathContainerToHost.js.map +1 -0
  162. package/dist/sandbox/sandboxPathContainerToHost.spec.d.ts +2 -0
  163. package/dist/sandbox/sandboxPathContainerToHost.spec.d.ts.map +1 -0
  164. package/dist/sandbox/sandboxPathContainerToHost.spec.js +25 -0
  165. package/dist/sandbox/sandboxPathContainerToHost.spec.js.map +1 -0
  166. package/dist/sandbox/sandboxPathHostToContainer.d.ts +6 -0
  167. package/dist/sandbox/sandboxPathHostToContainer.d.ts.map +1 -0
  168. package/dist/sandbox/sandboxPathHostToContainer.js +23 -0
  169. package/dist/sandbox/sandboxPathHostToContainer.js.map +1 -0
  170. package/dist/sandbox/sandboxPathHostToContainer.spec.d.ts +2 -0
  171. package/dist/sandbox/sandboxPathHostToContainer.spec.d.ts.map +1 -0
  172. package/dist/sandbox/sandboxPathHostToContainer.spec.js +32 -0
  173. package/dist/sandbox/sandboxPathHostToContainer.spec.js.map +1 -0
  174. package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.d.ts +11 -0
  175. package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.d.ts.map +1 -0
  176. package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.js +20 -0
  177. package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.js.map +1 -0
  178. package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.spec.d.ts +2 -0
  179. package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.spec.d.ts.map +1 -0
  180. package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.spec.js +20 -0
  181. package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.spec.js.map +1 -0
  182. package/dist/sandbox/sandboxTypes.d.ts +9 -0
  183. package/dist/sandbox/sandboxTypes.d.ts.map +1 -1
  184. package/dist/settings.d.ts +17 -1
  185. package/dist/settings.d.ts.map +1 -1
  186. package/dist/settings.js.map +1 -1
  187. package/dist/skills/daycare-friendship/SKILL.md +295 -0
  188. package/dist/skills/skills/daycare-friendship/SKILL.md +295 -0
  189. package/dist/storage/agentsRepository.spec.js +1 -1
  190. package/dist/storage/connectionsRepository.spec.js +19 -19
  191. package/dist/storage/databaseTypes.d.ts +3 -3
  192. package/dist/storage/databaseTypes.d.ts.map +1 -1
  193. package/dist/storage/migrations/20260225_require_usertag.d.ts +7 -0
  194. package/dist/storage/migrations/20260225_require_usertag.d.ts.map +1 -0
  195. package/dist/storage/migrations/20260225_require_usertag.js +60 -0
  196. package/dist/storage/migrations/20260225_require_usertag.js.map +1 -0
  197. package/dist/storage/migrations/20260225_require_usertag.spec.d.ts +2 -0
  198. package/dist/storage/migrations/20260225_require_usertag.spec.d.ts.map +1 -0
  199. package/dist/storage/migrations/20260225_require_usertag.spec.js +70 -0
  200. package/dist/storage/migrations/20260225_require_usertag.spec.js.map +1 -0
  201. package/dist/storage/migrations/20260226_rename_usertag_to_nametag.d.ts +7 -0
  202. package/dist/storage/migrations/20260226_rename_usertag_to_nametag.d.ts.map +1 -0
  203. package/dist/storage/migrations/20260226_rename_usertag_to_nametag.js +47 -0
  204. package/dist/storage/migrations/20260226_rename_usertag_to_nametag.js.map +1 -0
  205. package/dist/storage/migrations/20260226_rename_usertag_to_nametag.spec.d.ts +2 -0
  206. package/dist/storage/migrations/20260226_rename_usertag_to_nametag.spec.d.ts.map +1 -0
  207. package/dist/storage/migrations/20260226_rename_usertag_to_nametag.spec.js +59 -0
  208. package/dist/storage/migrations/20260226_rename_usertag_to_nametag.spec.js.map +1 -0
  209. package/dist/storage/migrations/_migrations.d.ts.map +1 -1
  210. package/dist/storage/migrations/_migrations.js +5 -1
  211. package/dist/storage/migrations/_migrations.js.map +1 -1
  212. package/dist/storage/storage.d.ts +1 -1
  213. package/dist/storage/storage.js +15 -15
  214. package/dist/storage/storage.js.map +1 -1
  215. package/dist/storage/storage.spec.js +1 -1
  216. package/dist/storage/storage.spec.js.map +1 -1
  217. package/dist/storage/usersRepository.d.ts +2 -2
  218. package/dist/storage/usersRepository.d.ts.map +1 -1
  219. package/dist/storage/usersRepository.js +40 -21
  220. package/dist/storage/usersRepository.js.map +1 -1
  221. package/dist/storage/usersRepository.spec.js +8 -8
  222. package/package.json +6 -3
  223. package/dist/engine/friends/usertagGenerate.d.ts +0 -6
  224. package/dist/engine/friends/usertagGenerate.d.ts.map +0 -1
  225. package/dist/engine/friends/usertagGenerate.js +0 -311
  226. package/dist/engine/friends/usertagGenerate.js.map +0 -1
  227. package/dist/engine/friends/usertagGenerate.spec.d.ts +0 -2
  228. package/dist/engine/friends/usertagGenerate.spec.d.ts.map +0 -1
  229. package/dist/engine/friends/usertagGenerate.spec.js +0 -13
  230. package/dist/engine/friends/usertagGenerate.spec.js.map +0 -1
  231. /package/dist/plugins/dashboard/site/_next/static/{Hr0soHgJ1L7WevXil6GIk → fEfvfa55gmpjx9cT66rjx}/_buildManifest.js +0 -0
  232. /package/dist/plugins/dashboard/site/_next/static/{Hr0soHgJ1L7WevXil6GIk → fEfvfa55gmpjx9cT66rjx}/_ssgManifest.js +0 -0
@@ -4,8 +4,8 @@ describe("ConnectionsRepository", () => {
4
4
  it("upserts requests with canonical pair ordering", async () => {
5
5
  const storage = Storage.open(":memory:");
6
6
  try {
7
- const alice = await storage.users.create({ id: "alice", usertag: "alice-tag-42" });
8
- const bob = await storage.users.create({ id: "bob", usertag: "bob-tag-42" });
7
+ const alice = await storage.users.create({ id: "alice", nametag: "alice-tag-42" });
8
+ const bob = await storage.users.create({ id: "bob", nametag: "bob-tag-42" });
9
9
  const created = await storage.connections.upsertRequest(alice.id, bob.id, 100);
10
10
  expect(created.userAId).toBe("alice");
11
11
  expect(created.userBId).toBe("bob");
@@ -26,8 +26,8 @@ describe("ConnectionsRepository", () => {
26
26
  it("clears the selected side and preserves timestamps for cooldown checks", async () => {
27
27
  const storage = Storage.open(":memory:");
28
28
  try {
29
- await storage.users.create({ id: "alice", usertag: "alice-tag-42" });
30
- await storage.users.create({ id: "bob", usertag: "bob-tag-42" });
29
+ await storage.users.create({ id: "alice", nametag: "alice-tag-42" });
30
+ await storage.users.create({ id: "bob", nametag: "bob-tag-42" });
31
31
  await storage.connections.upsertRequest("alice", "bob", 100);
32
32
  await storage.connections.upsertRequest("bob", "alice", 200);
33
33
  const cleared = await storage.connections.clearSide("alice", "bob");
@@ -43,9 +43,9 @@ describe("ConnectionsRepository", () => {
43
43
  it("finds friendships scoped to a user and deletes connection rows", async () => {
44
44
  const storage = Storage.open(":memory:");
45
45
  try {
46
- await storage.users.create({ id: "alice", usertag: "alice-tag-42" });
47
- await storage.users.create({ id: "bob", usertag: "bob-tag-42" });
48
- await storage.users.create({ id: "charlie", usertag: "charlie-tag-42" });
46
+ await storage.users.create({ id: "alice", nametag: "alice-tag-42" });
47
+ await storage.users.create({ id: "bob", nametag: "bob-tag-42" });
48
+ await storage.users.create({ id: "charlie", nametag: "charlie-tag-42" });
49
49
  await storage.connections.upsertRequest("alice", "bob", 100);
50
50
  await storage.connections.upsertRequest("bob", "alice", 200);
51
51
  await storage.connections.upsertRequest("charlie", "alice", 300);
@@ -64,12 +64,12 @@ describe("ConnectionsRepository", () => {
64
64
  it("finds all connections that involve subusers of an owner", async () => {
65
65
  const storage = Storage.open(":memory:");
66
66
  try {
67
- await storage.users.create({ id: "alice", usertag: "alice-tag-42" });
68
- await storage.users.create({ id: "bob", usertag: "bob-tag-42" });
69
- await storage.users.create({ id: "charlie", usertag: "charlie-tag-42" });
70
- await storage.users.create({ id: "alice-sub-1", parentUserId: "alice", usertag: "alice-sub-1-tag-42" });
71
- await storage.users.create({ id: "alice-sub-2", parentUserId: "alice", usertag: "alice-sub-2-tag-42" });
72
- await storage.users.create({ id: "bob-sub-1", parentUserId: "bob", usertag: "bob-sub-1-tag-42" });
67
+ await storage.users.create({ id: "alice", nametag: "alice-tag-42" });
68
+ await storage.users.create({ id: "bob", nametag: "bob-tag-42" });
69
+ await storage.users.create({ id: "charlie", nametag: "charlie-tag-42" });
70
+ await storage.users.create({ id: "alice-sub-1", parentUserId: "alice", nametag: "alice-sub-1-tag-42" });
71
+ await storage.users.create({ id: "alice-sub-2", parentUserId: "alice", nametag: "alice-sub-2-tag-42" });
72
+ await storage.users.create({ id: "bob-sub-1", parentUserId: "bob", nametag: "bob-sub-1-tag-42" });
73
73
  await storage.connections.upsertRequest("alice-sub-1", "bob", 100);
74
74
  await storage.connections.upsertRequest("alice-sub-2", "bob", 200);
75
75
  await storage.connections.upsertRequest("charlie", "alice-sub-1", 300);
@@ -89,15 +89,15 @@ describe("ConnectionsRepository", () => {
89
89
  it("finds connections between a friend and another owner's subusers", async () => {
90
90
  const storage = Storage.open(":memory:");
91
91
  try {
92
- await storage.users.create({ id: "alice", usertag: "alice-tag-42" });
93
- await storage.users.create({ id: "bob", usertag: "bob-tag-42" });
94
- await storage.users.create({ id: "charlie", usertag: "charlie-tag-42" });
95
- await storage.users.create({ id: "alice-sub-1", parentUserId: "alice", usertag: "alice-sub-1-tag-42" });
96
- await storage.users.create({ id: "alice-sub-2", parentUserId: "alice", usertag: "alice-sub-2-tag-42" });
92
+ await storage.users.create({ id: "alice", nametag: "alice-tag-42" });
93
+ await storage.users.create({ id: "bob", nametag: "bob-tag-42" });
94
+ await storage.users.create({ id: "charlie", nametag: "charlie-tag-42" });
95
+ await storage.users.create({ id: "alice-sub-1", parentUserId: "alice", nametag: "alice-sub-1-tag-42" });
96
+ await storage.users.create({ id: "alice-sub-2", parentUserId: "alice", nametag: "alice-sub-2-tag-42" });
97
97
  await storage.users.create({
98
98
  id: "charlie-sub-1",
99
99
  parentUserId: "charlie",
100
- usertag: "charlie-sub-1-tag-42"
100
+ nametag: "charlie-sub-1-tag-42"
101
101
  });
102
102
  await storage.connections.upsertRequest("alice-sub-1", "bob", 100);
103
103
  await storage.connections.upsertRequest("alice-sub-2", "bob", 200);
@@ -298,7 +298,7 @@ export type DatabaseUserRow = {
298
298
  is_owner: number;
299
299
  parent_user_id: string | null;
300
300
  name: string | null;
301
- usertag: string | null;
301
+ nametag: string;
302
302
  created_at: number;
303
303
  updated_at: number;
304
304
  };
@@ -312,7 +312,7 @@ export type UserDbRecord = {
312
312
  isOwner: boolean;
313
313
  parentUserId: string | null;
314
314
  name: string | null;
315
- usertag: string | null;
315
+ nametag: string;
316
316
  createdAt: number;
317
317
  updatedAt: number;
318
318
  };
@@ -355,7 +355,7 @@ export type CreateUserInput = {
355
355
  isOwner?: boolean;
356
356
  parentUserId?: string;
357
357
  name?: string;
358
- usertag?: string;
358
+ nametag?: string;
359
359
  createdAt?: number;
360
360
  updatedAt?: number;
361
361
  connectorKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"databaseTypes.d.ts","sourceRoot":"","sources":["../../sources/storage/databaseTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,kBAAkB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,kBAAkB,CAAC;IAChC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,YAAY,GAAG;IACvD,aAAa,EAAE,wBAAwB,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;CACjD,CAAC"}
1
+ {"version":3,"file":"databaseTypes.d.ts","sourceRoot":"","sources":["../../sources/storage/databaseTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Migration } from "./migrationTypes.js";
2
+ /**
3
+ * Backfills usertags for legacy users and enforces non-empty usertags at the DB layer.
4
+ * Expects: users.usertag column already exists.
5
+ */
6
+ export declare const migration20260225RequireUsertag: Migration;
7
+ //# sourceMappingURL=20260225_require_usertag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260225_require_usertag.d.ts","sourceRoot":"","sources":["../../../sources/storage/migrations/20260225_require_usertag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EAAE,SAgE7C,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { nametagGenerate } from "../../engine/friends/nametagGenerate.js";
2
+ /**
3
+ * Backfills usertags for legacy users and enforces non-empty usertags at the DB layer.
4
+ * Expects: users.usertag column already exists.
5
+ */
6
+ export const migration20260225RequireUsertag = {
7
+ name: "20260225_require_usertag",
8
+ up(db) {
9
+ const userColumns = db.prepare("PRAGMA table_info(users)").all();
10
+ if (userColumns.length === 0) {
11
+ return;
12
+ }
13
+ const hasUsertag = userColumns.some((column) => column.name === "usertag");
14
+ if (!hasUsertag) {
15
+ return;
16
+ }
17
+ const existingTags = new Set(db
18
+ .prepare("SELECT usertag FROM users WHERE usertag IS NOT NULL AND trim(usertag) <> ''")
19
+ .all().map((row) => row.usertag));
20
+ const usersMissingTags = db
21
+ .prepare("SELECT id FROM users WHERE usertag IS NULL OR trim(usertag) = '' ORDER BY created_at ASC, id ASC")
22
+ .all();
23
+ for (const user of usersMissingTags) {
24
+ let nextTag = "";
25
+ for (let attempt = 0; attempt < 1_000; attempt += 1) {
26
+ const candidate = nametagGenerate();
27
+ if (existingTags.has(candidate)) {
28
+ continue;
29
+ }
30
+ nextTag = candidate;
31
+ break;
32
+ }
33
+ if (!nextTag) {
34
+ throw new Error(`Failed to build unique usertag for user: ${user.id}`);
35
+ }
36
+ db.prepare("UPDATE users SET usertag = ? WHERE id = ?").run(nextTag, user.id);
37
+ existingTags.add(nextTag);
38
+ }
39
+ db.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_users_usertag_required ON users(usertag)");
40
+ db.exec(`
41
+ CREATE TRIGGER IF NOT EXISTS trg_users_usertag_required_insert
42
+ BEFORE INSERT ON users
43
+ FOR EACH ROW
44
+ WHEN NEW.usertag IS NULL OR trim(NEW.usertag) = ''
45
+ BEGIN
46
+ SELECT RAISE(ABORT, 'users.usertag is required');
47
+ END;
48
+ `);
49
+ db.exec(`
50
+ CREATE TRIGGER IF NOT EXISTS trg_users_usertag_required_update
51
+ BEFORE UPDATE OF usertag ON users
52
+ FOR EACH ROW
53
+ WHEN NEW.usertag IS NULL OR trim(NEW.usertag) = ''
54
+ BEGIN
55
+ SELECT RAISE(ABORT, 'users.usertag is required');
56
+ END;
57
+ `);
58
+ }
59
+ };
60
+ //# sourceMappingURL=20260225_require_usertag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260225_require_usertag.js","sourceRoot":"","sources":["../../../sources/storage/migrations/20260225_require_usertag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAG1E;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAc;IACtD,IAAI,EAAE,0BAA0B;IAChC,EAAE,CAAC,EAAE;QACD,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAA6B,CAAC;QAC5F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACX,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAEpB,EAAE;aACG,OAAO,CAAC,6EAA6E,CAAC;aACtF,GAAG,EAGX,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAC9B,CAAC;QACF,MAAM,gBAAgB,GAAG,EAAE;aACtB,OAAO,CAAC,kGAAkG,CAAC;aAC3G,GAAG,EAA2B,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YAClC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;gBACpC,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9B,SAAS;gBACb,CAAC;gBACD,OAAO,GAAG,SAAS,CAAC;gBACpB,MAAM;YACV,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAED,EAAE,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAE1F,EAAE,CAAC,IAAI,CAAC;;;;;;;;SAQP,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC;;;;;;;;SAQP,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=20260225_require_usertag.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260225_require_usertag.spec.d.ts","sourceRoot":"","sources":["../../../sources/storage/migrations/20260225_require_usertag.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,70 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { databaseOpen } from "../databaseOpen.js";
3
+ import { migration20260220AddUsers } from "./20260220_add_users.js";
4
+ import { migration20260222AddUsertagConnections } from "./20260222_add_usertag_connections.js";
5
+ import { migration20260225RequireUsertag } from "./20260225_require_usertag.js";
6
+ describe("migration20260225RequireUsertag", () => {
7
+ it("backfills empty usertags and enforces required usertags in DB", () => {
8
+ const db = databaseOpen(":memory:");
9
+ try {
10
+ migration20260220AddUsers.up(db);
11
+ migration20260222AddUsertagConnections.up(db);
12
+ db.prepare("INSERT INTO users (id, is_owner, created_at, updated_at) VALUES (?, ?, ?, ?)").run("legacy-a", 0, 1, 1);
13
+ db.prepare("INSERT INTO users (id, is_owner, usertag, created_at, updated_at) VALUES (?, ?, ?, ?, ?)").run("legacy-b", 0, "", 2, 2);
14
+ db.prepare("INSERT INTO users (id, is_owner, usertag, created_at, updated_at) VALUES (?, ?, ?, ?, ?)").run("legacy-c", 0, "steady-falcon-44", 3, 3);
15
+ migration20260225RequireUsertag.up(db);
16
+ const rows = db.prepare("SELECT id, usertag FROM users ORDER BY id ASC").all();
17
+ for (const row of rows) {
18
+ expect(row.usertag).not.toBeNull();
19
+ expect((row.usertag ?? "").trim()).not.toBe("");
20
+ }
21
+ const legacyA = rows.find((row) => row.id === "legacy-a");
22
+ const legacyB = rows.find((row) => row.id === "legacy-b");
23
+ expect((legacyA?.usertag ?? "").trim()).not.toBe("");
24
+ expect((legacyB?.usertag ?? "").trim()).not.toBe("");
25
+ const indexes = db.prepare("PRAGMA index_list(users)").all();
26
+ expect(indexes.map((index) => index.name)).toContain("idx_users_usertag_required");
27
+ expect(() => db
28
+ .prepare("INSERT INTO users (id, is_owner, created_at, updated_at) VALUES (?, ?, ?, ?)")
29
+ .run("no-tag", 0, 4, 4)).toThrow("users.usertag is required");
30
+ expect(() => db.prepare("UPDATE users SET usertag = NULL WHERE id = ?").run("legacy-a")).toThrow("users.usertag is required");
31
+ }
32
+ finally {
33
+ db.close();
34
+ }
35
+ });
36
+ it("assigns generated usertags for legacy users", () => {
37
+ const db = databaseOpen(":memory:");
38
+ try {
39
+ migration20260220AddUsers.up(db);
40
+ migration20260222AddUsertagConnections.up(db);
41
+ db.prepare("INSERT INTO users (id, is_owner, usertag, created_at, updated_at) VALUES (?, ?, ?, ?, ?)").run("owner", 1, "ownerseed123", 1, 1);
42
+ db.prepare("INSERT INTO users (id, is_owner, created_at, updated_at) VALUES (?, ?, ?, ?)").run("alpha", 0, 2, 2);
43
+ migration20260225RequireUsertag.up(db);
44
+ const alpha = db.prepare("SELECT usertag FROM users WHERE id = ? LIMIT 1").get("alpha");
45
+ expect(alpha?.usertag).toBeTruthy();
46
+ expect((alpha?.usertag ?? "").trim()).not.toBe("");
47
+ expect(alpha?.usertag).not.toBe("ownerseed123");
48
+ }
49
+ finally {
50
+ db.close();
51
+ }
52
+ });
53
+ it("is idempotent", () => {
54
+ const db = databaseOpen(":memory:");
55
+ try {
56
+ migration20260220AddUsers.up(db);
57
+ migration20260222AddUsertagConnections.up(db);
58
+ db.prepare("INSERT INTO users (id, is_owner, created_at, updated_at) VALUES (?, ?, ?, ?)").run("legacy-a", 0, 1, 1);
59
+ migration20260225RequireUsertag.up(db);
60
+ const before = db.prepare("SELECT id, usertag FROM users ORDER BY id ASC").all();
61
+ migration20260225RequireUsertag.up(db);
62
+ const after = db.prepare("SELECT id, usertag FROM users ORDER BY id ASC").all();
63
+ expect(after).toEqual(before);
64
+ }
65
+ finally {
66
+ db.close();
67
+ }
68
+ });
69
+ });
70
+ //# sourceMappingURL=20260225_require_usertag.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260225_require_usertag.spec.js","sourceRoot":"","sources":["../../../sources/storage/migrations/20260225_require_usertag.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Migration } from "./migrationTypes.js";
2
+ /**
3
+ * Renames the users.usertag column to users.nametag and recreates indexes/triggers.
4
+ * Expects: users table with usertag column from prior migrations.
5
+ */
6
+ export declare const migration20260226RenameUsertagToNametag: Migration;
7
+ //# sourceMappingURL=20260226_rename_usertag_to_nametag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260226_rename_usertag_to_nametag.d.ts","sourceRoot":"","sources":["../../../sources/storage/migrations/20260226_rename_usertag_to_nametag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,uCAAuC,EAAE,SAgDrD,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Renames the users.usertag column to users.nametag and recreates indexes/triggers.
3
+ * Expects: users table with usertag column from prior migrations.
4
+ */
5
+ export const migration20260226RenameUsertagToNametag = {
6
+ name: "20260226_rename_usertag_to_nametag",
7
+ up(db) {
8
+ const userColumns = db.prepare("PRAGMA table_info(users)").all();
9
+ if (userColumns.length === 0) {
10
+ return;
11
+ }
12
+ const hasUsertag = userColumns.some((column) => column.name === "usertag");
13
+ const hasNametag = userColumns.some((column) => column.name === "nametag");
14
+ if (hasUsertag && !hasNametag) {
15
+ db.exec("ALTER TABLE users RENAME COLUMN usertag TO nametag");
16
+ }
17
+ // Drop old indexes (may not exist on fresh DBs that already have nametag)
18
+ db.exec("DROP INDEX IF EXISTS idx_users_usertag");
19
+ db.exec("DROP INDEX IF EXISTS idx_users_usertag_required");
20
+ // Create new indexes
21
+ db.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_users_nametag ON users(nametag) WHERE nametag IS NOT NULL");
22
+ db.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_users_nametag_required ON users(nametag)");
23
+ // Drop old triggers
24
+ db.exec("DROP TRIGGER IF EXISTS trg_users_usertag_required_insert");
25
+ db.exec("DROP TRIGGER IF EXISTS trg_users_usertag_required_update");
26
+ // Create new triggers referencing nametag
27
+ db.exec(`
28
+ CREATE TRIGGER IF NOT EXISTS trg_users_nametag_required_insert
29
+ BEFORE INSERT ON users
30
+ FOR EACH ROW
31
+ WHEN NEW.nametag IS NULL OR trim(NEW.nametag) = ''
32
+ BEGIN
33
+ SELECT RAISE(ABORT, 'users.nametag is required');
34
+ END;
35
+ `);
36
+ db.exec(`
37
+ CREATE TRIGGER IF NOT EXISTS trg_users_nametag_required_update
38
+ BEFORE UPDATE OF nametag ON users
39
+ FOR EACH ROW
40
+ WHEN NEW.nametag IS NULL OR trim(NEW.nametag) = ''
41
+ BEGIN
42
+ SELECT RAISE(ABORT, 'users.nametag is required');
43
+ END;
44
+ `);
45
+ }
46
+ };
47
+ //# sourceMappingURL=20260226_rename_usertag_to_nametag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260226_rename_usertag_to_nametag.js","sourceRoot":"","sources":["../../../sources/storage/migrations/20260226_rename_usertag_to_nametag.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAc;IAC9D,IAAI,EAAE,oCAAoC;IAC1C,EAAE,CAAC,EAAE;QACD,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAA6B,CAAC;QAC5F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3E,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAClE,CAAC;QAED,0EAA0E;QAC1E,EAAE,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAClD,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAE3D,qBAAqB;QACrB,EAAE,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;QAC3G,EAAE,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAE1F,oBAAoB;QACpB,EAAE,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACpE,EAAE,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QAEpE,0CAA0C;QAC1C,EAAE,CAAC,IAAI,CAAC;;;;;;;;SAQP,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC;;;;;;;;SAQP,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=20260226_rename_usertag_to_nametag.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260226_rename_usertag_to_nametag.spec.d.ts","sourceRoot":"","sources":["../../../sources/storage/migrations/20260226_rename_usertag_to_nametag.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { databaseOpen } from "../databaseOpen.js";
3
+ import { migration20260220AddUsers } from "./20260220_add_users.js";
4
+ import { migration20260222AddUsertagConnections } from "./20260222_add_usertag_connections.js";
5
+ import { migration20260225RequireUsertag } from "./20260225_require_usertag.js";
6
+ import { migration20260226RenameUsertagToNametag } from "./20260226_rename_usertag_to_nametag.js";
7
+ describe("migration20260226RenameUsertagToNametag", () => {
8
+ it("renames usertag column to nametag and recreates indexes/triggers", () => {
9
+ const db = databaseOpen(":memory:");
10
+ try {
11
+ migration20260220AddUsers.up(db);
12
+ migration20260222AddUsertagConnections.up(db);
13
+ db.prepare("INSERT INTO users (id, is_owner, usertag, created_at, updated_at) VALUES (?, ?, ?, ?, ?)").run("user-a", 1, "swift-fox-42", 1, 1);
14
+ migration20260225RequireUsertag.up(db);
15
+ migration20260226RenameUsertagToNametag.up(db);
16
+ // Column renamed
17
+ const columns = db.prepare("PRAGMA table_info(users)").all();
18
+ const columnNames = columns.map((c) => c.name);
19
+ expect(columnNames).toContain("nametag");
20
+ expect(columnNames).not.toContain("usertag");
21
+ // Data preserved
22
+ const row = db.prepare("SELECT nametag FROM users WHERE id = ?").get("user-a");
23
+ expect(row.nametag).toBe("swift-fox-42");
24
+ // New indexes exist
25
+ const indexes = db.prepare("PRAGMA index_list(users)").all();
26
+ const indexNames = indexes.map((i) => i.name);
27
+ expect(indexNames).toContain("idx_users_nametag");
28
+ expect(indexNames).toContain("idx_users_nametag_required");
29
+ expect(indexNames).not.toContain("idx_users_usertag");
30
+ expect(indexNames).not.toContain("idx_users_usertag_required");
31
+ // Triggers enforce non-null nametag
32
+ expect(() => db
33
+ .prepare("INSERT INTO users (id, is_owner, created_at, updated_at) VALUES (?, ?, ?, ?)")
34
+ .run("no-tag", 0, 4, 4)).toThrow("users.nametag is required");
35
+ expect(() => db.prepare("UPDATE users SET nametag = NULL WHERE id = ?").run("user-a")).toThrow("users.nametag is required");
36
+ }
37
+ finally {
38
+ db.close();
39
+ }
40
+ });
41
+ it("is idempotent", () => {
42
+ const db = databaseOpen(":memory:");
43
+ try {
44
+ migration20260220AddUsers.up(db);
45
+ migration20260222AddUsertagConnections.up(db);
46
+ db.prepare("INSERT INTO users (id, is_owner, usertag, created_at, updated_at) VALUES (?, ?, ?, ?, ?)").run("user-a", 1, "swift-fox-42", 1, 1);
47
+ migration20260225RequireUsertag.up(db);
48
+ migration20260226RenameUsertagToNametag.up(db);
49
+ const before = db.prepare("SELECT id, nametag FROM users ORDER BY id ASC").all();
50
+ migration20260226RenameUsertagToNametag.up(db);
51
+ const after = db.prepare("SELECT id, nametag FROM users ORDER BY id ASC").all();
52
+ expect(after).toEqual(before);
53
+ }
54
+ finally {
55
+ db.close();
56
+ }
57
+ });
58
+ });
59
+ //# sourceMappingURL=20260226_rename_usertag_to_nametag.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260226_rename_usertag_to_nametag.spec.js","sourceRoot":"","sources":["../../../sources/storage/migrations/20260226_rename_usertag_to_nametag.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"_migrations.d.ts","sourceRoot":"","sources":["../../../sources/storage/migrations/_migrations.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAO,MAAM,UAAU,EAAE,SAAS,EAuBjC,CAAC"}
1
+ {"version":3,"file":"_migrations.d.ts","sourceRoot":"","sources":["../../../sources/storage/migrations/_migrations.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAO,MAAM,UAAU,EAAE,SAAS,EAyBjC,CAAC"}
@@ -20,6 +20,8 @@ import { migration20260222ImportSignals } from "./20260222_import_signals.js";
20
20
  import { migration20260222SessionEndedAt } from "./20260222_session_ended_at.js";
21
21
  import { migration20260223AddHeartbeatUsers } from "./20260223_add_heartbeat_users.js";
22
22
  import { migration20260224AddMemoryColumns } from "./20260224_add_memory_columns.js";
23
+ import { migration20260225RequireUsertag } from "./20260225_require_usertag.js";
24
+ import { migration20260226RenameUsertagToNametag } from "./20260226_rename_usertag_to_nametag.js";
23
25
  export const migrations = [
24
26
  migration20260219Initial,
25
27
  migration20260219ImportFiles,
@@ -42,6 +44,8 @@ export const migrations = [
42
44
  migration20260224AddMemoryColumns,
43
45
  migration20260222SessionEndedAt,
44
46
  migration20260222AddUserParent,
45
- migration20260222AddUsertagConnections
47
+ migration20260222AddUsertagConnections,
48
+ migration20260225RequireUsertag,
49
+ migration20260226RenameUsertagToNametag
46
50
  ];
47
51
  //# sourceMappingURL=_migrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_migrations.js","sourceRoot":"","sources":["../../../sources/storage/migrations/_migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AAGrF,MAAM,CAAC,MAAM,UAAU,GAAgB;IACnC,wBAAwB;IACxB,4BAA4B;IAC5B,yBAAyB;IACzB,+BAA+B;IAC/B,yBAAyB;IACzB,4BAA4B;IAC5B,gCAAgC;IAChC,kCAAkC;IAClC,yBAAyB;IACzB,2BAA2B;IAC3B,8BAA8B;IAC9B,4BAA4B;IAC5B,+BAA+B;IAC/B,0BAA0B;IAC1B,6BAA6B;IAC7B,6BAA6B;IAC7B,gCAAgC;IAChC,kCAAkC;IAClC,iCAAiC;IACjC,+BAA+B;IAC/B,8BAA8B;IAC9B,sCAAsC;CACzC,CAAC"}
1
+ {"version":3,"file":"_migrations.js","sourceRoot":"","sources":["../../../sources/storage/migrations/_migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAGlG,MAAM,CAAC,MAAM,UAAU,GAAgB;IACnC,wBAAwB;IACxB,4BAA4B;IAC5B,yBAAyB;IACzB,+BAA+B;IAC/B,yBAAyB;IACzB,4BAA4B;IAC5B,gCAAgC;IAChC,kCAAkC;IAClC,yBAAyB;IACzB,2BAA2B;IAC3B,8BAA8B;IAC9B,4BAA4B;IAC5B,+BAA+B;IAC/B,0BAA0B;IAC1B,6BAA6B;IAC7B,6BAA6B;IAC7B,gCAAgC;IAChC,kCAAkC;IAClC,iCAAiC;IACjC,+BAA+B;IAC/B,8BAA8B;IAC9B,sCAAsC;IACtC,+BAA+B;IAC/B,uCAAuC;CAC1C,CAAC"}
@@ -50,6 +50,6 @@ export declare class Storage {
50
50
  }>;
51
51
  appendHistory(agentId: string, record: AgentHistoryRecord): Promise<void>;
52
52
  private connectorKeyLockFor;
53
- private userCreateWithGeneratedUsertag;
53
+ private userCreateWithGeneratedNametag;
54
54
  }
55
55
  //# sourceMappingURL=storage.d.ts.map
@@ -1,4 +1,4 @@
1
- import { usertagGenerate } from "../engine/friends/usertagGenerate.js";
1
+ import { nametagGenerate } from "../engine/friends/nametagGenerate.js";
2
2
  import { AsyncLock } from "../util/lock.js";
3
3
  import { AgentsRepository } from "./agentsRepository.js";
4
4
  import { ChannelMessagesRepository } from "./channelMessagesRepository.js";
@@ -69,11 +69,11 @@ export class Storage {
69
69
  this.connection.close();
70
70
  }
71
71
  async createUser(input) {
72
- const normalizedUsertag = input.usertag?.trim() ?? "";
73
- if (normalizedUsertag) {
74
- return this.users.create({ ...input, usertag: normalizedUsertag });
72
+ const normalizedNametag = input.nametag?.trim() ?? "";
73
+ if (normalizedNametag) {
74
+ return this.users.create({ ...input, nametag: normalizedNametag });
75
75
  }
76
- return this.userCreateWithGeneratedUsertag(input);
76
+ return this.userCreateWithGeneratedNametag(input);
77
77
  }
78
78
  async resolveUserByConnectorKey(connectorKey) {
79
79
  const normalized = connectorKey.trim();
@@ -88,7 +88,7 @@ export class Storage {
88
88
  }
89
89
  const users = await this.users.findMany();
90
90
  try {
91
- return await this.userCreateWithGeneratedUsertag({
91
+ return await this.userCreateWithGeneratedNametag({
92
92
  isOwner: users.length === 0,
93
93
  connectorKey: normalized
94
94
  });
@@ -162,30 +162,30 @@ export class Storage {
162
162
  this.connectorKeyLocks.set(connectorKey, lock);
163
163
  return lock;
164
164
  }
165
- async userCreateWithGeneratedUsertag(input) {
166
- const MAX_USER_TAG_ATTEMPTS = 100;
167
- for (let attempt = 0; attempt < MAX_USER_TAG_ATTEMPTS; attempt += 1) {
168
- const usertag = usertagGenerate();
165
+ async userCreateWithGeneratedNametag(input) {
166
+ const MAX_NAMETAG_ATTEMPTS = 100;
167
+ for (let attempt = 0; attempt < MAX_NAMETAG_ATTEMPTS; attempt += 1) {
168
+ const nametag = nametagGenerate();
169
169
  try {
170
- return await this.users.create({ ...input, usertag });
170
+ return await this.users.create({ ...input, nametag });
171
171
  }
172
172
  catch (error) {
173
- if (sqliteUniqueConstraintOnUsertagIs(error)) {
173
+ if (sqliteUniqueConstraintOnNametagIs(error)) {
174
174
  continue;
175
175
  }
176
176
  throw error;
177
177
  }
178
178
  }
179
- throw new Error("Failed to generate unique usertag after 100 attempts.");
179
+ throw new Error("Failed to generate unique nametag after 100 attempts.");
180
180
  }
181
181
  }
182
182
  function sqliteUniqueConstraintErrorIs(error) {
183
183
  const message = error instanceof Error ? error.message : String(error ?? "");
184
184
  return message.includes("UNIQUE constraint failed");
185
185
  }
186
- function sqliteUniqueConstraintOnUsertagIs(error) {
186
+ function sqliteUniqueConstraintOnNametagIs(error) {
187
187
  const message = error instanceof Error ? error.message : String(error ?? "");
188
- return message.includes("UNIQUE constraint failed: users.usertag");
188
+ return message.includes("UNIQUE constraint failed: users.nametag");
189
189
  }
190
190
  function sqliteUniqueConstraintOnConnectorKeyIs(error) {
191
191
  const message = error instanceof Error ? error.message : String(error ?? "");
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../sources/storage/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../sources/storage/storage.ts"],"names":[],"mappings":"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"}