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,15 +1,15 @@
|
|
|
1
1
|
import { Type } from "@sinclair/typebox";
|
|
2
2
|
import { messageBuildSystemText } from "../../messages/messageBuildSystemText.js";
|
|
3
3
|
const schema = Type.Object({
|
|
4
|
-
|
|
4
|
+
friendNametag: Type.String({ minLength: 1 }),
|
|
5
5
|
subuserId: 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
|
+
friendNametag: Type.String(),
|
|
11
11
|
subuserId: Type.String(),
|
|
12
|
-
|
|
12
|
+
subuserNametag: Type.String()
|
|
13
13
|
}, { additionalProperties: false });
|
|
14
14
|
const returns = {
|
|
15
15
|
schema: resultSchema,
|
|
@@ -17,20 +17,20 @@ const returns = {
|
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
19
|
* Shares one of the caller-owned subusers with an existing friend.
|
|
20
|
-
* Expects: caller owns subuserId and caller is already friends with
|
|
20
|
+
* Expects: caller owns subuserId and caller is already friends with friendNametag.
|
|
21
21
|
*/
|
|
22
22
|
export function friendShareSubuserToolBuild() {
|
|
23
23
|
return {
|
|
24
24
|
tool: {
|
|
25
25
|
name: "friend_share_subuser",
|
|
26
|
-
description: "Share one of your subusers with a friend by
|
|
26
|
+
description: "Share one of your subusers with a friend by nametag.",
|
|
27
27
|
parameters: schema
|
|
28
28
|
},
|
|
29
29
|
returns,
|
|
30
30
|
visibleByDefault: (context) => context.descriptor.type !== "subuser",
|
|
31
31
|
execute: async (args, toolContext, toolCall) => {
|
|
32
32
|
const payload = args;
|
|
33
|
-
const
|
|
33
|
+
const targetNametag = nametagNormalize(payload.friendNametag);
|
|
34
34
|
const subuserId = payload.subuserId.trim();
|
|
35
35
|
if (!subuserId) {
|
|
36
36
|
throw new Error("subuserId is required.");
|
|
@@ -41,13 +41,10 @@ export function friendShareSubuserToolBuild() {
|
|
|
41
41
|
if (!me) {
|
|
42
42
|
throw new Error("Current user not found.");
|
|
43
43
|
}
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
throw new Error("Current user does not have a usertag.");
|
|
47
|
-
}
|
|
48
|
-
const friend = await users.findByUsertag(targetUsertag);
|
|
44
|
+
const myNametag = me.nametag;
|
|
45
|
+
const friend = await users.findByNametag(targetNametag);
|
|
49
46
|
if (!friend) {
|
|
50
|
-
throw new Error(`User not found for
|
|
47
|
+
throw new Error(`User not found for nametag: ${targetNametag}`);
|
|
51
48
|
}
|
|
52
49
|
if (friend.id === me.id) {
|
|
53
50
|
throw new Error("Cannot share a subuser with yourself.");
|
|
@@ -62,31 +59,28 @@ export function friendShareSubuserToolBuild() {
|
|
|
62
59
|
if (subuser.parentUserId !== me.id) {
|
|
63
60
|
throw new Error("Subuser does not belong to the calling user.");
|
|
64
61
|
}
|
|
65
|
-
const
|
|
66
|
-
if (!subuserUsertag) {
|
|
67
|
-
throw new Error("Subuser does not have a usertag.");
|
|
68
|
-
}
|
|
62
|
+
const subuserNametag = subuser.nametag;
|
|
69
63
|
const friendship = await connections.find(me.id, friend.id);
|
|
70
64
|
if (!friendship || !friendship.requestedA || !friendship.requestedB) {
|
|
71
|
-
throw new Error(`You are not friends with ${
|
|
65
|
+
throw new Error(`You are not friends with ${targetNametag}.`);
|
|
72
66
|
}
|
|
73
67
|
const existingShare = await connections.find(subuser.id, friend.id);
|
|
74
68
|
if (existingShare?.requestedA && existingShare.requestedB) {
|
|
75
|
-
throw new Error(`Subuser ${subuserId} is already shared with ${
|
|
69
|
+
throw new Error(`Subuser ${subuserId} is already shared with ${targetNametag}.`);
|
|
76
70
|
}
|
|
77
71
|
const shareSideState = sideStateForUser(existingShare, subuser.id);
|
|
78
72
|
if (shareSideState.myRequested && !shareSideState.otherRequested) {
|
|
79
|
-
throw new Error(`A share request for subuser ${subuserId} is already pending with ${
|
|
73
|
+
throw new Error(`A share request for subuser ${subuserId} is already pending with ${targetNametag}.`);
|
|
80
74
|
}
|
|
81
75
|
await connections.upsertRequest(subuser.id, friend.id, Date.now());
|
|
82
|
-
const origin = `friend:${
|
|
76
|
+
const origin = `friend:${myNametag}`;
|
|
83
77
|
const subuserName = subuser.name ?? subuser.id;
|
|
84
78
|
await toolContext.agentSystem.postToUserAgents(friend.id, {
|
|
85
79
|
type: "system_message",
|
|
86
80
|
origin,
|
|
87
|
-
text: messageBuildSystemText(`${
|
|
81
|
+
text: messageBuildSystemText(`${myNametag} shared subuser "${subuserName}" (${subuserNametag}) with you. Use friend_add("${subuserNametag}") to accept.`, origin)
|
|
88
82
|
});
|
|
89
|
-
const summary = `Shared subuser ${subuserId} with ${
|
|
83
|
+
const summary = `Shared subuser ${subuserId} with ${targetNametag}.`;
|
|
90
84
|
const toolMessage = {
|
|
91
85
|
role: "toolResult",
|
|
92
86
|
toolCallId: toolCall.id,
|
|
@@ -100,18 +94,18 @@ export function friendShareSubuserToolBuild() {
|
|
|
100
94
|
typedResult: {
|
|
101
95
|
summary,
|
|
102
96
|
status: "offered",
|
|
103
|
-
|
|
97
|
+
friendNametag: targetNametag,
|
|
104
98
|
subuserId,
|
|
105
|
-
|
|
99
|
+
subuserNametag
|
|
106
100
|
}
|
|
107
101
|
};
|
|
108
102
|
}
|
|
109
103
|
};
|
|
110
104
|
}
|
|
111
|
-
function
|
|
105
|
+
function nametagNormalize(value) {
|
|
112
106
|
const normalized = value.trim().toLowerCase();
|
|
113
107
|
if (!normalized) {
|
|
114
|
-
throw new Error("
|
|
108
|
+
throw new Error("friendNametag is required.");
|
|
115
109
|
}
|
|
116
110
|
return normalized;
|
|
117
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"friendShareSubuserToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendShareSubuserToolBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CACtB;IACI,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CAC3C,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,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;IAC5B,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE;CAChC,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAIF,MAAM,OAAO,GAAiD;IAC1D,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACvC,OAAO;QACH,IAAI,EAAE;YACF,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,sDAAsD;YACnE,UAAU,EAAE,MAAM;SACrB;QACD,OAAO;QACP,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;QACpE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,IAA8B,CAAC;YAC/C,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YAED,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":"friendShareSubuserToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendShareSubuserToolBuild.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,20 +6,20 @@ describe("friendShareSubuserToolBuild", () => {
|
|
|
6
6
|
it("shares a subuser with an existing friend", async () => {
|
|
7
7
|
const storage = Storage.open(":memory:");
|
|
8
8
|
try {
|
|
9
|
-
const alice = await storage.users.create({ id: "alice",
|
|
10
|
-
const bob = await storage.users.create({ id: "bob",
|
|
11
|
-
await storage.users.create({ id: "charlie",
|
|
9
|
+
const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
|
|
10
|
+
const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
|
|
11
|
+
await storage.users.create({ id: "charlie", nametag: "brave-eagle-77" });
|
|
12
12
|
const subuser = await storage.users.create({
|
|
13
13
|
id: "alice-sub-1",
|
|
14
14
|
parentUserId: alice.id,
|
|
15
15
|
name: "helper",
|
|
16
|
-
|
|
16
|
+
nametag: "cool-cat-11"
|
|
17
17
|
});
|
|
18
18
|
await storage.connections.upsertRequest(alice.id, bob.id, 100);
|
|
19
19
|
await storage.connections.upsertRequest(bob.id, alice.id, 200);
|
|
20
20
|
const postToUserAgents = vi.fn(async () => undefined);
|
|
21
21
|
const tool = friendShareSubuserToolBuild();
|
|
22
|
-
const result = await tool.execute({
|
|
22
|
+
const result = await tool.execute({ friendNametag: "swift-fox-42", subuserId: subuser.id }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
|
|
23
23
|
expect(result.typedResult.status).toBe("offered");
|
|
24
24
|
expect(postToUserAgents).toHaveBeenCalledWith(bob.id, expect.objectContaining({
|
|
25
25
|
type: "system_message",
|
|
@@ -39,16 +39,16 @@ describe("friendShareSubuserToolBuild", () => {
|
|
|
39
39
|
it("fails when owner and friend are not connected", async () => {
|
|
40
40
|
const storage = Storage.open(":memory:");
|
|
41
41
|
try {
|
|
42
|
-
const alice = await storage.users.create({ id: "alice",
|
|
43
|
-
await storage.users.create({ id: "bob",
|
|
42
|
+
const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
|
|
43
|
+
await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
|
|
44
44
|
const subuser = await storage.users.create({
|
|
45
45
|
id: "alice-sub-1",
|
|
46
46
|
parentUserId: alice.id,
|
|
47
47
|
name: "helper",
|
|
48
|
-
|
|
48
|
+
nametag: "cool-cat-11"
|
|
49
49
|
});
|
|
50
50
|
const tool = friendShareSubuserToolBuild();
|
|
51
|
-
await expect(tool.execute({
|
|
51
|
+
await expect(tool.execute({ friendNametag: "swift-fox-42", subuserId: subuser.id }, contextBuild(alice.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("You are not friends");
|
|
52
52
|
}
|
|
53
53
|
finally {
|
|
54
54
|
storage.close();
|
|
@@ -57,19 +57,19 @@ describe("friendShareSubuserToolBuild", () => {
|
|
|
57
57
|
it("fails when caller does not own the subuser", async () => {
|
|
58
58
|
const storage = Storage.open(":memory:");
|
|
59
59
|
try {
|
|
60
|
-
const alice = await storage.users.create({ id: "alice",
|
|
61
|
-
const bob = await storage.users.create({ id: "bob",
|
|
62
|
-
await storage.users.create({ id: "charlie",
|
|
60
|
+
const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
|
|
61
|
+
const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
|
|
62
|
+
await storage.users.create({ id: "charlie", nametag: "brave-eagle-77" });
|
|
63
63
|
const subuser = await storage.users.create({
|
|
64
64
|
id: "alice-sub-1",
|
|
65
65
|
parentUserId: alice.id,
|
|
66
66
|
name: "helper",
|
|
67
|
-
|
|
67
|
+
nametag: "cool-cat-11"
|
|
68
68
|
});
|
|
69
69
|
await storage.connections.upsertRequest(alice.id, bob.id, 100);
|
|
70
70
|
await storage.connections.upsertRequest(bob.id, alice.id, 200);
|
|
71
71
|
const tool = friendShareSubuserToolBuild();
|
|
72
|
-
await expect(tool.execute({
|
|
72
|
+
await expect(tool.execute({ friendNametag: "brave-eagle-77", subuserId: subuser.id }, contextBuild(bob.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("Subuser does not belong to the calling user.");
|
|
73
73
|
}
|
|
74
74
|
finally {
|
|
75
75
|
storage.close();
|
|
@@ -78,20 +78,20 @@ describe("friendShareSubuserToolBuild", () => {
|
|
|
78
78
|
it("fails when share is already active", async () => {
|
|
79
79
|
const storage = Storage.open(":memory:");
|
|
80
80
|
try {
|
|
81
|
-
const alice = await storage.users.create({ id: "alice",
|
|
82
|
-
const bob = await storage.users.create({ id: "bob",
|
|
81
|
+
const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
|
|
82
|
+
const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
|
|
83
83
|
const subuser = await storage.users.create({
|
|
84
84
|
id: "alice-sub-1",
|
|
85
85
|
parentUserId: alice.id,
|
|
86
86
|
name: "helper",
|
|
87
|
-
|
|
87
|
+
nametag: "cool-cat-11"
|
|
88
88
|
});
|
|
89
89
|
await storage.connections.upsertRequest(alice.id, bob.id, 100);
|
|
90
90
|
await storage.connections.upsertRequest(bob.id, alice.id, 200);
|
|
91
91
|
await storage.connections.upsertRequest(subuser.id, bob.id, 300);
|
|
92
92
|
await storage.connections.upsertRequest(bob.id, subuser.id, 400);
|
|
93
93
|
const tool = friendShareSubuserToolBuild();
|
|
94
|
-
await expect(tool.execute({
|
|
94
|
+
await expect(tool.execute({ friendNametag: "swift-fox-42", subuserId: subuser.id }, contextBuild(alice.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("already shared");
|
|
95
95
|
}
|
|
96
96
|
finally {
|
|
97
97
|
storage.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"friendUnshareSubuserToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendUnshareSubuserToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA8BlE;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"friendUnshareSubuserToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendUnshareSubuserToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AA8BlE;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,cAAc,CAsF9D"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Type } from "@sinclair/typebox";
|
|
2
2
|
import { messageBuildSystemText } from "../../messages/messageBuildSystemText.js";
|
|
3
3
|
const schema = Type.Object({
|
|
4
|
-
|
|
4
|
+
friendNametag: Type.String({ minLength: 1 }),
|
|
5
5
|
subuserId: 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
|
+
friendNametag: Type.String(),
|
|
11
11
|
subuserId: Type.String()
|
|
12
12
|
}, { additionalProperties: false });
|
|
13
13
|
const returns = {
|
|
@@ -22,14 +22,14 @@ export function friendUnshareSubuserToolBuild() {
|
|
|
22
22
|
return {
|
|
23
23
|
tool: {
|
|
24
24
|
name: "friend_unshare_subuser",
|
|
25
|
-
description: "Revoke a subuser share from a friend by
|
|
25
|
+
description: "Revoke a subuser share from a friend by nametag.",
|
|
26
26
|
parameters: schema
|
|
27
27
|
},
|
|
28
28
|
returns,
|
|
29
29
|
visibleByDefault: (context) => context.descriptor.type !== "subuser",
|
|
30
30
|
execute: async (args, toolContext, toolCall) => {
|
|
31
31
|
const payload = args;
|
|
32
|
-
const
|
|
32
|
+
const targetNametag = nametagNormalize(payload.friendNametag);
|
|
33
33
|
const subuserId = payload.subuserId.trim();
|
|
34
34
|
if (!subuserId) {
|
|
35
35
|
throw new Error("subuserId is required.");
|
|
@@ -40,13 +40,10 @@ export function friendUnshareSubuserToolBuild() {
|
|
|
40
40
|
if (!me) {
|
|
41
41
|
throw new Error("Current user not found.");
|
|
42
42
|
}
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
throw new Error("Current user does not have a usertag.");
|
|
46
|
-
}
|
|
47
|
-
const friend = await users.findByUsertag(targetUsertag);
|
|
43
|
+
const myNametag = me.nametag;
|
|
44
|
+
const friend = await users.findByNametag(targetNametag);
|
|
48
45
|
if (!friend) {
|
|
49
|
-
throw new Error(`User not found for
|
|
46
|
+
throw new Error(`User not found for nametag: ${targetNametag}`);
|
|
50
47
|
}
|
|
51
48
|
const subuser = await users.findById(subuserId);
|
|
52
49
|
if (!subuser) {
|
|
@@ -57,25 +54,25 @@ export function friendUnshareSubuserToolBuild() {
|
|
|
57
54
|
}
|
|
58
55
|
const existing = await connections.find(subuser.id, friend.id);
|
|
59
56
|
if (!existing) {
|
|
60
|
-
throw new Error(`No share exists for subuser ${subuserId} and ${
|
|
57
|
+
throw new Error(`No share exists for subuser ${subuserId} and ${targetNametag}.`);
|
|
61
58
|
}
|
|
62
59
|
const state = sideStateForUser(existing, subuser.id);
|
|
63
60
|
if (!state.myRequested) {
|
|
64
|
-
throw new Error(`No share exists for subuser ${subuserId} and ${
|
|
61
|
+
throw new Error(`No share exists for subuser ${subuserId} and ${targetNametag}.`);
|
|
65
62
|
}
|
|
66
63
|
const updated = await connections.clearSide(subuser.id, friend.id);
|
|
67
64
|
if (updated && !updated.requestedA && !updated.requestedB) {
|
|
68
65
|
await connections.delete(subuser.id, friend.id);
|
|
69
66
|
}
|
|
70
|
-
const origin = `friend:${
|
|
67
|
+
const origin = `friend:${myNametag}`;
|
|
71
68
|
const subuserName = subuser.name ?? subuser.id;
|
|
72
|
-
const
|
|
69
|
+
const subuserNametag = subuser.nametag;
|
|
73
70
|
await toolContext.agentSystem.postToUserAgents(friend.id, {
|
|
74
71
|
type: "system_message",
|
|
75
72
|
origin,
|
|
76
|
-
text: messageBuildSystemText(`${
|
|
73
|
+
text: messageBuildSystemText(`${myNametag} revoked your access to subuser "${subuserName}" (${subuserNametag}).`, origin)
|
|
77
74
|
});
|
|
78
|
-
const summary = `Revoked subuser ${subuserId} share from ${
|
|
75
|
+
const summary = `Revoked subuser ${subuserId} share from ${targetNametag}.`;
|
|
79
76
|
const toolMessage = {
|
|
80
77
|
role: "toolResult",
|
|
81
78
|
toolCallId: toolCall.id,
|
|
@@ -89,17 +86,17 @@ export function friendUnshareSubuserToolBuild() {
|
|
|
89
86
|
typedResult: {
|
|
90
87
|
summary,
|
|
91
88
|
status: "revoked",
|
|
92
|
-
|
|
89
|
+
friendNametag: targetNametag,
|
|
93
90
|
subuserId
|
|
94
91
|
}
|
|
95
92
|
};
|
|
96
93
|
}
|
|
97
94
|
};
|
|
98
95
|
}
|
|
99
|
-
function
|
|
96
|
+
function nametagNormalize(value) {
|
|
100
97
|
const normalized = value.trim().toLowerCase();
|
|
101
98
|
if (!normalized) {
|
|
102
|
-
throw new Error("
|
|
99
|
+
throw new Error("friendNametag is required.");
|
|
103
100
|
}
|
|
104
101
|
return normalized;
|
|
105
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"friendUnshareSubuserToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendUnshareSubuserToolBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CACtB;IACI,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CAC3C,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,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;IAC5B,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;CAC3B,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAIF,MAAM,OAAO,GAAmD;IAC5D,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IACzC,OAAO;QACH,IAAI,EAAE;YACF,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,kDAAkD;YAC/D,UAAU,EAAE,MAAM;SACrB;QACD,OAAO;QACP,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;QACpE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,IAAgC,CAAC;YACjD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YACpD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;YAChE,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":"friendUnshareSubuserToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/friendUnshareSubuserToolBuild.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,19 @@ describe("friendUnshareSubuserToolBuild", () => {
|
|
|
6
6
|
it("revokes an active share and notifies the friend", async () => {
|
|
7
7
|
const storage = Storage.open(":memory:");
|
|
8
8
|
try {
|
|
9
|
-
const alice = await storage.users.create({ id: "alice",
|
|
10
|
-
const bob = await storage.users.create({ id: "bob",
|
|
9
|
+
const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
|
|
10
|
+
const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
|
|
11
11
|
const subuser = await storage.users.create({
|
|
12
12
|
id: "alice-sub-1",
|
|
13
13
|
parentUserId: alice.id,
|
|
14
14
|
name: "helper",
|
|
15
|
-
|
|
15
|
+
nametag: "cool-cat-11"
|
|
16
16
|
});
|
|
17
17
|
await storage.connections.upsertRequest(subuser.id, bob.id, 100);
|
|
18
18
|
await storage.connections.upsertRequest(bob.id, subuser.id, 200);
|
|
19
19
|
const postToUserAgents = vi.fn(async () => undefined);
|
|
20
20
|
const tool = friendUnshareSubuserToolBuild();
|
|
21
|
-
const result = await tool.execute({
|
|
21
|
+
const result = await tool.execute({ friendNametag: "swift-fox-42", subuserId: subuser.id }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
|
|
22
22
|
expect(result.typedResult.status).toBe("revoked");
|
|
23
23
|
expect(postToUserAgents).toHaveBeenCalledWith(bob.id, expect.objectContaining({
|
|
24
24
|
type: "system_message",
|
|
@@ -37,18 +37,18 @@ describe("friendUnshareSubuserToolBuild", () => {
|
|
|
37
37
|
it("revokes a pending share offer and removes the empty row", async () => {
|
|
38
38
|
const storage = Storage.open(":memory:");
|
|
39
39
|
try {
|
|
40
|
-
const alice = await storage.users.create({ id: "alice",
|
|
41
|
-
const bob = await storage.users.create({ id: "bob",
|
|
40
|
+
const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
|
|
41
|
+
const bob = await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
|
|
42
42
|
const subuser = await storage.users.create({
|
|
43
43
|
id: "alice-sub-1",
|
|
44
44
|
parentUserId: alice.id,
|
|
45
45
|
name: "helper",
|
|
46
|
-
|
|
46
|
+
nametag: "cool-cat-11"
|
|
47
47
|
});
|
|
48
48
|
await storage.connections.upsertRequest(subuser.id, bob.id, 100);
|
|
49
49
|
const postToUserAgents = vi.fn(async () => undefined);
|
|
50
50
|
const tool = friendUnshareSubuserToolBuild();
|
|
51
|
-
const result = await tool.execute({
|
|
51
|
+
const result = await tool.execute({ friendNametag: "swift-fox-42", subuserId: subuser.id }, contextBuild(alice.id, storage, postToUserAgents), toolCall);
|
|
52
52
|
expect(result.typedResult.status).toBe("revoked");
|
|
53
53
|
expect(await storage.connections.find(subuser.id, bob.id)).toBeNull();
|
|
54
54
|
expect(postToUserAgents).toHaveBeenCalledWith(bob.id, expect.objectContaining({
|
|
@@ -63,16 +63,16 @@ describe("friendUnshareSubuserToolBuild", () => {
|
|
|
63
63
|
it("fails when no share exists", async () => {
|
|
64
64
|
const storage = Storage.open(":memory:");
|
|
65
65
|
try {
|
|
66
|
-
const alice = await storage.users.create({ id: "alice",
|
|
67
|
-
await storage.users.create({ id: "bob",
|
|
66
|
+
const alice = await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
|
|
67
|
+
await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
|
|
68
68
|
await storage.users.create({
|
|
69
69
|
id: "alice-sub-1",
|
|
70
70
|
parentUserId: alice.id,
|
|
71
71
|
name: "helper",
|
|
72
|
-
|
|
72
|
+
nametag: "cool-cat-11"
|
|
73
73
|
});
|
|
74
74
|
const tool = friendUnshareSubuserToolBuild();
|
|
75
|
-
await expect(tool.execute({
|
|
75
|
+
await expect(tool.execute({ friendNametag: "swift-fox-42", subuserId: "alice-sub-1" }, contextBuild(alice.id, storage, vi.fn(async () => undefined)), toolCall)).rejects.toThrow("No share exists");
|
|
76
76
|
}
|
|
77
77
|
finally {
|
|
78
78
|
storage.close();
|
|
@@ -270,8 +270,8 @@ async function listFriendLinesBuild(callerUserId, storage, agents) {
|
|
|
270
270
|
})))
|
|
271
271
|
.filter((entry) => !!entry)
|
|
272
272
|
.sort((left, right) => {
|
|
273
|
-
const leftTag = left.
|
|
274
|
-
const rightTag = right.
|
|
273
|
+
const leftTag = left.nametag;
|
|
274
|
+
const rightTag = right.nametag;
|
|
275
275
|
return leftTag.localeCompare(rightTag);
|
|
276
276
|
});
|
|
277
277
|
if (friendUsers.length === 0) {
|
|
@@ -286,7 +286,7 @@ async function listFriendLinesBuild(callerUserId, storage, agents) {
|
|
|
286
286
|
const lines = [];
|
|
287
287
|
for (let i = 0; i < friendUsers.length; i += 1) {
|
|
288
288
|
const friend = friendUsers[i];
|
|
289
|
-
const friendTag = friend.
|
|
289
|
+
const friendTag = friend.nametag;
|
|
290
290
|
lines.push(friendTag);
|
|
291
291
|
const [outgoing, incoming] = await Promise.all([
|
|
292
292
|
storage.connections.findConnectionsWithSubusersOf(friend.id, callerUserId),
|
|
@@ -337,12 +337,12 @@ async function sharedSubuserLinesBuild(options) {
|
|
|
337
337
|
}
|
|
338
338
|
options.userCache.set(subuserId, subuser);
|
|
339
339
|
const subuserName = subuser.name ?? subuser.id;
|
|
340
|
-
const subuserTag = subuser.
|
|
340
|
+
const subuserTag = subuser.nametag;
|
|
341
341
|
const gateway = options.gatewayBySubuserId.get(subuserId) ?? "none";
|
|
342
342
|
const status = connection.requestedA && connection.requestedB ? "active" : "pending";
|
|
343
343
|
const arrow = options.direction === "out" ? "→" : "←";
|
|
344
344
|
const relation = options.direction === "out" ? "shared out" : "shared in";
|
|
345
|
-
lines.push(` ${arrow} ${relation}: ${subuserName} (
|
|
345
|
+
lines.push(` ${arrow} ${relation}: ${subuserName} (nametag=${subuserTag}) gateway=${gateway} status=${status}`);
|
|
346
346
|
}
|
|
347
347
|
return lines;
|
|
348
348
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topologyToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/topologyToolBuild.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"topologyToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/topologyToolBuild.ts"],"names":[],"mappings":"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"}
|
|
@@ -279,25 +279,25 @@ describe("topologyTool", () => {
|
|
|
279
279
|
const config = configResolve({ engine: { dataDir: dir } }, path.join(dir, "settings.json"));
|
|
280
280
|
const storage = storageResolve(config);
|
|
281
281
|
try {
|
|
282
|
-
await storage.users.create({ id: "alice",
|
|
283
|
-
await storage.users.create({ id: "bob",
|
|
282
|
+
await storage.users.create({ id: "alice", nametag: "happy-penguin-42" });
|
|
283
|
+
await storage.users.create({ id: "bob", nametag: "swift-fox-42" });
|
|
284
284
|
await storage.users.create({
|
|
285
285
|
id: "alice-sub-active",
|
|
286
286
|
parentUserId: "alice",
|
|
287
287
|
name: "helper",
|
|
288
|
-
|
|
288
|
+
nametag: "cool-cat-11"
|
|
289
289
|
});
|
|
290
290
|
await storage.users.create({
|
|
291
291
|
id: "alice-sub-pending",
|
|
292
292
|
parentUserId: "alice",
|
|
293
293
|
name: "assistant",
|
|
294
|
-
|
|
294
|
+
nametag: "lazy-dog-55"
|
|
295
295
|
});
|
|
296
296
|
await storage.users.create({
|
|
297
297
|
id: "bob-sub-active",
|
|
298
298
|
parentUserId: "bob",
|
|
299
299
|
name: "bob-helper",
|
|
300
|
-
|
|
300
|
+
nametag: "smart-owl-22"
|
|
301
301
|
});
|
|
302
302
|
await storage.connections.upsertRequest("alice", "bob", 100);
|
|
303
303
|
await storage.connections.upsertRequest("bob", "alice", 200);
|
|
@@ -357,9 +357,9 @@ describe("topologyTool", () => {
|
|
|
357
357
|
const text = contentText(result.toolMessage.content);
|
|
358
358
|
expect(text).toContain("## Friends (1)");
|
|
359
359
|
expect(text).toContain("swift-fox-42");
|
|
360
|
-
expect(text).toContain("→ shared out: helper (
|
|
361
|
-
expect(text).toContain("→ shared out: assistant (
|
|
362
|
-
expect(text).toContain("← shared in: bob-helper (
|
|
360
|
+
expect(text).toContain("→ shared out: helper (nametag=cool-cat-11) gateway=gateway-alice-active status=active");
|
|
361
|
+
expect(text).toContain("→ shared out: assistant (nametag=lazy-dog-55) gateway=gateway-alice-pending status=pending");
|
|
362
|
+
expect(text).toContain("← shared in: bob-helper (nametag=smart-owl-22) gateway=gateway-bob-active status=active");
|
|
363
363
|
expect(result.typedResult.friendCount).toBe(1);
|
|
364
364
|
}
|
|
365
365
|
finally {
|