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
@@ -1,53 +1,50 @@
1
1
  import { Type } from "@sinclair/typebox";
2
2
  import { messageBuildSystemText } from "../../messages/messageBuildSystemText.js";
3
3
  const schema = Type.Object({
4
- usertag: Type.String({ minLength: 1 })
4
+ nametag: Type.String({ minLength: 1 })
5
5
  }, { additionalProperties: false });
6
6
  const resultSchema = Type.Object({
7
7
  summary: Type.String(),
8
8
  status: Type.String(),
9
- usertag: Type.String()
9
+ nametag: Type.String()
10
10
  }, { additionalProperties: false });
11
11
  const returns = {
12
12
  schema: resultSchema,
13
13
  toLLMText: (result) => result.summary
14
14
  };
15
15
  /**
16
- * Removes, rejects, or cancels a friend relationship by usertag.
17
- * Expects: caller is a frontend user with a generated usertag.
16
+ * Removes, rejects, or cancels a friend relationship by nametag.
17
+ * Expects: caller is a frontend user with a generated nametag.
18
18
  */
19
19
  export function friendRemoveToolBuild() {
20
20
  return {
21
21
  tool: {
22
22
  name: "friend_remove",
23
- description: "Unfriend, reject a request, or cancel a pending request by usertag.",
23
+ description: "Unfriend, reject a request, or cancel a pending request by nametag.",
24
24
  parameters: schema
25
25
  },
26
26
  returns,
27
27
  visibleByDefault: (context) => context.descriptor.type === "user",
28
28
  execute: async (args, toolContext, toolCall) => {
29
29
  const payload = args;
30
- const targetUsertag = usertagNormalize(payload.usertag);
30
+ const targetNametag = nametagNormalize(payload.nametag);
31
31
  const users = toolContext.agentSystem.storage.users;
32
32
  const connections = toolContext.agentSystem.storage.connections;
33
33
  const me = await users.findById(toolContext.ctx.userId);
34
34
  if (!me) {
35
35
  throw new Error("Current user not found.");
36
36
  }
37
- const myUsertag = me.usertag?.trim() ?? "";
38
- if (!myUsertag) {
39
- throw new Error("Current user does not have a usertag.");
40
- }
41
- const target = await users.findByUsertag(targetUsertag);
37
+ const myNametag = me.nametag;
38
+ const target = await users.findByNametag(targetNametag);
42
39
  if (!target) {
43
- throw new Error(`User not found for usertag: ${targetUsertag}`);
40
+ throw new Error(`User not found for nametag: ${targetNametag}`);
44
41
  }
45
42
  if (target.id === me.id) {
46
43
  throw new Error("Cannot remove yourself.");
47
44
  }
48
45
  const connection = await connections.find(me.id, target.id);
49
46
  if (!connection) {
50
- throw new Error(`No relationship with ${targetUsertag}.`);
47
+ throw new Error(`No relationship with ${targetNametag}.`);
51
48
  }
52
49
  const state = sideStateForUser(connection, me.id);
53
50
  if (target.parentUserId) {
@@ -56,62 +53,62 @@ export function friendRemoveToolBuild() {
56
53
  await connectionDeleteIfEmpty(connections, target.id, me.id, updated);
57
54
  const owner = await users.findById(target.parentUserId);
58
55
  if (owner) {
59
- const origin = `friend:${myUsertag}`;
56
+ const origin = `friend:${myNametag}`;
60
57
  await toolContext.agentSystem.postToUserAgents(owner.id, {
61
58
  type: "system_message",
62
59
  origin,
63
- text: messageBuildSystemText(`${myUsertag} removed access to subuser "${target.name ?? target.id}" (${targetUsertag}).`, origin)
60
+ text: messageBuildSystemText(`${myNametag} removed access to subuser "${target.name ?? target.id}" (${targetNametag}).`, origin)
64
61
  });
65
62
  }
66
- return success("removed_share", targetUsertag, toolCall);
63
+ return success("removed_share", targetNametag, toolCall);
67
64
  }
68
65
  if (!state.myRequested && state.otherRequested) {
69
66
  const updated = await connections.clearSide(target.id, me.id);
70
67
  await connectionDeleteIfEmpty(connections, target.id, me.id, updated);
71
- return success("rejected_share", targetUsertag, toolCall);
68
+ return success("rejected_share", targetNametag, toolCall);
72
69
  }
73
70
  if (state.myRequested && !state.otherRequested) {
74
71
  const updated = await connections.clearSide(me.id, target.id);
75
72
  await connectionDeleteIfEmpty(connections, target.id, me.id, updated);
76
- return success("canceled_share", targetUsertag, toolCall);
73
+ return success("canceled_share", targetNametag, toolCall);
77
74
  }
78
- throw new Error(`No relationship with ${targetUsertag}.`);
75
+ throw new Error(`No relationship with ${targetNametag}.`);
79
76
  }
80
77
  if (state.myRequested && state.otherRequested) {
81
78
  await connections.clearSide(me.id, target.id);
82
79
  await subuserShareCleanup(connections, me.id, target.id);
83
- const origin = `friend:${myUsertag}`;
80
+ const origin = `friend:${myNametag}`;
84
81
  await toolContext.agentSystem.postToUserAgents(target.id, {
85
82
  type: "system_message",
86
83
  origin,
87
- text: messageBuildSystemText(`${myUsertag} removed you as a friend.`, origin)
84
+ text: messageBuildSystemText(`${myNametag} removed you as a friend.`, origin)
88
85
  });
89
- return success("unfriended", targetUsertag, toolCall);
86
+ return success("unfriended", targetNametag, toolCall);
90
87
  }
91
88
  if (!state.myRequested && state.otherRequested) {
92
89
  await connections.clearSide(target.id, me.id);
93
- return success("rejected", targetUsertag, toolCall);
90
+ return success("rejected", targetNametag, toolCall);
94
91
  }
95
92
  if (state.myRequested && !state.otherRequested) {
96
93
  await connections.clearSide(me.id, target.id);
97
- return success("canceled", targetUsertag, toolCall);
94
+ return success("canceled", targetNametag, toolCall);
98
95
  }
99
- throw new Error(`No relationship with ${targetUsertag}.`);
96
+ throw new Error(`No relationship with ${targetNametag}.`);
100
97
  }
101
98
  };
102
99
  }
