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,42 +1,24 @@
1
- import path from "node:path";
2
1
  import Handlebars from "handlebars";
3
- import { agentAppFolderPathResolve } from "./agentAppFolderPathResolve.js";
4
2
  import { agentPromptBundledRead } from "./agentPromptBundledRead.js";
5
- import { agentPromptPathsResolve } from "./agentPromptPathsResolve.js";
6
3
  /**
7
- * Renders permissions details from current session permissions and config paths.
8
- * Expects: context matches agentSystemPrompt input shape.
4
+ * Renders permissions details using ~/relative paths for home subdirectories.
5
+ * Expects: context.userHome is set.
9
6
  */
10
7
  export async function agentSystemPromptSectionPermissions(context) {
11
- const permissions = context.permissions;
12
- const descriptor = context.descriptor;
13
- const workspace = permissions?.workingDir ?? "unknown";
14
- const writeDirs = permissions?.writeDirs ?? [];
15
8
  if (!context.userHome) {
16
9
  throw new Error("User home is required to render permissions section.");
17
10
  }
18
- const promptPaths = agentPromptPathsResolve(context.userHome);
19
- const appFolderPath = descriptor && context.userHome ? (agentAppFolderPathResolve(descriptor, context.userHome.apps) ?? "") : "";
20
- const excluded = new Set([workspace, promptPaths.soulPath, promptPaths.userPath, promptPaths.agentsPath, promptPaths.toolsPath]
21
- .filter((entry) => entry && entry.trim().length > 0)
22
- .map((entry) => path.resolve(entry)));
23
- const additionalWriteDirs = Array.from(new Set(writeDirs
24
- .filter((entry) => typeof entry === "string" && entry.trim().length > 0)
25
- .map((entry) => path.resolve(entry))
26
- .filter((entry) => !excluded.has(entry)))).sort();
11
+ const homeDirs = [
12
+ { name: "desktop", label: "workspace" },
13
+ { name: "downloads" },
14
+ { name: "documents" },
15
+ { name: "developer" },
16
+ { name: "knowledge" },
17
+ { name: "memory" },
18
+ { name: "tmp" }
19
+ ];
27
20
  const template = await agentPromptBundledRead("SYSTEM_PERMISSIONS.md");
28
- const section = Handlebars.compile(template)({
29
- workspace,
30
- appFolderPath,
31
- workspacePermissionGranted: false,
32
- soulPath: promptPaths.soulPath,
33
- userPath: promptPaths.userPath,
34
- agentsPath: promptPaths.agentsPath,
35
- toolsPath: promptPaths.toolsPath,
36
- isForeground: descriptor?.type === "user",
37
- skillsPath: context.userHome.skills,
38
- additionalWriteDirs
39
- });
21
+ const section = Handlebars.compile(template)({ homeDirs });
40
22
  return section.trim();
41
23
  }
42
24
  //# sourceMappingURL=agentSystemPromptSectionPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentSystemPromptSectionPermissions.js","sourceRoot":"","sources":["../../../../sources/engine/agents/ops/agentSystemPromptSectionPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CAAC,OAAiC;IACvF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,SAAS,GAAG,WAAW,EAAE,UAAU,IAAI,SAAS,CAAC;IACvD,MAAM,SAAS,GAAG,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,aAAa,GACf,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/G,MAAM,QAAQ,GAAG,IAAI,GAAG,CACpB,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC;SACjG,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACnD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC3C,CAAC;IACF,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAClC,IAAI,GAAG,CACH,SAAS;SACJ,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACxF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACnC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAC/C,CACJ,CAAC,IAAI,EAAE,CAAC;IAET,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,SAAS;QACT,aAAa;QACb,0BAA0B,EAAE,KAAK;QACjC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,YAAY,EAAE,UAAU,EAAE,IAAI,KAAK,MAAM;QACzC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QACnC,mBAAmB;KACtB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"agentSystemPromptSectionPermissions.js","sourceRoot":"","sources":["../../../../sources/engine/agents/ops/agentSystemPromptSectionPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CAAC,OAAiC;IACvF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,QAAQ,GAAG;QACb,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;QACvC,EAAE,IAAI,EAAE,WAAW,EAAE;QACrB,EAAE,IAAI,EAAE,WAAW,EAAE;QACrB,EAAE,IAAI,EAAE,WAAW,EAAE;QACrB,EAAE,IAAI,EAAE,WAAW,EAAE;QACrB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClB,EAAE,IAAI,EAAE,KAAK,EAAE;KAClB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generates a random nametag with no separator and 3 trailing digits.
