daycare-cli 2026.2.26 → 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 +2 -0
- package/dist/engine/agents/agent.d.ts.map +1 -1
- package/dist/engine/agents/agent.js +18 -3
- package/dist/engine/agents/agent.js.map +1 -1
- package/dist/engine/agents/agentSystem.d.ts +5 -0
- package/dist/engine/agents/agentSystem.d.ts.map +1 -1
- package/dist/engine/agents/agentSystem.js +16 -1
- package/dist/engine/agents/agentSystem.js.map +1 -1
- package/dist/engine/agents/agentSystem.spec.js +59 -0
- package/dist/engine/agents/agentSystem.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.d.ts +0 -2
- package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.js +4 -7
- package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.spec.js +21 -24
- package/dist/engine/agents/ops/agentLoopRun.spec.js.map +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/apps/appExecute.spec.js +2 -10
- package/dist/engine/apps/appExecute.spec.js.map +1 -1
- package/dist/engine/apps/appInstallToolBuild.js +1 -1
- package/dist/engine/apps/appInstallToolBuild.js.map +1 -1
- package/dist/engine/apps/appInstallToolBuild.spec.js +1 -5
- package/dist/engine/apps/appInstallToolBuild.spec.js.map +1 -1
- package/dist/engine/apps/appRuleToolBuild.spec.js +1 -5
- package/dist/engine/apps/appRuleToolBuild.spec.js.map +1 -1
- package/dist/engine/apps/appToolExecutorBuild.spec.js +1 -5
- package/dist/engine/apps/appToolExecutorBuild.spec.js.map +1 -1
- package/dist/engine/engine.d.ts.map +1 -1
- package/dist/engine/engine.js +10 -0
- package/dist/engine/engine.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/executablePrompts/executablePromptExpand.spec.js +1 -5
- package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js.map +1 -1
- package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js +1 -5
- package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmExecute.spec.js +1 -5
- package/dist/engine/modules/rlm/rlmExecute.spec.js.map +1 -1
- 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/rlm/rlmRestore.spec.js +1 -5
- package/dist/engine/modules/rlm/rlmRestore.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmTool.spec.js +1 -5
- package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
- package/dist/engine/modules/say/sayFileResolve.d.ts +4 -5
- package/dist/engine/modules/say/sayFileResolve.d.ts.map +1 -1
- package/dist/engine/modules/say/sayFileResolve.js +24 -14
- package/dist/engine/modules/say/sayFileResolve.js.map +1 -1
- package/dist/engine/modules/say/sayFileResolve.spec.js +28 -29
- package/dist/engine/modules/say/sayFileResolve.spec.js.map +1 -1
- package/dist/engine/modules/toolResolver.spec.js +1 -5
- package/dist/engine/modules/toolResolver.spec.js.map +1 -1
- package/dist/engine/modules/tools/agentCompactTool.spec.js +1 -5
- package/dist/engine/modules/tools/agentCompactTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/agentResetTool.spec.js +1 -5
- package/dist/engine/modules/tools/agentResetTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/background.spec.js +3 -11
- package/dist/engine/modules/tools/background.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelCreateTool.spec.js +1 -5
- package/dist/engine/modules/tools/channelCreateTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelHistoryTool.spec.js +1 -5
- package/dist/engine/modules/tools/channelHistoryTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelMemberTool.spec.js +1 -5
- package/dist/engine/modules/tools/channelMemberTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelSendTool.spec.js +1 -5
- package/dist/engine/modules/tools/channelSendTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/friendAddToolBuild.d.ts +7 -0
- package/dist/engine/modules/tools/friendAddToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendAddToolBuild.js +160 -0
- package/dist/engine/modules/tools/friendAddToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/friendAddToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/friendAddToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendAddToolBuild.spec.js +151 -0
- package/dist/engine/modules/tools/friendAddToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/friendRemoveToolBuild.d.ts +7 -0
- package/dist/engine/modules/tools/friendRemoveToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendRemoveToolBuild.js +171 -0
- package/dist/engine/modules/tools/friendRemoveToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/friendRemoveToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/friendRemoveToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendRemoveToolBuild.spec.js +172 -0
- package/dist/engine/modules/tools/friendRemoveToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/friendSendToolBuild.d.ts +7 -0
- package/dist/engine/modules/tools/friendSendToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendSendToolBuild.js +101 -0
- package/dist/engine/modules/tools/friendSendToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/friendSendToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/friendSendToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendSendToolBuild.spec.js +120 -0
- package/dist/engine/modules/tools/friendSendToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.d.ts +7 -0
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.js +127 -0
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.spec.js +119 -0
- package/dist/engine/modules/tools/friendShareSubuserToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.d.ts +7 -0
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.js +115 -0
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.spec.js +100 -0
- package/dist/engine/modules/tools/friendUnshareSubuserToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/image-generation.d.ts.map +1 -1
- package/dist/engine/modules/tools/image-generation.js +26 -10
- package/dist/engine/modules/tools/image-generation.js.map +1 -1
- package/dist/engine/modules/tools/image-generation.spec.js +13 -10
- package/dist/engine/modules/tools/image-generation.spec.js.map +1 -1
- package/dist/engine/modules/tools/mermaid-png.d.ts.map +1 -1
- package/dist/engine/modules/tools/mermaid-png.js +16 -11
- package/dist/engine/modules/tools/mermaid-png.js.map +1 -1
- package/dist/engine/modules/tools/mermaid-png.spec.js +20 -24
- package/dist/engine/modules/tools/mermaid-png.spec.js.map +1 -1
- package/dist/engine/modules/tools/pdf-process.d.ts.map +1 -1
- package/dist/engine/modules/tools/pdf-process.js +10 -38
- package/dist/engine/modules/tools/pdf-process.js.map +1 -1
- package/dist/engine/modules/tools/pdf-process.spec.js +15 -5
- package/dist/engine/modules/tools/pdf-process.spec.js.map +1 -1
- package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js +5 -13
- package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/send-file.d.ts.map +1 -1
- package/dist/engine/modules/tools/send-file.js +20 -11
- package/dist/engine/modules/tools/send-file.js.map +1 -1
- package/dist/engine/modules/tools/sendUserMessageTool.spec.js +1 -5
- package/dist/engine/modules/tools/sendUserMessageTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/sessionHistoryToolBuild.spec.js +1 -2
- package/dist/engine/modules/tools/sessionHistoryToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/signal.spec.js +1 -5
- package/dist/engine/modules/tools/signal.spec.js.map +1 -1
- package/dist/engine/modules/tools/signalEventsCsvToolBuild.spec.js +1 -5
- package/dist/engine/modules/tools/signalEventsCsvToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/signalSubscribeToolBuild.spec.js +1 -5
- package/dist/engine/modules/tools/signalSubscribeToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/signalUnsubscribeToolBuild.spec.js +1 -5
- package/dist/engine/modules/tools/signalUnsubscribeToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/skillToolBuild.js +3 -3
- package/dist/engine/modules/tools/skillToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/skillToolBuild.spec.js +12 -9
- package/dist/engine/modules/tools/skillToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.js +1 -2
- package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/subuserCreateToolBuild.spec.js +1 -2
- package/dist/engine/modules/tools/subuserCreateToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/subuserListToolBuild.spec.js +1 -2
- package/dist/engine/modules/tools/subuserListToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/topologyToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/topologyToolBuild.js +111 -2
- package/dist/engine/modules/tools/topologyToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/topologyToolBuild.spec.js +99 -2
- package/dist/engine/modules/tools/topologyToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/types.d.ts +3 -4
- package/dist/engine/modules/tools/types.d.ts.map +1 -1
- 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/plugins/database/__tests__/plugin.spec.js +4 -2
- package/dist/plugins/database/__tests__/plugin.spec.js.map +1 -1
- package/dist/plugins/monty-python/tool.spec.js +1 -2
- package/dist/plugins/monty-python/tool.spec.js.map +1 -1
- package/dist/plugins/shell/processTools.js +1 -1
- package/dist/plugins/shell/processTools.js.map +1 -1
- package/dist/plugins/shell/processTools.spec.js +2 -3
- package/dist/plugins/shell/processTools.spec.js.map +1 -1
- package/dist/plugins/shell/tool.d.ts.map +1 -1
- package/dist/plugins/shell/tool.js +90 -486
- package/dist/plugins/shell/tool.js.map +1 -1
- package/dist/plugins/shell/tool.spec.js +11 -20
- package/dist/plugins/shell/tool.spec.js.map +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 +28 -0
- package/dist/sandbox/sandbox.d.ts.map +1 -0
- package/dist/sandbox/sandbox.js +499 -0
- package/dist/sandbox/sandbox.js.map +1 -0
- package/dist/sandbox/sandbox.spec.d.ts +2 -0
- package/dist/sandbox/sandbox.spec.d.ts.map +1 -0
- package/dist/sandbox/sandbox.spec.js +167 -0
- package/dist/sandbox/sandbox.spec.js.map +1 -0
- package/dist/sandbox/sandboxCanRead.d.ts.map +1 -1
- package/dist/sandbox/sandboxCanRead.js +6 -6
- package/dist/sandbox/sandboxCanRead.js.map +1 -1
- package/dist/sandbox/sandboxCanRead.spec.js +15 -7
- 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/sandboxFilesystemPolicyBuild.d.ts +1 -1
- package/dist/sandbox/sandboxFilesystemPolicyBuild.d.ts.map +1 -1
- package/dist/sandbox/sandboxFilesystemPolicyBuild.js +14 -6
- package/dist/sandbox/sandboxFilesystemPolicyBuild.js.map +1 -1
- package/dist/sandbox/sandboxFilesystemPolicyBuild.spec.js +7 -2
- package/dist/sandbox/sandboxFilesystemPolicyBuild.spec.js.map +1 -1
- 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/sandboxReadDenyPathsBuild.d.ts +13 -0
- package/dist/sandbox/sandboxReadDenyPathsBuild.d.ts.map +1 -0
- package/dist/sandbox/sandboxReadDenyPathsBuild.js +28 -0
- package/dist/sandbox/sandboxReadDenyPathsBuild.js.map +1 -0
- package/dist/sandbox/sandboxReadDenyPathsBuild.spec.d.ts +2 -0
- package/dist/sandbox/sandboxReadDenyPathsBuild.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxReadDenyPathsBuild.spec.js +29 -0
- package/dist/sandbox/sandboxReadDenyPathsBuild.spec.js.map +1 -0
- package/dist/sandbox/sandboxTypes.d.ts +76 -0
- package/dist/sandbox/sandboxTypes.d.ts.map +1 -0
- package/dist/sandbox/sandboxTypes.js +2 -0
- package/dist/sandbox/sandboxTypes.js.map +1 -0
- 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.d.ts +1 -0
- package/dist/storage/agentsRepository.d.ts.map +1 -1
- package/dist/storage/agentsRepository.js +16 -0
- package/dist/storage/agentsRepository.js.map +1 -1
- package/dist/storage/agentsRepository.spec.js +45 -0
- package/dist/storage/agentsRepository.spec.js.map +1 -1
- package/dist/storage/connectionsRepository.d.ts +18 -0
- package/dist/storage/connectionsRepository.d.ts.map +1 -0
- package/dist/storage/connectionsRepository.js +163 -0
- package/dist/storage/connectionsRepository.js.map +1 -0
- package/dist/storage/connectionsRepository.spec.d.ts +2 -0
- package/dist/storage/connectionsRepository.spec.d.ts.map +1 -0
- package/dist/storage/connectionsRepository.spec.js +115 -0
- package/dist/storage/connectionsRepository.spec.js.map +1 -0
- package/dist/storage/databaseTypes.d.ts +19 -0
- package/dist/storage/databaseTypes.d.ts.map +1 -1
- package/dist/storage/migrations/20260222_add_usertag_connections.d.ts +7 -0
- package/dist/storage/migrations/20260222_add_usertag_connections.d.ts.map +1 -0
- package/dist/storage/migrations/20260222_add_usertag_connections.js +32 -0
- package/dist/storage/migrations/20260222_add_usertag_connections.js.map +1 -0
- package/dist/storage/migrations/20260222_add_usertag_connections.spec.d.ts +2 -0
- package/dist/storage/migrations/20260222_add_usertag_connections.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260222_add_usertag_connections.spec.js +55 -0
- package/dist/storage/migrations/20260222_add_usertag_connections.spec.js.map +1 -0
- 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 +7 -1
- package/dist/storage/migrations/_migrations.js.map +1 -1
- package/dist/storage/storage.d.ts +3 -0
- package/dist/storage/storage.d.ts.map +1 -1
- package/dist/storage/storage.js +35 -3
- package/dist/storage/storage.js.map +1 -1
- package/dist/storage/storage.spec.js +1 -0
- package/dist/storage/storage.spec.js.map +1 -1
- package/dist/storage/usersRepository.d.ts +2 -0
- package/dist/storage/usersRepository.d.ts.map +1 -1
- package/dist/storage/usersRepository.js +63 -3
- package/dist/storage/usersRepository.js.map +1 -1
- package/dist/storage/usersRepository.spec.js +9 -2
- package/dist/storage/usersRepository.spec.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -1
- package/package.json +6 -3
- /package/dist/plugins/dashboard/site/_next/static/{X_oqQhoSTmj1_qmNPx-r5 → fEfvfa55gmpjx9cT66rjx}/_buildManifest.js +0 -0
- /package/dist/plugins/dashboard/site/_next/static/{X_oqQhoSTmj1_qmNPx-r5 → fEfvfa55gmpjx9cT66rjx}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: daycare-friendship
|
|
3
|
+
description: Friendship mechanics for daycare agents. Use when the user wants to add friends, manage friend requests, send messages to friends, share or unshare subusers with friends, or understand what nametags are.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Friendship
|
|
7
|
+
|
|
8
|
+
Daycare lets users connect as friends and share subusers across boundaries. This skill covers nametags, the friendship lifecycle, messaging, and subuser sharing.
|
|
9
|
+
|
|
10
|
+
## What is a Nametag
|
|
11
|
+
|
|
12
|
+
Every user (and subuser) in Daycare has a **nametag** — a unique, human-readable identifier. Nametags are how users refer to each other in all friend operations.
|
|
13
|
+
|
|
14
|
+
**Format:** A lowercase string generated from dictionary words plus random digits with no separator, e.g. `swiftfox42`, `happypenguin7`, `lazydog55`.
|
|
15
|
+
|
|
16
|
+
**Key properties:**
|
|
17
|
+
- Required for every user — assigned automatically at creation
|
|
18
|
+
- Globally unique across the entire Daycare instance
|
|
19
|
+
- Case-insensitive when looking up (always normalized to lowercase)
|
|
20
|
+
- Immutable once assigned — nametags do not change
|
|
21
|
+
- Used instead of raw user IDs in all user-facing interactions
|
|
22
|
+
|
|
23
|
+
**How to find a nametag:** Run `topology` — your own nametag appears at the top. Friends and their nametags appear in the Friends section.
|
|
24
|
+
|
|
25
|
+
## Why Friends
|
|
26
|
+
|
|
27
|
+
Friendship serves two purposes:
|
|
28
|
+
|
|
29
|
+
1. **Direct messaging** — Friends can send messages to each other across user boundaries. Without friendship, users are completely isolated.
|
|
30
|
+
2. **Subuser sharing** — Owners can share their subusers (isolated applications) with friends, enabling collaboration. A friend who accepts a shared subuser can message it directly.
|
|
31
|
+
|
|
32
|
+
Friendship is mutual — both sides must agree. This prevents spam and unwanted access.
|
|
33
|
+
|
|
34
|
+
## Friendship Lifecycle
|
|
35
|
+
|
|
36
|
+
### States
|
|
37
|
+
|
|
38
|
+
A relationship between two users progresses through these states:
|
|
39
|
+
|
|
40
|
+
| State | Meaning |
|
|
41
|
+
|-------|---------|
|
|
42
|
+
| None | No relationship exists |
|
|
43
|
+
| PendingOut | You sent a request, waiting for them to accept |
|
|
44
|
+
| PendingIn | They sent you a request, waiting for you to accept |
|
|
45
|
+
| Friends | Both sides accepted — full access to messaging and sharing |
|
|
46
|
+
|
|
47
|
+
### Flow
|
|
48
|
+
|
|
49
|
+
**Adding a friend:**
|
|
50
|
+
|
|
51
|
+
1. You call `friend_add("their-nametag")` — state moves to **PendingOut**
|
|
52
|
+
2. They receive a system message notifying them of your request
|
|
53
|
+
3. They call `friend_add("your-nametag")` — state moves to **Friends**
|
|
54
|
+
4. You receive a system message confirming the friendship
|
|
55
|
+
|
|
56
|
+
**Rejecting or canceling:**
|
|
57
|
+
|
|
58
|
+
- If you have a pending incoming request: `friend_remove("their-nametag")` rejects it (state returns to None)
|
|
59
|
+
- If you sent a pending outgoing request: `friend_remove("their-nametag")` cancels it (state returns to None)
|
|
60
|
+
|
|
61
|
+
**Unfriending:**
|
|
62
|
+
|
|
63
|
+
- Either side calls `friend_remove("their-nametag")` — the friendship ends
|
|
64
|
+
- All subuser shares between the two users are automatically cleaned up
|
|
65
|
+
- The other side receives a notification
|
|
66
|
+
|
|
67
|
+
### Cooldown
|
|
68
|
+
|
|
69
|
+
After removing a friend or having a request rejected, there is a **7-day cooldown** before you can send a new request to the same user.
|
|
70
|
+
|
|
71
|
+
## Friend Tools
|
|
72
|
+
|
|
73
|
+
### `friend_add`
|
|
74
|
+
|
|
75
|
+
Send or accept a friend request by nametag.
|
|
76
|
+
|
|
77
|
+
**Parameters:**
|
|
78
|
+
- `nametag` (string) — the target user's nametag
|
|
79
|
+
|
|
80
|
+
**Behavior:**
|
|
81
|
+
- If no relationship exists: creates a pending outgoing request
|
|
82
|
+
- If they already sent you a request: accepts it and you become friends
|
|
83
|
+
- If you are already friends: returns current status (no-op)
|
|
84
|
+
- If a pending subuser share offer exists from a friend: accepts the share
|
|
85
|
+
|
|
86
|
+
**Example:**
|
|
87
|
+
```
|
|
88
|
+
friend_add({ nametag: "swiftfox42" })
|
|
89
|
+
// → { summary: "Friend request sent to swiftfox42", status: "pending_out", nametag: "swiftfox42" }
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### `friend_remove`
|
|
93
|
+
|
|
94
|
+
Unfriend, reject a request, or cancel a pending request by nametag.
|
|
95
|
+
|
|
96
|
+
**Parameters:**
|
|
97
|
+
- `nametag` (string) — the target user's nametag
|
|
98
|
+
|
|
99
|
+
**Behavior:**
|
|
100
|
+
- If friends: unfriends and cleans up all subuser shares between you
|
|
101
|
+
- If pending incoming: rejects the request
|
|
102
|
+
- If pending outgoing: cancels the request
|
|
103
|
+
- If a shared subuser: removes the share from your side
|
|
104
|
+
|
|
105
|
+
**Example:**
|
|
106
|
+
```
|
|
107
|
+
friend_remove({ nametag: "swiftfox42" })
|
|
108
|
+
// → { summary: "Removed swiftfox42 as friend", status: "removed", nametag: "swiftfox42" }
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### `friend_send`
|
|
112
|
+
|
|
113
|
+
Send a direct message to a friend by nametag.
|
|
114
|
+
|
|
115
|
+
**Parameters:**
|
|
116
|
+
- `nametag` (string) — the friend's nametag (or a shared subuser's nametag)
|
|
117
|
+
- `message` (string) — the message text to send
|
|
118
|
+
|
|
119
|
+
**Requirements:**
|
|
120
|
+
- You must be mutual friends (both sides accepted)
|
|
121
|
+
- For shared subusers: the share must be active (both sides accepted)
|
|
122
|
+
|
|
123
|
+
**Behavior:**
|
|
124
|
+
- Delivers the message as a system message to the friend's agents
|
|
125
|
+
- When messaging a shared subuser, delivers to that subuser's gateway agent
|
|
126
|
+
|
|
127
|
+
**Example:**
|
|
128
|
+
```
|
|
129
|
+
friend_send({ nametag: "swiftfox42", message: "Hey, can you check the latest deploy?" })
|
|
130
|
+
// → { summary: "Message sent to swiftfox42", nametag: "swiftfox42" }
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### `friend_share_subuser`
|
|
134
|
+
|
|
135
|
+
Share one of your subusers with a friend. Only the owner of the subuser can call this.
|
|
136
|
+
|
|
137
|
+
**Parameters:**
|
|
138
|
+
- `friendNametag` (string) — the friend's nametag
|
|
139
|
+
- `subuserId` (string) — the ID of the subuser to share
|
|
140
|
+
|
|
141
|
+
**Requirements:**
|
|
142
|
+
- You must own the subuser
|
|
143
|
+
- You must be mutual friends with the target
|
|
144
|
+
|
|
145
|
+
**Behavior:**
|
|
146
|
+
- Creates a pending share offer (subuser side requested, friend side pending)
|
|
147
|
+
- The friend receives a notification with the subuser's nametag
|
|
148
|
+
- The friend must call `friend_add("<subuser-nametag>")` to accept the share
|
|
149
|
+
|
|
150
|
+
**Example:**
|
|
151
|
+
```
|
|
152
|
+
friend_share_subuser({ friendNametag: "swiftfox42", subuserId: "sub_abc123" })
|
|
153
|
+
// → { summary: "Shared subuser with swiftfox42 (pending acceptance)", status: "pending", ... }
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### `friend_unshare_subuser`
|
|
157
|
+
|
|
158
|
+
Revoke a subuser share from a friend. Only the owner of the subuser can call this.
|
|
159
|
+
|
|
160
|
+
**Parameters:**
|
|
161
|
+
- `friendNametag` (string) — the friend's nametag
|
|
162
|
+
- `subuserId` (string) — the ID of the subuser to unshare
|
|
163
|
+
|
|
164
|
+
**Behavior:**
|
|
165
|
+
- Removes the share regardless of whether it was pending or active
|
|
166
|
+
- The friend receives a notification that access was revoked
|
|
167
|
+
- The friend can no longer message the subuser
|
|
168
|
+
|
|
169
|
+
**Example:**
|
|
170
|
+
```
|
|
171
|
+
friend_unshare_subuser({ friendNametag: "swiftfox42", subuserId: "sub_abc123" })
|
|
172
|
+
// → { summary: "Revoked subuser share from swiftfox42", status: "removed", ... }
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Subuser Sharing
|
|
176
|
+
|
|
177
|
+
Subuser sharing lets an owner grant a friend access to one of their isolated subusers. This enables cross-user collaboration through the subuser's gateway agent.
|
|
178
|
+
|
|
179
|
+
### What is a Subuser
|
|
180
|
+
|
|
181
|
+
A subuser is an isolated application created by the owner. It has its own memory, filesystem, and agent scope. Each subuser has a **gateway agent** — the single entry point for receiving messages.
|
|
182
|
+
|
|
183
|
+
### Share Lifecycle
|
|
184
|
+
|
|
185
|
+
1. **Owner initiates:** `friend_share_subuser("swiftfox42", subuserId)` — creates a pending share
|
|
186
|
+
2. **Friend sees notification:** a system message with the subuser's nametag and description
|
|
187
|
+
3. **Friend accepts:** `friend_add("<subuser-nametag>")` — share becomes active
|
|
188
|
+
4. **Friend can now message:** `friend_send("<subuser-nametag>", "hello")` — delivers to gateway agent
|
|
189
|
+
5. **Revocation (either side):**
|
|
190
|
+
- Owner: `friend_unshare_subuser("swiftfox42", subuserId)` — revokes access
|
|
191
|
+
- Friend: `friend_remove("<subuser-nametag>")` — removes from their side
|
|
192
|
+
|
|
193
|
+
### Share States
|
|
194
|
+
|
|
195
|
+
| State | Meaning |
|
|
196
|
+
|-------|---------|
|
|
197
|
+
| Pending | Owner shared, friend hasn't accepted yet |
|
|
198
|
+
| Active | Both sides confirmed — friend can message the subuser |
|
|
199
|
+
|
|
200
|
+
### Automatic Cleanup
|
|
201
|
+
|
|
202
|
+
When two users unfriend each other (via `friend_remove`), **all subuser shares between them are automatically deleted**. No manual cleanup is needed.
|
|
203
|
+
|
|
204
|
+
## Inspecting Friends
|
|
205
|
+
|
|
206
|
+
Use `topology` (no parameters) to see your current friend connections and shared subusers.
|
|
207
|
+
|
|
208
|
+
**Friends section format:**
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
## Friends (2)
|
|
212
|
+
swiftfox42
|
|
213
|
+
-> shared out: helper (nametag=coolcat11) gateway=gw-abc status=active
|
|
214
|
+
-> shared out: assistant (nametag=lazydog55) gateway=gw-def status=pending
|
|
215
|
+
<- shared in: bob-helper (nametag=smartowl22) gateway=gw-ghi status=active
|
|
216
|
+
|
|
217
|
+
happypenguin7
|
|
218
|
+
(no shared subusers)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Reading the topology:**
|
|
222
|
+
- `-> shared out` = your subuser shared to that friend
|
|
223
|
+
- `<- shared in` = their subuser shared to you
|
|
224
|
+
- `status=active` = both sides accepted, messaging works
|
|
225
|
+
- `status=pending` = waiting for acceptance
|
|
226
|
+
- The gateway ID is useful for `send_agent_message` if needed
|
|
227
|
+
|
|
228
|
+
**Note:** Subuser agents cannot see the Friends section. Only non-subuser (owner) agents see friend information in topology.
|
|
229
|
+
|
|
230
|
+
## Common Scenarios
|
|
231
|
+
|
|
232
|
+
### Adding a Friend
|
|
233
|
+
|
|
234
|
+
User A wants to connect with User B:
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
// User A:
|
|
238
|
+
friend_add({ nametag: "userbtag123" })
|
|
239
|
+
// Status: pending_out — User B gets notified
|
|
240
|
+
|
|
241
|
+
// User B (after receiving notification):
|
|
242
|
+
friend_add({ nametag: "useratag456" })
|
|
243
|
+
// Status: friends — both sides confirmed
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Sharing a Subuser with a Friend
|
|
247
|
+
|
|
248
|
+
Owner wants to give a friend access to their "research-assistant" subuser:
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
// Step 1: Owner shares
|
|
252
|
+
friend_share_subuser({ friendNametag: "swiftfox42", subuserId: "sub_research" })
|
|
253
|
+
// Friend gets notified with the subuser's nametag (e.g. "smartowl22")
|
|
254
|
+
|
|
255
|
+
// Step 2: Friend accepts
|
|
256
|
+
friend_add({ nametag: "smartowl22" })
|
|
257
|
+
// Share is now active
|
|
258
|
+
|
|
259
|
+
// Step 3: Friend messages the subuser
|
|
260
|
+
friend_send({ nametag: "smartowl22", message: "Summarize recent findings" })
|
|
261
|
+
// Message delivered to the research-assistant gateway agent
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Checking Who Your Friends Are
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
topology()
|
|
268
|
+
// Look at the "## Friends" section for the full list
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Cleaning Up a Friendship
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
// Unfriend — also removes all shared subusers between you
|
|
275
|
+
friend_remove({ nametag: "swiftfox42" })
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Revoking a Single Subuser Share
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
// Owner revokes without unfriending
|
|
282
|
+
friend_unshare_subuser({ friendNametag: "swiftfox42", subuserId: "sub_helper" })
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Important Rules
|
|
286
|
+
|
|
287
|
+
1. **Friendship is mutual.** Both sides must call `friend_add` before messaging or sharing works.
|
|
288
|
+
2. **Messaging requires friendship.** `friend_send` fails if you are not mutual friends (or if a subuser share is not active).
|
|
289
|
+
3. **Only owners can share subusers.** You cannot share a subuser you do not own.
|
|
290
|
+
4. **Only owners can revoke shares.** Use `friend_unshare_subuser`. Friends can remove from their side with `friend_remove`.
|
|
291
|
+
5. **Unfriending cleans up everything.** All subuser shares between the two users are deleted automatically.
|
|
292
|
+
6. **Cooldown after removal.** You must wait 7 days before re-requesting someone you removed or who rejected you.
|
|
293
|
+
7. **Nametags are case-insensitive.** `SwiftFox42` and `swiftfox42` resolve to the same user.
|
|
294
|
+
8. **Subuser agents cannot manage friends.** Only owner (non-subuser) agents have access to friend tools and see the Friends section in topology.
|
|
295
|
+
9. **Use topology to discover nametags.** Do not guess nametags — always check topology or ask the user.
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: daycare-friendship
|
|
3
|
+
description: Friendship mechanics for daycare agents. Use when the user wants to add friends, manage friend requests, send messages to friends, share or unshare subusers with friends, or understand what nametags are.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Friendship
|
|
7
|
+
|
|
8
|
+
Daycare lets users connect as friends and share subusers across boundaries. This skill covers nametags, the friendship lifecycle, messaging, and subuser sharing.
|
|
9
|
+
|
|
10
|
+
## What is a Nametag
|
|
11
|
+
|
|
12
|
+
Every user (and subuser) in Daycare has a **nametag** — a unique, human-readable identifier. Nametags are how users refer to each other in all friend operations.
|
|
13
|
+
|
|
14
|
+
**Format:** A lowercase string generated from dictionary words plus random digits with no separator, e.g. `swiftfox42`, `happypenguin7`, `lazydog55`.
|
|
15
|
+
|
|
16
|
+
**Key properties:**
|
|
17
|
+
- Required for every user — assigned automatically at creation
|
|
18
|
+
- Globally unique across the entire Daycare instance
|
|
19
|
+
- Case-insensitive when looking up (always normalized to lowercase)
|
|
20
|
+
- Immutable once assigned — nametags do not change
|
|
21
|
+
- Used instead of raw user IDs in all user-facing interactions
|
|
22
|
+
|
|
23
|
+
**How to find a nametag:** Run `topology` — your own nametag appears at the top. Friends and their nametags appear in the Friends section.
|
|
24
|
+
|
|
25
|
+
## Why Friends
|
|
26
|
+
|
|
27
|
+
Friendship serves two purposes:
|
|
28
|
+
|
|
29
|
+
1. **Direct messaging** — Friends can send messages to each other across user boundaries. Without friendship, users are completely isolated.
|
|
30
|
+
2. **Subuser sharing** — Owners can share their subusers (isolated applications) with friends, enabling collaboration. A friend who accepts a shared subuser can message it directly.
|
|
31
|
+
|
|
32
|
+
Friendship is mutual — both sides must agree. This prevents spam and unwanted access.
|
|
33
|
+
|
|
34
|
+
## Friendship Lifecycle
|
|
35
|
+
|
|
36
|
+
### States
|
|
37
|
+
|
|
38
|
+
A relationship between two users progresses through these states:
|
|
39
|
+
|
|
40
|
+
| State | Meaning |
|
|
41
|
+
|-------|---------|
|
|
42
|
+
| None | No relationship exists |
|
|
43
|
+
| PendingOut | You sent a request, waiting for them to accept |
|
|
44
|
+
| PendingIn | They sent you a request, waiting for you to accept |
|
|
45
|
+
| Friends | Both sides accepted — full access to messaging and sharing |
|
|
46
|
+
|
|
47
|
+
### Flow
|
|
48
|
+
|
|
49
|
+
**Adding a friend:**
|
|
50
|
+
|
|
51
|
+
1. You call `friend_add("their-nametag")` — state moves to **PendingOut**
|
|
52
|
+
2. They receive a system message notifying them of your request
|
|
53
|
+
3. They call `friend_add("your-nametag")` — state moves to **Friends**
|
|
54
|
+
4. You receive a system message confirming the friendship
|
|
55
|
+
|
|
56
|
+
**Rejecting or canceling:**
|
|
57
|
+
|
|
58
|
+
- If you have a pending incoming request: `friend_remove("their-nametag")` rejects it (state returns to None)
|
|
59
|
+
- If you sent a pending outgoing request: `friend_remove("their-nametag")` cancels it (state returns to None)
|
|
60
|
+
|
|
61
|
+
**Unfriending:**
|
|
62
|
+
|
|
63
|
+
- Either side calls `friend_remove("their-nametag")` — the friendship ends
|
|
64
|
+
- All subuser shares between the two users are automatically cleaned up
|
|
65
|
+
- The other side receives a notification
|
|
66
|
+
|
|
67
|
+
### Cooldown
|
|
68
|
+
|
|
69
|
+
After removing a friend or having a request rejected, there is a **7-day cooldown** before you can send a new request to the same user.
|
|
70
|
+
|
|
71
|
+
## Friend Tools
|
|
72
|
+
|
|
73
|
+
### `friend_add`
|
|
74
|
+
|
|
75
|
+
Send or accept a friend request by nametag.
|
|
76
|
+
|
|
77
|
+
**Parameters:**
|
|
78
|
+
- `nametag` (string) — the target user's nametag
|
|
79
|
+
|
|
80
|
+
**Behavior:**
|
|
81
|
+
- If no relationship exists: creates a pending outgoing request
|
|
82
|
+
- If they already sent you a request: accepts it and you become friends
|
|
83
|
+
- If you are already friends: returns current status (no-op)
|
|
84
|
+
- If a pending subuser share offer exists from a friend: accepts the share
|
|
85
|
+
|
|
86
|
+
**Example:**
|
|
87
|
+
```
|
|
88
|
+
friend_add({ nametag: "swiftfox42" })
|
|
89
|
+
// → { summary: "Friend request sent to swiftfox42", status: "pending_out", nametag: "swiftfox42" }
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### `friend_remove`
|
|
93
|
+
|
|
94
|
+
Unfriend, reject a request, or cancel a pending request by nametag.
|
|
95
|
+
|
|
96
|
+
**Parameters:**
|
|
97
|
+
- `nametag` (string) — the target user's nametag
|
|
98
|
+
|
|
99
|
+
**Behavior:**
|
|
100
|
+
- If friends: unfriends and cleans up all subuser shares between you
|
|
101
|
+
- If pending incoming: rejects the request
|
|
102
|
+
- If pending outgoing: cancels the request
|
|
103
|
+
- If a shared subuser: removes the share from your side
|
|
104
|
+
|
|
105
|
+
**Example:**
|
|
106
|
+
```
|
|
107
|
+
friend_remove({ nametag: "swiftfox42" })
|
|
108
|
+
// → { summary: "Removed swiftfox42 as friend", status: "removed", nametag: "swiftfox42" }
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### `friend_send`
|
|
112
|
+
|
|
113
|
+
Send a direct message to a friend by nametag.
|
|
114
|
+
|
|
115
|
+
**Parameters:**
|
|
116
|
+
- `nametag` (string) — the friend's nametag (or a shared subuser's nametag)
|
|
117
|
+
- `message` (string) — the message text to send
|
|
118
|
+
|
|
119
|
+
**Requirements:**
|
|
120
|
+
- You must be mutual friends (both sides accepted)
|
|
121
|
+
- For shared subusers: the share must be active (both sides accepted)
|
|
122
|
+
|
|
123
|
+
**Behavior:**
|
|
124
|
+
- Delivers the message as a system message to the friend's agents
|
|
125
|
+
- When messaging a shared subuser, delivers to that subuser's gateway agent
|
|
126
|
+
|
|
127
|
+
**Example:**
|
|
128
|
+
```
|
|
129
|
+
friend_send({ nametag: "swiftfox42", message: "Hey, can you check the latest deploy?" })
|
|
130
|
+
// → { summary: "Message sent to swiftfox42", nametag: "swiftfox42" }
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### `friend_share_subuser`
|
|
134
|
+
|
|
135
|
+
Share one of your subusers with a friend. Only the owner of the subuser can call this.
|
|
136
|
+
|
|
137
|
+
**Parameters:**
|
|
138
|
+
- `friendNametag` (string) — the friend's nametag
|
|
139
|
+
- `subuserId` (string) — the ID of the subuser to share
|
|
140
|
+
|
|
141
|
+
**Requirements:**
|
|
142
|
+
- You must own the subuser
|
|
143
|
+
- You must be mutual friends with the target
|
|
144
|
+
|
|
145
|
+
**Behavior:**
|
|
146
|
+
- Creates a pending share offer (subuser side requested, friend side pending)
|
|
147
|
+
- The friend receives a notification with the subuser's nametag
|
|
148
|
+
- The friend must call `friend_add("<subuser-nametag>")` to accept the share
|
|
149
|
+
|
|
150
|
+
**Example:**
|
|
151
|
+
```
|
|
152
|
+
friend_share_subuser({ friendNametag: "swiftfox42", subuserId: "sub_abc123" })
|
|
153
|
+
// → { summary: "Shared subuser with swiftfox42 (pending acceptance)", status: "pending", ... }
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### `friend_unshare_subuser`
|
|
157
|
+
|
|
158
|
+
Revoke a subuser share from a friend. Only the owner of the subuser can call this.
|
|
159
|
+
|
|
160
|
+
**Parameters:**
|
|
161
|
+
- `friendNametag` (string) — the friend's nametag
|
|
162
|
+
- `subuserId` (string) — the ID of the subuser to unshare
|
|
163
|
+
|
|
164
|
+
**Behavior:**
|
|
165
|
+
- Removes the share regardless of whether it was pending or active
|
|
166
|
+
- The friend receives a notification that access was revoked
|
|
167
|
+
- The friend can no longer message the subuser
|
|
168
|
+
|
|
169
|
+
**Example:**
|
|
170
|
+
```
|
|
171
|
+
friend_unshare_subuser({ friendNametag: "swiftfox42", subuserId: "sub_abc123" })
|
|
172
|
+
// → { summary: "Revoked subuser share from swiftfox42", status: "removed", ... }
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Subuser Sharing
|
|
176
|
+
|
|
177
|
+
Subuser sharing lets an owner grant a friend access to one of their isolated subusers. This enables cross-user collaboration through the subuser's gateway agent.
|
|
178
|
+
|
|
179
|
+
### What is a Subuser
|
|
180
|
+
|
|
181
|
+
A subuser is an isolated application created by the owner. It has its own memory, filesystem, and agent scope. Each subuser has a **gateway agent** — the single entry point for receiving messages.
|
|
182
|
+
|
|
183
|
+
### Share Lifecycle
|
|
184
|
+
|
|
185
|
+
1. **Owner initiates:** `friend_share_subuser("swiftfox42", subuserId)` — creates a pending share
|
|
186
|
+
2. **Friend sees notification:** a system message with the subuser's nametag and description
|
|
187
|
+
3. **Friend accepts:** `friend_add("<subuser-nametag>")` — share becomes active
|
|
188
|
+
4. **Friend can now message:** `friend_send("<subuser-nametag>", "hello")` — delivers to gateway agent
|
|
189
|
+
5. **Revocation (either side):**
|
|
190
|
+
- Owner: `friend_unshare_subuser("swiftfox42", subuserId)` — revokes access
|
|
191
|
+
- Friend: `friend_remove("<subuser-nametag>")` — removes from their side
|
|
192
|
+
|
|
193
|
+
### Share States
|
|
194
|
+
|
|
195
|
+
| State | Meaning |
|
|
196
|
+
|-------|---------|
|
|
197
|
+
| Pending | Owner shared, friend hasn't accepted yet |
|
|
198
|
+
| Active | Both sides confirmed — friend can message the subuser |
|
|
199
|
+
|
|
200
|
+
### Automatic Cleanup
|
|
201
|
+
|
|
202
|
+
When two users unfriend each other (via `friend_remove`), **all subuser shares between them are automatically deleted**. No manual cleanup is needed.
|
|
203
|
+
|
|
204
|
+
## Inspecting Friends
|
|
205
|
+
|
|
206
|
+
Use `topology` (no parameters) to see your current friend connections and shared subusers.
|
|
207
|
+
|
|
208
|
+
**Friends section format:**
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
## Friends (2)
|
|
212
|
+
swiftfox42
|
|
213
|
+
-> shared out: helper (nametag=coolcat11) gateway=gw-abc status=active
|
|
214
|
+
-> shared out: assistant (nametag=lazydog55) gateway=gw-def status=pending
|
|
215
|
+
<- shared in: bob-helper (nametag=smartowl22) gateway=gw-ghi status=active
|
|
216
|
+
|
|
217
|
+
happypenguin7
|
|
218
|
+
(no shared subusers)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Reading the topology:**
|
|
222
|
+
- `-> shared out` = your subuser shared to that friend
|
|
223
|
+
- `<- shared in` = their subuser shared to you
|
|
224
|
+
- `status=active` = both sides accepted, messaging works
|
|
225
|
+
- `status=pending` = waiting for acceptance
|
|
226
|
+
- The gateway ID is useful for `send_agent_message` if needed
|
|
227
|
+
|
|
228
|
+
**Note:** Subuser agents cannot see the Friends section. Only non-subuser (owner) agents see friend information in topology.
|
|
229
|
+
|
|
230
|
+
## Common Scenarios
|
|
231
|
+
|
|
232
|
+
### Adding a Friend
|
|
233
|
+
|
|
234
|
+
User A wants to connect with User B:
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
// User A:
|
|
238
|
+
friend_add({ nametag: "userbtag123" })
|
|
239
|
+
// Status: pending_out — User B gets notified
|
|
240
|
+
|
|
241
|
+
// User B (after receiving notification):
|
|
242
|
+
friend_add({ nametag: "useratag456" })
|
|
243
|
+
// Status: friends — both sides confirmed
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Sharing a Subuser with a Friend
|
|
247
|
+
|
|
248
|
+
Owner wants to give a friend access to their "research-assistant" subuser:
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
// Step 1: Owner shares
|
|
252
|
+
friend_share_subuser({ friendNametag: "swiftfox42", subuserId: "sub_research" })
|
|
253
|
+
// Friend gets notified with the subuser's nametag (e.g. "smartowl22")
|
|
254
|
+
|
|
255
|
+
// Step 2: Friend accepts
|
|
256
|
+
friend_add({ nametag: "smartowl22" })
|
|
257
|
+
// Share is now active
|
|
258
|
+
|
|
259
|
+
// Step 3: Friend messages the subuser
|
|
260
|
+
friend_send({ nametag: "smartowl22", message: "Summarize recent findings" })
|
|
261
|
+
// Message delivered to the research-assistant gateway agent
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Checking Who Your Friends Are
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
topology()
|
|
268
|
+
// Look at the "## Friends" section for the full list
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Cleaning Up a Friendship
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
// Unfriend — also removes all shared subusers between you
|
|
275
|
+
friend_remove({ nametag: "swiftfox42" })
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Revoking a Single Subuser Share
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
// Owner revokes without unfriending
|
|
282
|
+
friend_unshare_subuser({ friendNametag: "swiftfox42", subuserId: "sub_helper" })
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Important Rules
|
|
286
|
+
|
|
287
|
+
1. **Friendship is mutual.** Both sides must call `friend_add` before messaging or sharing works.
|
|
288
|
+
2. **Messaging requires friendship.** `friend_send` fails if you are not mutual friends (or if a subuser share is not active).
|
|
289
|
+
3. **Only owners can share subusers.** You cannot share a subuser you do not own.
|
|
290
|
+
4. **Only owners can revoke shares.** Use `friend_unshare_subuser`. Friends can remove from their side with `friend_remove`.
|
|
291
|
+
5. **Unfriending cleans up everything.** All subuser shares between the two users are deleted automatically.
|
|
292
|
+
6. **Cooldown after removal.** You must wait 7 days before re-requesting someone you removed or who rejected you.
|
|
293
|
+
7. **Nametags are case-insensitive.** `SwiftFox42` and `swiftfox42` resolve to the same user.
|
|
294
|
+
8. **Subuser agents cannot manage friends.** Only owner (non-subuser) agents have access to friend tools and see the Friends section in topology.
|
|
295
|
+
9. **Use topology to discover nametags.** Do not guess nametags — always check topology or ask the user.
|
|
@@ -14,6 +14,7 @@ export declare class AgentsRepository {
|
|
|
14
14
|
constructor(db: DatabaseSync);
|
|
15
15
|
findById(id: string): Promise<AgentDbRecord | null>;
|
|
16
16
|
findMany(): Promise<AgentDbRecord[]>;
|
|
17
|
+
findByUserId(userId: string): Promise<AgentDbRecord[]>;
|
|
17
18
|
create(record: AgentDbRecord): Promise<void>;
|
|
18
19
|
update(id: string, data: Partial<AgentDbRecord>): Promise<void>;
|
|
19
20
|
invalidate(id: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentsRepository.d.ts","sourceRoot":"","sources":["../../sources/storage/agentsRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,oBAAoB,CAAC;AAE1E;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,eAAe,CAAS;gBAEpB,EAAE,EAAE,YAAY;IAItB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA0BnD,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAgBpC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD5C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD/D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;CAerB"}
|
|
1
|
+
{"version":3,"file":"agentsRepository.d.ts","sourceRoot":"","sources":["../../sources/storage/agentsRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,oBAAoB,CAAC;AAE1E;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,eAAe,CAAS;gBAEpB,EAAE,EAAE,YAAY;IAItB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA0BnD,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAgBpC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoBtD,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD5C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD/D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;CAerB"}
|
|
@@ -50,6 +50,22 @@ export class AgentsRepository {
|
|
|
50
50
|
});
|
|
51
51
|
return parsed.map((entry) => agentClone(entry));
|
|
52
52
|
}
|
|
53
|
+
async findByUserId(userId) {
|
|
54
|
+
if (this.allAgentsLoaded) {
|
|
55
|
+
const filtered = Array.from(this.agentsById.values()).filter((record) => record.userId === userId);
|
|
56
|
+
return agentsSort(filtered).map((record) => agentClone(record));
|
|
57
|
+
}
|
|
58
|
+
const rows = this.db
|
|
59
|
+
.prepare("SELECT * FROM agents WHERE user_id = ? ORDER BY updated_at ASC")
|
|
60
|
+
.all(userId);
|
|
61
|
+
const parsed = rows.map((row) => this.agentParse(row));
|
|
62
|
+
await this.cacheLock.inLock(() => {
|
|
63
|
+
for (const record of parsed) {
|
|
64
|
+
this.agentCacheSet(record);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
return parsed.map((record) => agentClone(record));
|
|
68
|
+
}
|
|
53
69
|
async create(record) {
|
|
54
70
|
await this.createLock.inLock(async () => {
|
|
55
71
|
this.db
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentsRepository.js","sourceRoot":"","sources":["../../sources/storage/agentsRepository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentsRepository.js","sourceRoot":"","sources":["../../sources/storage/agentsRepository.ts"],"names":[],"mappings":"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"}
|