103
- function success(status, usertag, toolCall) {
100
+ function success(status, nametag, toolCall) {
104
101
  const summary = status === "unfriended"
105
- ? `Removed ${usertag} from friends.`
102
+ ? `Removed ${nametag} from friends.`
106
103
  : status === "rejected"
107
- ? `Rejected friend request from ${usertag}.`
104
+ ? `Rejected friend request from ${nametag}.`
108
105
  : status === "removed_share"
109
- ? `Removed shared access to ${usertag}.`
106
+ ? `Removed shared access to ${nametag}.`
110
107
  : status === "rejected_share"
111
- ? `Rejected shared subuser offer from ${usertag}.`
108
+ ? `Rejected shared subuser offer from ${nametag}.`
112
109
  : status === "canceled_share"
113
- ? `Canceled pending shared subuser access to ${usertag}.`
114
- : `Canceled pending friend request to ${usertag}.`;
110
+ ? `Canceled pending shared subuser access to ${nametag}.`
111
+ : `Canceled pending friend request to ${nametag}.`;
115
112
  const toolMessage = {
116
113
  role: "toolResult",
117
114
  toolCallId: toolCall.id,
@@ -125,14 +122,14 @@ function success(status, usertag, toolCall) {
125
122
  typedResult: {
126
123
  summary,
127
124
  status,
128
- usertag
125
+ nametag
129
126
  }
130
127
  };
131
128
  }
132
- function usertagNormalize(value) {
129
+ function nametagNormalize(value) {
133
130
  const normalized = value.trim().toLowerCase();
134
131
  if (!normalized) {
135
- throw new Error("usertag is required.");
132
+ throw new Error("nametag is required.");
136
133
  }
137
134
  return normalized;
138
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"friendRemoveToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendRemoveToolBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"friendRemoveToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendRemoveToolBuild.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,13 @@ describe("friendRemoveToolBuild", () => {
6
6
  it("unfriends and notifies the other user", async () => {
7
7
  const storage = Storage.open(":memory:");
8
8
  try {
9
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
10
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
9
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
10
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
11
11
  await storage.connections.upsertRequest(alice.id, bob.id, 100);
12
12
  await storage.connections.upsertRequest(bob.id, alice.id, 200);
13
13
  const postToUserAgents = vi.fn(async () => undefined);
14
14
  const tool = friendRemoveToolBuild();
15
- const result = await tool.execute({ usertag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
15
+ const result = await tool.execute({ nametag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
16
16
  expect(result.typedResult.status).toBe("unfriended");
17
17
  expect(postToUserAgents).toHaveBeenCalledWith(bob.id, expect.objectContaining({ type: "system_message", origin: "friend:happy-penguin-42" }));
18
18
  const state = await storage.connections.find(alice.id, bob.id);
@@ -26,12 +26,12 @@ describe("friendRemoveToolBuild", () => {
26
26
  it("rejects a pending incoming request without notification", async () => {
27
27
  const storage = Storage.open(":memory:");
28
28
  try {
29
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
30
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
29
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
30
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
31
31
  await storage.connections.upsertRequest(bob.id, alice.id, 100);
32
32
  const postToUserAgents = vi.fn(async () => undefined);
33
33
  const tool = friendRemoveToolBuild();
34
- const result = await tool.execute({ usertag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
34
+ const result = await tool.execute({ nametag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
35
35
  expect(result.typedResult.status).toBe("rejected");
36
36
  expect(postToUserAgents).not.toHaveBeenCalled();
37
37
  const state = await storage.connections.find(alice.id, bob.id);
@@ -45,12 +45,12 @@ describe("friendRemoveToolBuild", () => {
45
45
  it("cancels an outgoing pending request", async () => {
46
46
  const storage = Storage.open(":memory:");
47
47
  try {
48
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
49
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
48
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
49
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
50
50
  await storage.connections.upsertRequest(alice.id, bob.id, 100);
51
51
  const postToUserAgents = vi.fn(async () => undefined);
52
52
  const tool = friendRemoveToolBuild();
53
- const result = await tool.execute({ usertag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
53
+ const result = await tool.execute({ nametag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
54
54
  expect(result.typedResult.status).toBe("canceled");
55
55
  expect(postToUserAgents).not.toHaveBeenCalled();
56
56
  const state = await storage.connections.find(alice.id, bob.id);
@@ -64,19 +64,19 @@ describe("friendRemoveToolBuild", () => {
64
64
  it("removes an active shared subuser and notifies the owner", async () => {
65
65
  const storage = Storage.open(":memory:");
66
66
  try {
67
- const owner = await storage.users.create({ id: "owner", usertag: "happy-penguin-42" });
68
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
67
+ const owner = await storage.users.create({ id: "owner", nametag: "happy-penguin-42" });
68
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
69
69
  const subuser = await storage.users.create({
70
70
  id: "owner-sub-1",
71
71
  parentUserId: owner.id,
72
72
  name: "helper",
73
- usertag: "cool-cat-11"
73
+ nametag: "cool-cat-11"
74
74
  });
75
75
  await storage.connections.upsertRequest(subuser.id, bob.id, 100);
76
76
  await storage.connections.upsertRequest(bob.id, subuser.id, 200);
77
77
  const postToUserAgents = vi.fn(async () => undefined);
78
78
  const tool = friendRemoveToolBuild();
79
- const result = await tool.execute({ usertag: "cool-cat-11" }, contextBuild(bob.id, storage, postToUserAgents), toolCall);
79
+ const result = await tool.execute({ nametag: "cool-cat-11" }, contextBuild(bob.id, storage, postToUserAgents), toolCall);
80
80
  expect(result.typedResult.status).toBe("removed_share");
81
81
  expect(postToUserAgents).toHaveBeenCalledWith(owner.id, expect.objectContaining({ type: "system_message", origin: "friend:swift-fox-42" }));
82
82
  const state = await storage.connections.find(subuser.id, bob.id);
@@ -96,18 +96,18 @@ describe("friendRemoveToolBuild", () => {
96
96
  it("rejects an incoming shared subuser offer without notification", async () => {
97
97
  const storage = Storage.open(":memory:");
98
98
  try {
99
- const owner = await storage.users.create({ id: "owner", usertag: "happy-penguin-42" });
100
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
99
+ const owner = await storage.users.create({ id: "owner", nametag: "happy-penguin-42" });
100
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
101
101
  const subuser = await storage.users.create({
102
102
  id: "owner-sub-1",
103
103
  parentUserId: owner.id,
104
104
  name: "helper",
105
- usertag: "cool-cat-11"
105
+ nametag: "cool-cat-11"
106
106
  });
107
107
  await storage.connections.upsertRequest(subuser.id, bob.id, 100);
108
108
  const postToUserAgents = vi.fn(async () => undefined);
109
109
  const tool = friendRemoveToolBuild();
110
- const result = await tool.execute({ usertag: "cool-cat-11" }, contextBuild(bob.id, storage, postToUserAgents), toolCall);
110
+ const result = await tool.execute({ nametag: "cool-cat-11" }, contextBuild(bob.id, storage, postToUserAgents), toolCall);
111
111
  expect(result.typedResult.status).toBe("rejected_share");
112
112
  expect(postToUserAgents).not.toHaveBeenCalled();
113
113
  expect(await storage.connections.find(subuser.id, bob.id)).toBeNull();
@@ -119,19 +119,19 @@ describe("friendRemoveToolBuild", () => {
119
119
  it("cascades subuser-share cleanup when unfriending a user", async () => {
120
120
  const storage = Storage.open(":memory:");
121
121
  try {
122
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
123
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
122
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
123
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
124
124
  const aliceSub = await storage.users.create({
125
125
  id: "alice-sub-1",
126
126
  parentUserId: alice.id,
127
127
  name: "a-helper",
128
- usertag: "cool-cat-11"
128
+ nametag: "cool-cat-11"
129
129
  });
130
130
  const bobSub = await storage.users.create({
131
131
  id: "bob-sub-1",
132
132
  parentUserId: bob.id,
133
133
  name: "b-helper",
134
- usertag: "smart-owl-22"
134
+ nametag: "smart-owl-22"
135
135
  });
136
136
  await storage.connections.upsertRequest(alice.id, bob.id, 100);
137
137
  await storage.connections.upsertRequest(bob.id, alice.id, 200);
@@ -141,7 +141,7 @@ describe("friendRemoveToolBuild", () => {
141
141
  await storage.connections.upsertRequest(alice.id, bobSub.id, 600);
142
142
  const postToUserAgents = vi.fn(async () => undefined);
143
143
  const tool = friendRemoveToolBuild();
144
- const result = await tool.execute({ usertag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
144
+ const result = await tool.execute({ nametag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
145
145
  expect(result.typedResult.status).toBe("unfriended");
146
146
  expect(await storage.connections.find(aliceSub.id, bob.id)).toBeNull();
147
147
  expect(await storage.connections.find(bobSub.id, alice.id)).toBeNull();
@@ -1,6 +1,6 @@
1
1
  import type { ToolDefinition } from "@/types";
2
2
  /**
3
- * Sends a direct message to a friend by usertag.
3
+ * Sends a direct message to a friend by nametag.
4
4
  * Expects: caller and target are connected with both request flags set.
5
5
  */
6
6
  export declare function friendSendToolBuild(): ToolDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"friendSendToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendSendToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA8BlE;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,CAqFpD"}
1
+ {"version":3,"file":"friendSendToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendSendToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA8BlE;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,CAkFpD"}
@@ -3,33 +3,33 @@ import { xmlEscape } from "../../../util/xmlEscape.js";
3
3
  import { contextForAgent } from "../../agents/context.js";
4
4
  import { messageBuildSystemText } from "../../messages/messageBuildSystemText.js";
5
5
  const schema = Type.Object({
6
- usertag: Type.String({ minLength: 1 }),
6
+ nametag: Type.String({ minLength: 1 }),
7
7
  message: Type.String({ minLength: 1 })
8
8
  }, { additionalProperties: false });
9
9
  const resultSchema = Type.Object({
10
10
  summary: Type.String(),
11
- usertag: Type.String()
11
+ nametag: Type.String()
12
12
  }, { additionalProperties: false });
13
13
  const returns = {
14
14
  schema: resultSchema,
15
15
  toLLMText: (result) => result.summary
16
16
  };
17
17
  /**
18
- * Sends a direct message to a friend by usertag.
18
+ * Sends a direct message to a friend by nametag.
19
19
  * Expects: caller and target are connected with both request flags set.
20
20
  */
21
21
  export function friendSendToolBuild() {
22
22
  return {
23
23
  tool: {
24
24
  name: "friend_send",
25
- description: "Send a direct message to a friend by usertag.",
25
+ description: "Send a direct message to a friend by nametag.",
26
26
  parameters: schema
27
27
  },
28
28
  returns,
29
29
  visibleByDefault: (context) => context.descriptor.type === "user",
30
30
  execute: async (args, toolContext, toolCall) => {
31
31
  const payload = args;
32
- const targetUsertag = usertagNormalize(payload.usertag);
32
+ const targetNametag = nametagNormalize(payload.nametag);
33
33
  const message = payload.message.trim();
34
34
  if (!message) {
35
35
  throw new Error("message is required.");
@@ -40,42 +40,39 @@ export function friendSendToolBuild() {
40
40
  if (!me) {
41
41
  throw new Error("Current user not found.");
42
42
  }
43
- const myUsertag = me.usertag?.trim() ?? "";
44
- if (!myUsertag) {
45
- throw new Error("Current user does not have a usertag.");
46
- }
47
- const target = await users.findByUsertag(targetUsertag);
43
+ const myNametag = me.nametag;
44
+ const target = await users.findByNametag(targetNametag);
48
45
  if (!target) {
49
- throw new Error(`User not found for usertag: ${targetUsertag}`);
46
+ throw new Error(`User not found for nametag: ${targetNametag}`);
50
47
  }
51
48
  if (target.id === me.id) {
52
49
  throw new Error("Cannot send to yourself.");
53
50
  }
54
51
  const connection = await connections.find(me.id, target.id);
55
- const origin = `friend:${myUsertag}`;
52
+ const origin = `friend:${myNametag}`;
56
53
  const item = {
57
54
  type: "system_message",
58
55
  origin,
59
- text: messageBuildSystemText(`Message from ${myUsertag}: ${xmlEscape(message)}`, origin)
56
+ text: messageBuildSystemText(`Message from ${myNametag}: ${xmlEscape(message)}`, origin)
60
57
  };
61
58
  if (target.parentUserId) {
62
59
  if (!connection || !connection.requestedA || !connection.requestedB) {
63
- throw new Error(`No active shared access to ${targetUsertag}.`);
60
+ throw new Error(`No active shared access to ${targetNametag}.`);
64
61
  }
65
62
  const agents = await toolContext.agentSystem.storage.agents.findMany();
66
63
  const gateway = agents.find((agent) => agent.descriptor.type === "subuser" && agent.descriptor.id === target.id);
67
64
  if (!gateway) {
68
- throw new Error(`Gateway agent not found for shared subuser ${targetUsertag}.`);
65
+ throw new Error(`Gateway agent not found for shared subuser ${targetNametag}.`);
69
66
  }
70
67
  await toolContext.agentSystem.post(contextForAgent({ userId: target.id, agentId: gateway.id }), { agentId: gateway.id }, item);
71
68
  }
72
69
  else {
73
70
  if (!connection || !connection.requestedA || !connection.requestedB) {
74
- throw new Error(`You are not friends with ${targetUsertag}.`);
71
+ throw new Error(`You are not friends with ${targetNametag}.`);
75
72
  }
76
73
  await toolContext.agentSystem.postToUserAgents(target.id, item);
77
74
  }
78
- const summary = `Sent message to ${targetUsertag}.`;
75
+ const summary = `Sent message to ${targetNametag}.`;
79
76
  const toolMessage = {
80
77
  role: "toolResult",
81
78
  toolCallId: toolCall.id,
@@ -88,16 +85,16 @@ export function friendSendToolBuild() {
88
85
  toolMessage,
89
86
  typedResult: {
90
87
  summary,
91
- usertag: targetUsertag
88
+ nametag: targetNametag
92
89
  }
93
90
  };
94
91
  }
95
92
  };
96
93
  }
97
- function usertagNormalize(value) {
94
+ function nametagNormalize(value) {
98
95
  const normalized = value.trim().toLowerCase();
99
96
  if (!normalized) {
100
- throw new Error("usertag is required.");
97
+ throw new Error("nametag is required.");
101
98
  }
102
99
  return normalized;
103
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"friendSendToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendSendToolBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"friendSendToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendSendToolBuild.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,13 @@ describe("friendSendToolBuild", () => {
6
6
  it("sends a friend message to the target user's frontend agents", async () => {
7
7
  const storage = Storage.open(":memory:");
8
8
  try {
9
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
10
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
9
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
10
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
11
11
  await storage.connections.upsertRequest(alice.id, bob.id, 100);
12
12
  await storage.connections.upsertRequest(bob.id, alice.id, 200);
13
13
  const postToUserAgents = vi.fn(async () => undefined);
14
14
  const tool = friendSendToolBuild();
15
- const result = await tool.execute({ usertag: "swift-fox-42", message: "Hello <friend> & crew" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
15
+ const result = await tool.execute({ nametag: "swift-fox-42", message: "Hello <friend> & crew" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
16
16
  expect(result.typedResult.summary).toContain("Sent message");
17
17
  expect(postToUserAgents).toHaveBeenCalledWith(bob.id, expect.objectContaining({
18
18
  type: "system_message",
@@ -27,10 +27,10 @@ describe("friendSendToolBuild", () => {
27
27
  it("fails when users are not friends", async () => {
28
28
  const storage = Storage.open(":memory:");
29
29
  try {
30
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
31
- await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
30
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
31
+ await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
32
32
  const tool = friendSendToolBuild();
33
- await expect(tool.execute({ usertag: "swift-fox-42", message: "Hello" }, contextBuild(alice.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("You are not friends");
33
+ await expect(tool.execute({ nametag: "swift-fox-42", message: "Hello" }, contextBuild(alice.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("You are not friends");
34
34
  }
35
35
  finally {
36
36
  storage.close();
@@ -39,13 +39,13 @@ describe("friendSendToolBuild", () => {
39
39
  it("sends to a shared subuser gateway agent", async () => {
40
40
  const storage = Storage.open(":memory:");
41
41
  try {
42
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
43
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
42
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
43
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
44
44
  const subuser = await storage.users.create({
45
45
  id: "alice-sub-1",
46
46
  parentUserId: alice.id,
47
47
  name: "helper",
48
- usertag: "cool-cat-11"
48
+ nametag: "cool-cat-11"
49
49
  });
50
50
  await storage.agents.create({
51
51
  id: "subuser-gateway",
@@ -65,7 +65,7 @@ describe("friendSendToolBuild", () => {
65
65
  const postToUserAgents = vi.fn(async () => undefined);
66
66
  const post = vi.fn(async () => undefined);
67
67
  const tool = friendSendToolBuild();
68
- const result = await tool.execute({ usertag: "cool-cat-11", message: "Hello helper" }, contextBuild(bob.id, storage, postToUserAgents, post), toolCall);
68
+ const result = await tool.execute({ nametag: "cool-cat-11", message: "Hello helper" }, contextBuild(bob.id, storage, postToUserAgents, post), toolCall);
69
69
  expect(result.typedResult.summary).toContain("Sent message");
70
70
  expect(post).toHaveBeenCalledWith(expect.objectContaining({ userId: "alice-sub-1" }), { agentId: "subuser-gateway" }, expect.objectContaining({
71
71
  type: "system_message",
@@ -81,17 +81,17 @@ describe("friendSendToolBuild", () => {
81
81
  it("fails when subuser share is not active", async () => {
82
82
  const storage = Storage.open(":memory:");
83
83
  try {
84
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
85
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
84
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
85
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
86
86
  const subuser = await storage.users.create({
87
87
  id: "alice-sub-1",
88
88
  parentUserId: alice.id,
89
89
  name: "helper",
90
- usertag: "cool-cat-11"
90
+ nametag: "cool-cat-11"
91
91
  });
92
92
  await storage.connections.upsertRequest(subuser.id, bob.id, 100);
93
93
  const tool = friendSendToolBuild();
94
- await expect(tool.execute({ usertag: "cool-cat-11", message: "Hello" }, contextBuild(bob.id, storage, vi.fn(async () => undefined), vi.fn(async () => undefined)), toolCall)).rejects.toThrow("No active shared access");
94
+ await expect(tool.execute({ nametag: "cool-cat-11", message: "Hello" }, contextBuild(bob.id, storage, vi.fn(async () => undefined), vi.fn(async () => undefined)), toolCall)).rejects.toThrow("No active shared access");
95
95
  }
96
96
  finally {
97
97
  storage.close();
@@ -1,7 +1,7 @@
1
1
  import type { ToolDefinition } from "@/types";
2
2
  /**
3
3
  * Shares one of the caller-owned subusers with an existing friend.
4
- * Expects: caller owns subuserId and caller is already friends with friendUsertag.
4
+ * Expects: caller owns subuserId and caller is already friends with friendNametag.
5
5
  */
6
6
  export declare function friendShareSubuserToolBuild(): ToolDefinition;
7
7
  //# sourceMappingURL=friendShareSubuserToolBuild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"friendShareSubuserToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendShareSubuserToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA+BlE;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,cAAc,CAsG5D"}
1
+ {"version":3,"file":"friendShareSubuserToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendShareSubuserToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA+BlE;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,cAAc,CAgG5D"}