3
+ * Expects: caller handles uniqueness collisions against persisted users.
4
+ */
5
+ export declare function nametagGenerate(): string;
6
+ //# sourceMappingURL=nametagGenerate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nametagGenerate.d.ts","sourceRoot":"","sources":["../../../sources/engine/friends/nametagGenerate.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
@@ -0,0 +1,9 @@
1
+ import { generateUsername } from "unique-username-generator";
2
+ /**
3
+ * Generates a random nametag with no separator and 3 trailing digits.
4
+ * Expects: caller handles uniqueness collisions against persisted users.
5
+ */
6
+ export function nametagGenerate() {
7
+ return generateUsername("", 3);
8
+ }
9
+ //# sourceMappingURL=nametagGenerate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nametagGenerate.js","sourceRoot":"","sources":["../../../sources/engine/friends/nametagGenerate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nametagGenerate.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nametagGenerate.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/friends/nametagGenerate.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { generateUsername } from "unique-username-generator";
2
+ import { beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { nametagGenerate } from "./nametagGenerate.js";
4
+ vi.mock("unique-username-generator", () => ({
5
+ generateUsername: vi.fn()
6
+ }));
7
+ describe("nametagGenerate", () => {
8
+ const generateUsernameMock = vi.mocked(generateUsername);
9
+ beforeEach(() => {
10
+ generateUsernameMock.mockReset();
11
+ });
12
+ it("delegates to unique-username-generator with no separator and 3 digits", () => {
13
+ generateUsernameMock.mockReturnValue("sample123");
14
+ expect(nametagGenerate()).toBe("sample123");
15
+ expect(generateUsernameMock).toHaveBeenCalledWith("", 3);
16
+ });
17
+ });
18
+ //# sourceMappingURL=nametagGenerate.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nametagGenerate.spec.js","sourceRoot":"","sources":["../../../sources/engine/friends/nametagGenerate.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC5B,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,MAAM,oBAAoB,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEzD,UAAU,CAAC,GAAG,EAAE;QACZ,oBAAoB,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC7E,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -75,30 +75,30 @@ async function renderSystemPrompt(options) {
75
75
  arch: "arm64",
76
76
  model: "test-model",
77
77
  provider: "test-provider",
78
- workspace: "/tmp/workspace",
79
78
  connector: "test",
80
79
  canSendFiles: false,
81
80
  fileSendModes: "",
82
81
  messageFormatPrompt: "",
83
82
  channelId: "channel-1",
84
83
  userId: "user-1",
85
- appFolderPath: "",
86
- workspacePermissionGranted: false,
87
- soulPath: "/tmp/SOUL.md",
88
- userPath: "/tmp/USER.md",
89
- agentsPath: "/tmp/AGENTS.md",
90
- toolsPath: "/tmp/TOOLS.md",
84
+ homeDirs: [
85
+ { name: "desktop", label: "workspace" },
86
+ { name: "downloads" },
87
+ { name: "documents" },
88
+ { name: "developer" },
89
+ { name: "knowledge" },
90
+ { name: "memory" },
91
+ { name: "tmp" }
92
+ ],
91
93
  memoryPath: "/tmp/MEMORY.md",
92
94
  skillsPrompt: options.skillsPrompt,
93
95
  parentAgentId: "",
94
96
  configDir: "/tmp/.daycare",
95
- skillsPath: "/tmp/.daycare/skills",
96
97
  soul: "soul",
97
98
  user: "user",
98
99
  agents: "agents",
99
100
  tools: options.toolsText,
100
101
  memory: "memory",
101
- additionalWriteDirs: [],
102
102
  agentPrompt: "",
103
103
  noToolsPrompt: options.noToolsPrompt ?? ""
104
104
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rlmPromptSkills.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmPromptSkills.spec.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAUvE,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAExC,MAAM,MAAM,GAAiB;IACzB;QACI,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,IAAI;KAChB;CACJ,CAAC;AAEF,MAAM,KAAK,GAAG;IACV,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACvD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE;CAC1C,CAAC;AAEvB,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,MAAM,uBAAuB,CAAC,KAAK,CAAC;YAC/C,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACvC,aAAa,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC;YACjD,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,KAAK;SACtB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qDAAqD,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,MAAM,qBAAqB,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YAC1E,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,kBAAkB,CAAC,OAAkC;IAChE,MAAM,cAAc,GAAG;QACnB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,EAAE;QACjB,mBAAmB,EAAE,EAAE;QACvB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,EAAE;QACjB,0BAA0B,EAAE,KAAK;QACjC,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,gBAAgB;QAC5B,SAAS,EAAE,eAAe;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,eAAe;QAC1B,UAAU,EAAE,sBAAsB;QAClC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,MAAM,EAAE,QAAQ;QAChB,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;KAC7C,CAAC;IACF,MAAM,CACF,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,oCAAoC,EACpC,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,kBAAkB,CACrB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClB,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC;QAC1C,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC;QACjD,aAAa,CAAC,uBAAuB,EAAE,cAAc,CAAC;QACtD,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChF,CAAC,CAAC,EAAE;QACJ,aAAa,CAAC,oBAAoB,EAAE,cAAc,CAAC;QACnD,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAClD,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,CAAC,CAAC,EAAE;QACJ,aAAa,CAAC,sBAAsB,EAAE,cAAc,CAAC;QACrD,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC;QACjD,aAAa,CAAC,uBAAuB,EAAE,cAAc,CAAC;KACzD,CAAC,CAAC;IACH,OAAO;QACH,eAAe;QACf,0BAA0B;QAC1B,kBAAkB;QAClB,kBAAkB;QAClB,oCAAoC;QACpC,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,kBAAkB;KACrB;SACI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC,IAAI,CAAC,iBAAiB,CAAC;SACvB,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,OAAgC;IAC/E,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,OAAO,CAA0B,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,MAAc;IACjD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"rlmPromptSkills.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmPromptSkills.spec.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAUvE,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAExC,MAAM,MAAM,GAAiB;IACzB;QACI,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,IAAI;KAChB;CACJ,CAAC;AAEF,MAAM,KAAK,GAAG;IACV,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACvD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE;CAC1C,CAAC;AAEvB,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,MAAM,uBAAuB,CAAC,KAAK,CAAC;YAC/C,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACvC,aAAa,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC;YACjD,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,KAAK;SACtB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qDAAqD,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACpC,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,MAAM,qBAAqB,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YAC1E,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,kBAAkB,CAAC,OAAkC;IAChE,MAAM,cAAc,GAAG;QACnB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,EAAE;QACjB,mBAAmB,EAAE,EAAE;QACvB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;YACvC,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClB,EAAE,IAAI,EAAE,KAAK,EAAE;SAClB;QACD,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;KAC7C,CAAC;IACF,MAAM,CACF,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,oCAAoC,EACpC,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,kBAAkB,CACrB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClB,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC;QAC1C,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC;QACjD,aAAa,CAAC,uBAAuB,EAAE,cAAc,CAAC;QACtD,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChF,CAAC,CAAC,EAAE;QACJ,aAAa,CAAC,oBAAoB,EAAE,cAAc,CAAC;QACnD,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAClD,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,CAAC,CAAC,EAAE;QACJ,aAAa,CAAC,sBAAsB,EAAE,cAAc,CAAC;QACrD,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC;QACjD,aAAa,CAAC,uBAAuB,EAAE,cAAc,CAAC;KACzD,CAAC,CAAC;IACH,OAAO;QACH,eAAe;QACf,0BAA0B;QAC1B,kBAAkB;QAClB,kBAAkB;QAClB,oCAAoC;QACpC,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,kBAAkB;KACrB;SACI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC,IAAI,CAAC,iBAAiB,CAAC;SACvB,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,OAAgC;IAC/E,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,OAAO,CAA0B,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,MAAc;IACjD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { ToolDefinition } from "@/types";
2
2
  /**
3
- * Sends or confirms a friend request by usertag.
4
- * Expects: caller is a frontend user with a generated usertag.
3
+ * Sends or confirms a friend request by nametag.
4
+ * Expects: caller is a frontend user with a generated nametag.
5
5
  */
6
6
  export declare function friendAddToolBuild(): ToolDefinition;
7
7
  //# sourceMappingURL=friendAddToolBuild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"friendAddToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendAddToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA8BlE;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAsHnD"}
1
+ {"version":3,"file":"friendAddToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendAddToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA8BlE;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAmHnD"}
@@ -2,48 +2,45 @@ import { Type } from "@sinclair/typebox";
2
2
  import { messageBuildSystemText } from "../../messages/messageBuildSystemText.js";
3
3
  const FRIEND_COOLDOWN_MS = 7 * 24 * 60 * 60 * 1000;
4
4
  const schema = Type.Object({
5
- usertag: Type.String({ minLength: 1 })
5
+ nametag: Type.String({ minLength: 1 })
6
6
  }, { additionalProperties: false });
7
7
  const resultSchema = Type.Object({
8
8
  summary: Type.String(),
9
9
  status: Type.String(),
10
- usertag: Type.String()
10
+ nametag: Type.String()
11
11
  }, { additionalProperties: false });
12
12
  const returns = {
13
13
  schema: resultSchema,
14
14
  toLLMText: (result) => result.summary
15
15
  };
16
16
  /**
17
- * Sends or confirms a friend request by usertag.
18
- * Expects: caller is a frontend user with a generated usertag.
17
+ * Sends or confirms a friend request by nametag.
18
+ * Expects: caller is a frontend user with a generated nametag.
19
19
  */
20
20
  export function friendAddToolBuild() {
21
21
  return {
22
22
  tool: {
23
23
  name: "friend_add",
24
- description: "Send or accept a friend request by usertag.",
24
+ description: "Send or accept a friend request by nametag.",
25
25
  parameters: schema
26
26
  },
27
27
  returns,
28
28
  visibleByDefault: (context) => context.descriptor.type === "user",
29
29
  execute: async (args, toolContext, toolCall) => {
30
30
  const payload = args;
31
- const targetUsertag = usertagNormalize(payload.usertag);
31
+ const targetNametag = nametagNormalize(payload.nametag);
32
32
  const users = toolContext.agentSystem.storage.users;
33
33
  const connections = toolContext.agentSystem.storage.connections;
34
34
  const me = await users.findById(toolContext.ctx.userId);
35
35
  if (!me) {
36
36
  throw new Error("Current user not found.");
37
37
  }
38
- const myUsertag = me.usertag?.trim() ?? "";
39
- if (!myUsertag) {
40
- throw new Error("Current user does not have a usertag.");
41
- }
42
- const origin = `friend:${myUsertag}`;
38
+ const myNametag = me.nametag;
39
+ const origin = `friend:${myNametag}`;
43
40
  const now = Date.now();
44
- const target = await users.findByUsertag(targetUsertag);
41
+ const target = await users.findByNametag(targetNametag);
45
42
  if (!target) {
46
- throw new Error(`User not found for usertag: ${targetUsertag}`);
43
+ throw new Error(`User not found for nametag: ${targetNametag}`);
47
44
  }
48
45
  if (target.id === me.id) {
49
46
  throw new Error("Cannot add yourself as a friend.");
@@ -53,7 +50,7 @@ export function friendAddToolBuild() {
53
50
  if (!owner) {
54
51
  throw new Error("Subuser owner not found.");
55
52
  }
56
- const ownerTag = owner.usertag?.trim() ?? owner.id;
53
+ const ownerTag = owner.nametag;
57
54
  const ownerConnection = await connections.find(me.id, owner.id);
58
55
  if (!ownerConnection || !ownerConnection.requestedA || !ownerConnection.requestedB) {
59
56
  throw new Error(`You are not friends with subuser owner ${ownerTag}.`);
@@ -64,7 +61,7 @@ export function friendAddToolBuild() {
64
61
  }
65
62
  const shareState = sideStateForUser(subuserShare, me.id);
66
63
  if (shareState.myRequested && shareState.otherRequested) {
67
- throw new Error(`Already connected to shared subuser ${targetUsertag}.`);
64
+ throw new Error(`Already connected to shared subuser ${targetNametag}.`);
68
65
  }
69
66
  if (!shareState.otherRequested) {
70
67
  throw new Error("No pending share request for this subuser.");
@@ -73,9 +70,9 @@ export function friendAddToolBuild() {
73
70
  await toolContext.agentSystem.postToUserAgents(owner.id, {
74
71
  type: "system_message",
75
72
  origin,
76
- text: messageBuildSystemText(`${myUsertag} accepted access to subuser "${target.name ?? target.id}" (${targetUsertag}).`, origin)
73
+ text: messageBuildSystemText(`${myNametag} accepted access to subuser "${target.name ?? target.id}" (${targetNametag}).`, origin)
77
74
  });
78
- return success("accepted_share", targetUsertag, toolCall);
75
+ return success("accepted_share", targetNametag, toolCall);
79
76
  }
80
77
  const existing = await connections.find(me.id, target.id);
81
78
  if (!existing) {
@@ -83,45 +80,45 @@ export function friendAddToolBuild() {
83
80
  await toolContext.agentSystem.postToUserAgents(target.id, {
84
81
  type: "system_message",
85
82
  origin,
86
- text: messageBuildSystemText(`User ${myUsertag} wants to be your friend. Use friend_add("${myUsertag}") to accept.`, origin)
83
+ text: messageBuildSystemText(`User ${myNametag} wants to be your friend. Use friend_add("${myNametag}") to accept.`, origin)
87
84
  });
88
- return success("requested", targetUsertag, toolCall);
85
+ return success("requested", targetNametag, toolCall);
89
86
  }
90
87
  const state = sideStateForUser(existing, me.id);
91
88
  if (state.myRequested && state.otherRequested) {
92
- throw new Error(`Already friends with ${targetUsertag}.`);
89
+ throw new Error(`Already friends with ${targetNametag}.`);
93
90
  }
94
91
  if (state.myRequested && !state.otherRequested) {
95
- throw new Error(`Friend request to ${targetUsertag} is already pending.`);
92
+ throw new Error(`Friend request to ${targetNametag} is already pending.`);
96
93
  }
97
94
  if (!state.myRequested && state.otherRequested) {
98
95
  await connections.upsertRequest(me.id, target.id, now);
99
96
  await toolContext.agentSystem.postToUserAgents(target.id, {
100
97
  type: "system_message",
101
98
  origin,
102
- text: messageBuildSystemText(`${myUsertag} accepted your friend request. You are now friends.`, origin)
99
+ text: messageBuildSystemText(`${myNametag} accepted your friend request. You are now friends.`, origin)
103
100
  });
104
- return success("accepted", targetUsertag, toolCall);
101
+ return success("accepted", targetNametag, toolCall);
105
102
  }
106
103
  if (state.myRequestedAt && now - state.myRequestedAt < FRIEND_COOLDOWN_MS) {
107
- throw new Error(`Friend request cooldown is active for ${targetUsertag}. Try again later.`);
104
+ throw new Error(`Friend request cooldown is active for ${targetNametag}. Try again later.`);
108
105
  }
109
106
  await connections.upsertRequest(me.id, target.id, now);
110
107
  await toolContext.agentSystem.postToUserAgents(target.id, {
111
108
  type: "system_message",
112
109
  origin,
113
- text: messageBuildSystemText(`User ${myUsertag} wants to be your friend. Use friend_add("${myUsertag}") to accept.`, origin)
110
+ text: messageBuildSystemText(`User ${myNametag} wants to be your friend. Use friend_add("${myNametag}") to accept.`, origin)
114
111
  });
115
- return success("requested", targetUsertag, toolCall);
112
+ return success("requested", targetNametag, toolCall);
116
113
  }
117
114
  };
118
115
  }
119
- function success(status, usertag, toolCall) {
116
+ function success(status, nametag, toolCall) {
120
117
  const summary = status === "requested"
121
- ? `Friend request sent to ${usertag}.`
118
+ ? `Friend request sent to ${nametag}.`
122
119
  : status === "accepted_share"
123
- ? `Accepted shared access to ${usertag}.`
124
- : `${usertag} accepted. You are now friends.`;
120
+ ? `Accepted shared access to ${nametag}.`
121
+ : `${nametag} accepted. You are now friends.`;
125
122
  const toolMessage = {
126
123
  role: "toolResult",
127
124
  toolCallId: toolCall.id,
@@ -135,14 +132,14 @@ function success(status, usertag, toolCall) {
135
132
  typedResult: {
136
133
  summary,
137
134
  status,
138
- usertag
135
+ nametag
139
136
  }
140
137
  };
141
138
  }
142
- function usertagNormalize(value) {
139
+ function nametagNormalize(value) {
143
140
  const normalized = value.trim().toLowerCase();
144
141
  if (!normalized) {
145
- throw new Error("usertag is required.");
142
+ throw new Error("nametag is required.");
146
143
  }
147
144
  return normalized;
148
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"friendAddToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendAddToolBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"friendAddToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendAddToolBuild.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@ describe("friendAddToolBuild", () => {
7
7
  it("sends a request and confirms when the other side adds back", async () => {
8
8
  const storage = Storage.open(":memory:");
9
9
  try {
10
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
11
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
10
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
11
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
12
12
  const postToUserAgents = vi.fn(async () => undefined);
13
13
  const tool = friendAddToolBuild();
14
- const requestResult = await tool.execute({ usertag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
14
+ const requestResult = await tool.execute({ nametag: "swift-fox-42" }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
15
15
  expect(requestResult.typedResult.status).toBe("requested");
16
16
  expect(postToUserAgents).toHaveBeenCalledWith(bob.id, expect.objectContaining({
17
17
  type: "system_message",
@@ -21,7 +21,7 @@ describe("friendAddToolBuild", () => {
21
21
  expect(pending?.requestedA).toBe(true);
22
22
  expect(pending?.requestedB).toBe(false);
23
23
  postToUserAgents.mockClear();
24
- const confirmResult = await tool.execute({ usertag: "happy-penguin-42" }, contextBuild(bob.id, storage, postToUserAgents), toolCall);
24
+ const confirmResult = await tool.execute({ nametag: "happy-penguin-42" }, contextBuild(bob.id, storage, postToUserAgents), toolCall);
25
25
  expect(confirmResult.typedResult.status).toBe("accepted");
26
26
  expect(postToUserAgents).toHaveBeenCalledWith(alice.id, expect.objectContaining({
27
27
  type: "system_message",
@@ -38,20 +38,20 @@ describe("friendAddToolBuild", () => {
38
38
  it("accepts a pending subuser share and notifies the owner", async () => {
39
39
  const storage = Storage.open(":memory:");
40
40
  try {
41
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
42
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
41
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
42
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
43
43
  const subuser = await storage.users.create({
44
44
  id: "alice-sub-1",
45
45
  parentUserId: alice.id,
46
46
  name: "helper",
47
- usertag: "cool-cat-11"
47
+ nametag: "cool-cat-11"
48
48
  });
49
49
  await storage.connections.upsertRequest(alice.id, bob.id, 100);
50
50
  await storage.connections.upsertRequest(bob.id, alice.id, 200);
51
51
  await storage.connections.upsertRequest(subuser.id, bob.id, 300);
52
52
  const postToUserAgents = vi.fn(async () => undefined);
53
53
  const tool = friendAddToolBuild();
54
- const result = await tool.execute({ usertag: "cool-cat-11" }, contextBuild(bob.id, storage, postToUserAgents), toolCall);
54
+ const result = await tool.execute({ nametag: "cool-cat-11" }, contextBuild(bob.id, storage, postToUserAgents), toolCall);
55
55
  expect(result.typedResult.status).toBe("accepted_share");
56
56
  expect(postToUserAgents).toHaveBeenCalledWith(alice.id, expect.objectContaining({
57
57
  type: "system_message",
@@ -68,18 +68,18 @@ describe("friendAddToolBuild", () => {
68
68
  it("rejects subuser accept when no pending offer exists", async () => {
69
69
  const storage = Storage.open(":memory:");
70
70
  try {
71
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
72
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
71
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
72
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
73
73
  await storage.users.create({
74
74
  id: "alice-sub-1",
75
75
  parentUserId: alice.id,
76
76
  name: "helper",
77
- usertag: "cool-cat-11"
77
+ nametag: "cool-cat-11"
78
78
  });
79
79
  await storage.connections.upsertRequest(alice.id, bob.id, 100);
80
80
  await storage.connections.upsertRequest(bob.id, alice.id, 200);
81
81
  const tool = friendAddToolBuild();
82
- await expect(tool.execute({ usertag: "cool-cat-11" }, contextBuild(bob.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("No pending share request for this subuser.");
82
+ await expect(tool.execute({ nametag: "cool-cat-11" }, contextBuild(bob.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("No pending share request for this subuser.");
83
83
  }
84
84
  finally {
85
85
  storage.close();
@@ -88,17 +88,17 @@ describe("friendAddToolBuild", () => {
88
88
  it("rejects subuser accept when caller is not friends with owner", async () => {
89
89
  const storage = Storage.open(":memory:");
90
90
  try {
91
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
92
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
91
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
92
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
93
93
  const subuser = await storage.users.create({
94
94
  id: "alice-sub-1",
95
95
  parentUserId: alice.id,
96
96
  name: "helper",
97
- usertag: "cool-cat-11"
97
+ nametag: "cool-cat-11"
98
98
  });
99
99
  await storage.connections.upsertRequest(subuser.id, bob.id, 100);
100
100
  const tool = friendAddToolBuild();
101
- await expect(tool.execute({ usertag: "cool-cat-11" }, contextBuild(bob.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("You are not friends with subuser owner");
101
+ await expect(tool.execute({ nametag: "cool-cat-11" }, contextBuild(bob.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("You are not friends with subuser owner");
102
102
  }
103
103
  finally {
104
104
  storage.close();
@@ -107,12 +107,12 @@ describe("friendAddToolBuild", () => {
107
107
  it("enforces cooldown after a rejected request", async () => {
108
108
  const storage = Storage.open(":memory:");
109
109
  try {
110
- const alice = await storage.users.create({ id: "alice", usertag: "happy-penguin-42" });
111
- const bob = await storage.users.create({ id: "bob", usertag: "swift-fox-42" });
110
+ const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
111
+ const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
112
112
  const tool = friendAddToolBuild();
113
113
  await storage.connections.upsertRequest(alice.id, bob.id, Date.now() - 1_000);
114
114
  await storage.connections.clearSide(alice.id, bob.id);
115
- await expect(tool.execute({ usertag: "swift-fox-42" }, contextBuild(alice.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("Friend request cooldown is active");
115
+ await expect(tool.execute({ nametag: "swift-fox-42" }, contextBuild(alice.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("Friend request cooldown is active");
116
116
  }
117
117
  finally {
118
118
  storage.close();
@@ -1,7 +1,7 @@
1
1
  import type { ToolDefinition } from "@/types";
2
2
  /**
3
- * Removes, rejects, or cancels a friend relationship by usertag.
4
- * Expects: caller is a frontend user with a generated usertag.
3
+ * Removes, rejects, or cancels a friend relationship by nametag.
4
+ * Expects: caller is a frontend user with a generated nametag.
5
5
  */
6
6
  export declare function friendRemoveToolBuild(): ToolDefinition;
7
7
  //# sourceMappingURL=friendRemoveToolBuild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"friendRemoveToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendRemoveToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA4BlE;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CA8FtD"}
1
+ {"version":3,"file":"friendRemoveToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendRemoveToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA4BlE;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CA2FtD"}