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.
- package/dist/config/configResolve.d.ts.map +1 -1
- package/dist/config/configResolve.js +15 -1
- package/dist/config/configResolve.js.map +1 -1
- package/dist/config/configResolve.spec.js +47 -0
- package/dist/config/configResolve.spec.js.map +1 -1
- package/dist/config/configSettingsParse.d.ts.map +1 -1
- package/dist/config/configSettingsParse.js +10 -0
- package/dist/config/configSettingsParse.js.map +1 -1
- package/dist/config/configSettingsParse.spec.js +32 -0
- package/dist/config/configSettingsParse.spec.js.map +1 -1
- package/dist/config/configTypes.d.ts +2 -1
- package/dist/config/configTypes.d.ts.map +1 -1
- package/dist/engine/agents/agent.d.ts.map +1 -1
- package/dist/engine/agents/agent.js +12 -1
- package/dist/engine/agents/agent.js.map +1 -1
- package/dist/engine/agents/agentSystem.spec.js +1 -1
- package/dist/engine/agents/ops/agentSystemPromptContext.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptContext.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.js +12 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js +0 -4
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts +2 -2
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js +12 -30
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js.map +1 -1
- package/dist/engine/friends/nametagGenerate.d.ts +6 -0
- package/dist/engine/friends/nametagGenerate.d.ts.map +1 -0
- package/dist/engine/friends/nametagGenerate.js +9 -0
- package/dist/engine/friends/nametagGenerate.js.map +1 -0
- package/dist/engine/friends/nametagGenerate.spec.d.ts +2 -0
- package/dist/engine/friends/nametagGenerate.spec.d.ts.map +1 -0
- package/dist/engine/friends/nametagGenerate.spec.js +18 -0
- package/dist/engine/friends/nametagGenerate.spec.js.map +1 -0
- package/dist/engine/modules/rlm/rlmPromptSkills.spec.js +9 -9
- package/dist/engine/modules/rlm/rlmPromptSkills.spec.js.map +1 -1
- package/dist/engine/modules/tools/friendAddToolBuild.d.ts +2 -2
- package/dist/engine/modules/tools/friendAddToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/friendAddToolBuild.js +30 -33
- package/dist/engine/modules/tools/friendAddToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/friendAddToolBuild.spec.js +19 -19
- package/dist/engine/modules/tools/friendRemoveToolBuild.d.ts +2 -2
- package/dist/engine/modules/tools/friendRemoveToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/friendRemoveToolBuild.js +32 -35
- package/dist/engine/modules/tools/friendRemoveToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/friendRemoveToolBuild.spec.js +22 -22
- package/dist/engine/modules/tools/friendSendToolBuild.d.ts +1 -1
- package/dist/engine/modules/tools/friendSendToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/friendSendToolBuild.js +17 -20
- package/dist/engine/modules/tools/friendSendToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/friendSendToolBuild.spec.js +14 -14
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.d.ts +1 -1
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.js +20 -26
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.spec.js +18 -18
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.js +16 -19
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.spec.js +12 -12
- package/dist/engine/modules/tools/topologyToolBuild.js +5 -5
- package/dist/engine/modules/tools/topologyToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/topologyToolBuild.spec.js +8 -8
- package/dist/plugins/dashboard/site/404.html +1 -1
- package/dist/plugins/dashboard/site/agent.html +1 -1
- package/dist/plugins/dashboard/site/agent.txt +1 -1
- package/dist/plugins/dashboard/site/agents.html +1 -1
- package/dist/plugins/dashboard/site/agents.txt +1 -1
- package/dist/plugins/dashboard/site/automations.html +1 -1
- package/dist/plugins/dashboard/site/automations.txt +1 -1
- package/dist/plugins/dashboard/site/connectors.html +1 -1
- package/dist/plugins/dashboard/site/connectors.txt +1 -1
- package/dist/plugins/dashboard/site/index.html +1 -1
- package/dist/plugins/dashboard/site/index.txt +1 -1
- package/dist/plugins/dashboard/site/memory.html +1 -1
- package/dist/plugins/dashboard/site/memory.txt +1 -1
- package/dist/plugins/dashboard/site/processes.html +1 -1
- package/dist/plugins/dashboard/site/processes.txt +1 -1
- package/dist/plugins/dashboard/site/providers.html +1 -1
- package/dist/plugins/dashboard/site/providers.txt +1 -1
- package/dist/plugins/dashboard/site/signals.html +1 -1
- package/dist/plugins/dashboard/site/signals.txt +1 -1
- package/dist/plugins/dashboard/site/telemetry.html +1 -1
- package/dist/plugins/dashboard/site/telemetry.txt +1 -1
- package/dist/plugins/dashboard/site/tools.html +1 -1
- package/dist/plugins/dashboard/site/tools.txt +1 -1
- package/dist/prompts/SYSTEM_ENVIRONMENT.md +6 -0
- package/dist/prompts/SYSTEM_MEMORY.md +4 -4
- package/dist/prompts/SYSTEM_PERMISSIONS.md +3 -19
- package/dist/sandbox/docker/dockerContainerEnsure.d.ts +8 -0
- package/dist/sandbox/docker/dockerContainerEnsure.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerContainerEnsure.js +56 -0
- package/dist/sandbox/docker/dockerContainerEnsure.js.map +1 -0
- package/dist/sandbox/docker/dockerContainerEnsure.spec.d.ts +2 -0
- package/dist/sandbox/docker/dockerContainerEnsure.spec.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerContainerEnsure.spec.js +66 -0
- package/dist/sandbox/docker/dockerContainerEnsure.spec.js.map +1 -0
- package/dist/sandbox/docker/dockerContainerExec.d.ts +8 -0
- package/dist/sandbox/docker/dockerContainerExec.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerContainerExec.js +109 -0
- package/dist/sandbox/docker/dockerContainerExec.js.map +1 -0
- package/dist/sandbox/docker/dockerContainerExec.spec.d.ts +2 -0
- package/dist/sandbox/docker/dockerContainerExec.spec.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerContainerExec.spec.js +75 -0
- package/dist/sandbox/docker/dockerContainerExec.spec.js.map +1 -0
- package/dist/sandbox/docker/dockerContainerNameBuild.d.ts +6 -0
- package/dist/sandbox/docker/dockerContainerNameBuild.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerContainerNameBuild.js +15 -0
- package/dist/sandbox/docker/dockerContainerNameBuild.js.map +1 -0
- package/dist/sandbox/docker/dockerContainerNameBuild.spec.d.ts +2 -0
- package/dist/sandbox/docker/dockerContainerNameBuild.spec.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerContainerNameBuild.spec.js +17 -0
- package/dist/sandbox/docker/dockerContainerNameBuild.spec.js.map +1 -0
- package/dist/sandbox/docker/dockerContainers.d.ts +13 -0
- package/dist/sandbox/docker/dockerContainers.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerContainers.js +42 -0
- package/dist/sandbox/docker/dockerContainers.js.map +1 -0
- package/dist/sandbox/docker/dockerContainersShared.d.ts +3 -0
- package/dist/sandbox/docker/dockerContainersShared.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerContainersShared.js +3 -0
- package/dist/sandbox/docker/dockerContainersShared.js.map +1 -0
- package/dist/sandbox/docker/dockerRunInSandbox.d.ts +19 -0
- package/dist/sandbox/docker/dockerRunInSandbox.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerRunInSandbox.integration.spec.d.ts +2 -0
- package/dist/sandbox/docker/dockerRunInSandbox.integration.spec.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerRunInSandbox.integration.spec.js +143 -0
- package/dist/sandbox/docker/dockerRunInSandbox.integration.spec.js.map +1 -0
- package/dist/sandbox/docker/dockerRunInSandbox.js +117 -0
- package/dist/sandbox/docker/dockerRunInSandbox.js.map +1 -0
- package/dist/sandbox/docker/dockerRunInSandbox.spec.d.ts +2 -0
- package/dist/sandbox/docker/dockerRunInSandbox.spec.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerRunInSandbox.spec.js +127 -0
- package/dist/sandbox/docker/dockerRunInSandbox.spec.js.map +1 -0
- package/dist/sandbox/docker/dockerTypes.d.ts +23 -0
- package/dist/sandbox/docker/dockerTypes.d.ts.map +1 -0
- package/dist/sandbox/docker/dockerTypes.js +2 -0
- package/dist/sandbox/docker/dockerTypes.js.map +1 -0
- package/dist/sandbox/sandbox.d.ts +3 -1
- package/dist/sandbox/sandbox.d.ts.map +1 -1
- package/dist/sandbox/sandbox.js +42 -9
- package/dist/sandbox/sandbox.js.map +1 -1
- package/dist/sandbox/sandboxCanRead.d.ts.map +1 -1
- package/dist/sandbox/sandboxCanRead.js +8 -4
- package/dist/sandbox/sandboxCanRead.js.map +1 -1
- package/dist/sandbox/sandboxCanRead.spec.js +6 -4
- package/dist/sandbox/sandboxCanRead.spec.js.map +1 -1
- package/dist/sandbox/sandboxCanWrite.d.ts.map +1 -1
- package/dist/sandbox/sandboxCanWrite.js +25 -0
- package/dist/sandbox/sandboxCanWrite.js.map +1 -1
- package/dist/sandbox/sandboxCanWrite.spec.js +6 -1
- package/dist/sandbox/sandboxCanWrite.spec.js.map +1 -1
- package/dist/sandbox/sandboxDocker.spec.d.ts +2 -0
- package/dist/sandbox/sandboxDocker.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxDocker.spec.js +121 -0
- package/dist/sandbox/sandboxDocker.spec.js.map +1 -0
- package/dist/sandbox/sandboxPathContainerToHost.d.ts +6 -0
- package/dist/sandbox/sandboxPathContainerToHost.d.ts.map +1 -0
- package/dist/sandbox/sandboxPathContainerToHost.js +24 -0
- package/dist/sandbox/sandboxPathContainerToHost.js.map +1 -0
- package/dist/sandbox/sandboxPathContainerToHost.spec.d.ts +2 -0
- package/dist/sandbox/sandboxPathContainerToHost.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxPathContainerToHost.spec.js +25 -0
- package/dist/sandbox/sandboxPathContainerToHost.spec.js.map +1 -0
- package/dist/sandbox/sandboxPathHostToContainer.d.ts +6 -0
- package/dist/sandbox/sandboxPathHostToContainer.d.ts.map +1 -0
- package/dist/sandbox/sandboxPathHostToContainer.js +23 -0
- package/dist/sandbox/sandboxPathHostToContainer.js.map +1 -0
- package/dist/sandbox/sandboxPathHostToContainer.spec.d.ts +2 -0
- package/dist/sandbox/sandboxPathHostToContainer.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxPathHostToContainer.spec.js +32 -0
- package/dist/sandbox/sandboxPathHostToContainer.spec.js.map +1 -0
- package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.d.ts +11 -0
- package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.d.ts.map +1 -0
- package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.js +20 -0
- package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.js.map +1 -0
- package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.spec.d.ts +2 -0
- package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.spec.js +20 -0
- package/dist/sandbox/sandboxReadBoundaryDenyPathsBuild.spec.js.map +1 -0
- package/dist/sandbox/sandboxTypes.d.ts +9 -0
- package/dist/sandbox/sandboxTypes.d.ts.map +1 -1
- package/dist/settings.d.ts +17 -1
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/dist/skills/daycare-friendship/SKILL.md +295 -0
- package/dist/skills/skills/daycare-friendship/SKILL.md +295 -0
- package/dist/storage/agentsRepository.spec.js +1 -1
- package/dist/storage/connectionsRepository.spec.js +19 -19
- package/dist/storage/databaseTypes.d.ts +3 -3
- package/dist/storage/databaseTypes.d.ts.map +1 -1
- package/dist/storage/migrations/20260225_require_usertag.d.ts +7 -0
- package/dist/storage/migrations/20260225_require_usertag.d.ts.map +1 -0
- package/dist/storage/migrations/20260225_require_usertag.js +60 -0
- package/dist/storage/migrations/20260225_require_usertag.js.map +1 -0
- package/dist/storage/migrations/20260225_require_usertag.spec.d.ts +2 -0
- package/dist/storage/migrations/20260225_require_usertag.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260225_require_usertag.spec.js +70 -0
- package/dist/storage/migrations/20260225_require_usertag.spec.js.map +1 -0
- package/dist/storage/migrations/20260226_rename_usertag_to_nametag.d.ts +7 -0
- package/dist/storage/migrations/20260226_rename_usertag_to_nametag.d.ts.map +1 -0
- package/dist/storage/migrations/20260226_rename_usertag_to_nametag.js +47 -0
- package/dist/storage/migrations/20260226_rename_usertag_to_nametag.js.map +1 -0
- package/dist/storage/migrations/20260226_rename_usertag_to_nametag.spec.d.ts +2 -0
- package/dist/storage/migrations/20260226_rename_usertag_to_nametag.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260226_rename_usertag_to_nametag.spec.js +59 -0
- package/dist/storage/migrations/20260226_rename_usertag_to_nametag.spec.js.map +1 -0
- package/dist/storage/migrations/_migrations.d.ts.map +1 -1
- package/dist/storage/migrations/_migrations.js +5 -1
- package/dist/storage/migrations/_migrations.js.map +1 -1
- package/dist/storage/storage.d.ts +1 -1
- package/dist/storage/storage.js +15 -15
- package/dist/storage/storage.js.map +1 -1
- package/dist/storage/storage.spec.js +1 -1
- package/dist/storage/storage.spec.js.map +1 -1
- package/dist/storage/usersRepository.d.ts +2 -2
- package/dist/storage/usersRepository.d.ts.map +1 -1
- package/dist/storage/usersRepository.js +40 -21
- package/dist/storage/usersRepository.js.map +1 -1
- package/dist/storage/usersRepository.spec.js +8 -8
- package/package.json +6 -3
- package/dist/engine/friends/usertagGenerate.d.ts +0 -6
- package/dist/engine/friends/usertagGenerate.d.ts.map +0 -1
- package/dist/engine/friends/usertagGenerate.js +0 -311
- package/dist/engine/friends/usertagGenerate.js.map +0 -1
- package/dist/engine/friends/usertagGenerate.spec.d.ts +0 -2
- package/dist/engine/friends/usertagGenerate.spec.d.ts.map +0 -1
- package/dist/engine/friends/usertagGenerate.spec.js +0 -13
- package/dist/engine/friends/usertagGenerate.spec.js.map +0 -1
- /package/dist/plugins/dashboard/site/_next/static/{Hr0soHgJ1L7WevXil6GIk → fEfvfa55gmpjx9cT66rjx}/_buildManifest.js +0 -0
- /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
|
|
8
|
-
* Expects: context
|
|
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
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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,
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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":"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
|
|
1
|
+
{"version":3,"file":"rlmPromptSkills.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmPromptSkills.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "@/types";
|
|
2
2
|
/**
|
|
3
|
-
* Sends or confirms a friend request by
|
|
4
|
-
* Expects: caller is a frontend user with a generated
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
18
|
-
* Expects: caller is a frontend user with a generated
|
|
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
|
|
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
|
|
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
|
|
39
|
-
|
|
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.
|
|
41
|
+
const target = await users.findByNametag(targetNametag);
|
|
45
42
|
if (!target) {
|
|
46
|
-
throw new Error(`User not found for
|
|
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.
|
|
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 ${
|
|
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(`${
|
|
73
|
+
text: messageBuildSystemText(`${myNametag} accepted access to subuser "${target.name ?? target.id}" (${targetNametag}).`, origin)
|
|
77
74
|
});
|
|
78
|
-
return success("accepted_share",
|
|
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 ${
|
|
83
|
+
text: messageBuildSystemText(`User ${myNametag} wants to be your friend. Use friend_add("${myNametag}") to accept.`, origin)
|
|
87
84
|
});
|
|
88
|
-
return success("requested",
|
|
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 ${
|
|
89
|
+
throw new Error(`Already friends with ${targetNametag}.`);
|
|
93
90
|
}
|
|
94
91
|
if (state.myRequested && !state.otherRequested) {
|
|
95
|
-
throw new Error(`Friend request to ${
|
|
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(`${
|
|
99
|
+
text: messageBuildSystemText(`${myNametag} accepted your friend request. You are now friends.`, origin)
|
|
103
100
|
});
|
|
104
|
-
return success("accepted",
|
|
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 ${
|
|
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 ${
|
|
110
|
+
text: messageBuildSystemText(`User ${myNametag} wants to be your friend. Use friend_add("${myNametag}") to accept.`, origin)
|
|
114
111
|
});
|
|
115
|
-
return success("requested",
|
|
112
|
+
return success("requested", targetNametag, toolCall);
|
|
116
113
|
}
|
|
117
114
|
};
|
|
118
115
|
}
|
|
119
|
-
function success(status,
|
|
116
|
+
function success(status, nametag, toolCall) {
|
|
120
117
|
const summary = status === "requested"
|
|
121
|
-
? `Friend request sent to ${
|
|
118
|
+
? `Friend request sent to ${nametag}.`
|
|
122
119
|
: status === "accepted_share"
|
|
123
|
-
? `Accepted shared access to ${
|
|
124
|
-
: `${
|
|
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
|
-
|
|
135
|
+
nametag
|
|
139
136
|
}
|
|
140
137
|
};
|
|
141
138
|
}
|
|
142
|
-
function
|
|
139
|
+
function nametagNormalize(value) {
|
|
143
140
|
const normalized = value.trim().toLowerCase();
|
|
144
141
|
if (!normalized) {
|
|
145
|
-
throw new Error("
|
|
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":"AACA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CACtB;IACI,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CACzC,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAIF,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAC5B;IACI,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;CACzB,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAIF,MAAM,OAAO,GAAwC;IACjD,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAC9B,OAAO;QACH,IAAI,EAAE;YACF,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,6CAA6C;YAC1D,UAAU,EAAE,MAAM;SACrB;QACD,OAAO;QACP,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;QACjE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,IAAqB,CAAC;YACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YACpD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;YAEhE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,
|
|
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",
|
|
11
|
-
const bob = await storage.users.create({ id: "bob",
|
|
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({
|
|
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({
|
|
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",
|
|
42
|
-
const bob = await storage.users.create({ id: "bob",
|
|
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
|
-
|
|
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({
|
|
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",
|
|
72
|
-
const bob = await storage.users.create({ id: "bob",
|
|
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
|
-
|
|
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({
|
|
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",
|
|
92
|
-
const bob = await storage.users.create({ id: "bob",
|
|
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
|
-
|
|
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({
|
|
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",
|
|
111
|
-
const bob = await storage.users.create({ id: "bob",
|
|
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({
|
|
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
|
|
4
|
-
* Expects: caller is a frontend user with a generated
|
|
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,
|
|
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"}
|