daycare-cli 2026.2.24 → 2026.2.26
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/engine/agents/agent.d.ts +7 -5
- package/dist/engine/agents/agent.d.ts.map +1 -1
- package/dist/engine/agents/agent.js +58 -56
- package/dist/engine/agents/agent.js.map +1 -1
- package/dist/engine/agents/agent.spec.js +95 -46
- package/dist/engine/agents/agent.spec.js.map +1 -1
- package/dist/engine/agents/agentSystem.d.ts +13 -9
- package/dist/engine/agents/agentSystem.d.ts.map +1 -1
- package/dist/engine/agents/agentSystem.js +150 -89
- package/dist/engine/agents/agentSystem.js.map +1 -1
- package/dist/engine/agents/agentSystem.spec.js +89 -32
- package/dist/engine/agents/agentSystem.spec.js.map +1 -1
- package/dist/engine/agents/agentSystemDurableInbox.spec.js +66 -11
- package/dist/engine/agents/agentSystemDurableInbox.spec.js.map +1 -1
- package/dist/engine/agents/context.d.ts +21 -2
- package/dist/engine/agents/context.d.ts.map +1 -1
- package/dist/engine/agents/context.js +41 -4
- package/dist/engine/agents/context.js.map +1 -1
- package/dist/engine/agents/context.spec.js +15 -5
- package/dist/engine/agents/context.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentBackgroundList.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentBackgroundList.js +3 -1
- package/dist/engine/agents/ops/agentBackgroundList.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorCacheKey.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorCacheKey.js +2 -0
- package/dist/engine/agents/ops/agentDescriptorCacheKey.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorCacheKey.spec.js +8 -0
- package/dist/engine/agents/ops/agentDescriptorCacheKey.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorLabel.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorLabel.js +3 -0
- package/dist/engine/agents/ops/agentDescriptorLabel.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorLabel.spec.js +8 -0
- package/dist/engine/agents/ops/agentDescriptorLabel.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorRead.d.ts +2 -2
- package/dist/engine/agents/ops/agentDescriptorRead.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorRead.js +2 -2
- package/dist/engine/agents/ops/agentDescriptorRead.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorRoleResolve.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorRoleResolve.js +1 -0
- package/dist/engine/agents/ops/agentDescriptorRoleResolve.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorRoleResolve.spec.js +9 -0
- package/dist/engine/agents/ops/agentDescriptorRoleResolve.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorTypes.d.ts +5 -0
- package/dist/engine/agents/ops/agentDescriptorTypes.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorWrite.d.ts +3 -3
- package/dist/engine/agents/ops/agentDescriptorWrite.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorWrite.js +7 -24
- package/dist/engine/agents/ops/agentDescriptorWrite.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorWrite.spec.js +6 -4
- package/dist/engine/agents/ops/agentDescriptorWrite.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentHistoryAppend.d.ts +2 -2
- package/dist/engine/agents/ops/agentHistoryAppend.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentHistoryAppend.js +2 -2
- package/dist/engine/agents/ops/agentHistoryAppend.js.map +1 -1
- package/dist/engine/agents/ops/agentHistoryLoad.d.ts +2 -2
- package/dist/engine/agents/ops/agentHistoryLoad.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentHistoryLoad.js +2 -2
- package/dist/engine/agents/ops/agentHistoryLoad.js.map +1 -1
- package/dist/engine/agents/ops/agentHistoryLoad.spec.js +10 -8
- package/dist/engine/agents/ops/agentHistoryLoad.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentHistoryLoadAll.d.ts +2 -2
- package/dist/engine/agents/ops/agentHistoryLoadAll.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentHistoryLoadAll.js +2 -2
- package/dist/engine/agents/ops/agentHistoryLoadAll.js.map +1 -1
- package/dist/engine/agents/ops/agentHistoryLoadAll.spec.js +10 -8
- package/dist/engine/agents/ops/agentHistoryLoadAll.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentInferencePromptWrite.d.ts +2 -2
- package/dist/engine/agents/ops/agentInferencePromptWrite.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentInferencePromptWrite.js +2 -6
- package/dist/engine/agents/ops/agentInferencePromptWrite.js.map +1 -1
- package/dist/engine/agents/ops/agentInferencePromptWrite.spec.js +3 -1
- package/dist/engine/agents/ops/agentInferencePromptWrite.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.js +6 -8
- package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.spec.js +2 -0
- package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentPath.d.ts +2 -2
- package/dist/engine/agents/ops/agentPath.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentPath.js +2 -2
- package/dist/engine/agents/ops/agentPath.js.map +1 -1
- package/dist/engine/agents/ops/agentPromptResolve.js +1 -1
- package/dist/engine/agents/ops/agentPromptResolve.js.map +1 -1
- package/dist/engine/agents/ops/agentPromptResolve.spec.js +12 -0
- package/dist/engine/agents/ops/agentPromptResolve.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentStateRead.d.ts +2 -2
- package/dist/engine/agents/ops/agentStateRead.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentStateRead.js +2 -2
- package/dist/engine/agents/ops/agentStateRead.js.map +1 -1
- package/dist/engine/agents/ops/agentStateRead.spec.js +13 -9
- package/dist/engine/agents/ops/agentStateRead.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentStateWrite.d.ts +2 -2
- package/dist/engine/agents/ops/agentStateWrite.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentStateWrite.js +4 -4
- package/dist/engine/agents/ops/agentStateWrite.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.js +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.spec.js +6 -2
- package/dist/engine/agents/ops/agentSystemPrompt.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptContext.d.ts +2 -3
- package/dist/engine/agents/ops/agentSystemPromptContext.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionAgentsTopologySignalsChannels.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionAgentsTopologySignalsChannels.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionAgentsTopologySignalsChannels.js +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionAgentsTopologySignalsChannels.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionAutonomousOperation.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionAutonomousOperation.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionAutonomousOperation.js +2 -2
- package/dist/engine/agents/ops/agentSystemPromptSectionAutonomousOperation.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.js +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionFormatting.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionFormatting.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionFormatting.js +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionFormatting.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionModels.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionModels.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionModels.js +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionModels.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionModels.spec.js +5 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionModels.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPreamble.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPreamble.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPreamble.js +2 -2
- package/dist/engine/agents/ops/agentSystemPromptSectionPreamble.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionSkills.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionSkills.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionSkills.js +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionSkills.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.js +25 -6
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.spec.d.ts +2 -0
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.spec.d.ts.map +1 -0
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.spec.js +62 -0
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.spec.js.map +1 -0
- package/dist/engine/agents/ops/agentSystemPromptWrite.d.ts +3 -3
- package/dist/engine/agents/ops/agentSystemPromptWrite.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptWrite.js +4 -3
- package/dist/engine/agents/ops/agentSystemPromptWrite.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptWrite.spec.js +5 -3
- package/dist/engine/agents/ops/agentSystemPromptWrite.spec.js.map +1 -1
- package/dist/engine/apps/appExecute.d.ts.map +1 -1
- package/dist/engine/apps/appExecute.js +7 -5
- package/dist/engine/apps/appExecute.js.map +1 -1
- package/dist/engine/apps/appExecute.spec.js +19 -10
- package/dist/engine/apps/appExecute.spec.js.map +1 -1
- package/dist/engine/apps/appInstallToolBuild.js +4 -3
- package/dist/engine/apps/appInstallToolBuild.js.map +1 -1
- package/dist/engine/channels/channels.d.ts.map +1 -1
- package/dist/engine/channels/channels.js +9 -11
- package/dist/engine/channels/channels.js.map +1 -1
- package/dist/engine/channels/channels.spec.js +4 -4
- package/dist/engine/channels/channels.spec.js.map +1 -1
- package/dist/engine/cron/crons.d.ts.map +1 -1
- package/dist/engine/cron/crons.js +2 -1
- package/dist/engine/cron/crons.js.map +1 -1
- package/dist/engine/cron/crons.spec.js +3 -5
- package/dist/engine/cron/crons.spec.js.map +1 -1
- package/dist/engine/cron/ops/cronScheduler.js +2 -2
- package/dist/engine/cron/ops/cronScheduler.js.map +1 -1
- package/dist/engine/engine.d.ts +5 -0
- package/dist/engine/engine.d.ts.map +1 -1
- package/dist/engine/engine.js +45 -15
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/engine.spec.js +9 -4
- package/dist/engine/engine.spec.js.map +1 -1
- package/dist/engine/expose/exposes.d.ts.map +1 -1
- package/dist/engine/expose/exposes.js +9 -2
- package/dist/engine/expose/exposes.js.map +1 -1
- package/dist/engine/heartbeat/heartbeats.d.ts.map +1 -1
- package/dist/engine/heartbeat/heartbeats.js +17 -8
- package/dist/engine/heartbeat/heartbeats.js.map +1 -1
- package/dist/engine/heartbeat/heartbeats.spec.js +1 -1
- package/dist/engine/heartbeat/heartbeats.spec.js.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatScheduler.js +2 -2
- package/dist/engine/heartbeat/ops/heartbeatScheduler.js.map +1 -1
- package/dist/engine/ipc/server.d.ts.map +1 -1
- package/dist/engine/ipc/server.js +24 -5
- package/dist/engine/ipc/server.js.map +1 -1
- package/dist/engine/ipc/serverMemoryRoutesRegister.d.ts +3 -2
- package/dist/engine/ipc/serverMemoryRoutesRegister.d.ts.map +1 -1
- package/dist/engine/ipc/serverMemoryRoutesRegister.js +3 -2
- package/dist/engine/ipc/serverMemoryRoutesRegister.js.map +1 -1
- package/dist/engine/ipc/serverMemoryRoutesRegister.spec.js +3 -2
- package/dist/engine/ipc/serverMemoryRoutesRegister.spec.js.map +1 -1
- package/dist/engine/memory/memory.d.ts +6 -5
- package/dist/engine/memory/memory.d.ts.map +1 -1
- package/dist/engine/memory/memory.js +12 -12
- package/dist/engine/memory/memory.js.map +1 -1
- package/dist/engine/memory/memory.spec.js +10 -6
- package/dist/engine/memory/memory.spec.js.map +1 -1
- package/dist/engine/memory/memorySessionObserve.spec.js +3 -3
- package/dist/engine/memory/memorySessionObserve.spec.js.map +1 -1
- package/dist/engine/memory/memoryWorker.d.ts +2 -1
- package/dist/engine/memory/memoryWorker.d.ts.map +1 -1
- package/dist/engine/memory/memoryWorker.js +4 -2
- package/dist/engine/memory/memoryWorker.js.map +1 -1
- package/dist/engine/memory/memoryWorker.spec.js +4 -2
- package/dist/engine/memory/memoryWorker.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmTool.spec.js +7 -4
- package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.d.ts.map +1 -1
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.js +2 -4
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.js.map +1 -1
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.js +5 -3
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.js.map +1 -1
- package/dist/engine/modules/toolResolver.spec.js +2 -2
- package/dist/engine/modules/toolResolver.spec.js.map +1 -1
- package/dist/engine/modules/tools/agentCompactTool.d.ts.map +1 -1
- package/dist/engine/modules/tools/agentCompactTool.js +5 -1
- package/dist/engine/modules/tools/agentCompactTool.js.map +1 -1
- package/dist/engine/modules/tools/agentCompactTool.spec.js +9 -5
- package/dist/engine/modules/tools/agentCompactTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/agentModelSetToolBuild.spec.js +5 -8
- package/dist/engine/modules/tools/agentModelSetToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/agentResetTool.d.ts.map +1 -1
- package/dist/engine/modules/tools/agentResetTool.js +5 -1
- package/dist/engine/modules/tools/agentResetTool.js.map +1 -1
- package/dist/engine/modules/tools/agentResetTool.spec.js +12 -7
- package/dist/engine/modules/tools/agentResetTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/background.d.ts.map +1 -1
- package/dist/engine/modules/tools/background.js +5 -5
- package/dist/engine/modules/tools/background.js.map +1 -1
- package/dist/engine/modules/tools/background.spec.js +3 -2
- package/dist/engine/modules/tools/background.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelSendTool.js +3 -0
- package/dist/engine/modules/tools/channelSendTool.js.map +1 -1
- package/dist/engine/modules/tools/cron.d.ts.map +1 -1
- package/dist/engine/modules/tools/cron.js +12 -9
- package/dist/engine/modules/tools/cron.js.map +1 -1
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.js +2 -2
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.js +3 -4
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.js +2 -3
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.js +3 -4
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/memorySearchToolBuild.d.ts +2 -2
- package/dist/engine/modules/tools/memorySearchToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/memorySearchToolBuild.js +6 -6
- package/dist/engine/modules/tools/memorySearchToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/permanentAgentToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/permanentAgentToolBuild.js +12 -10
- package/dist/engine/modules/tools/permanentAgentToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js +2 -1
- package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/sendUserMessageTool.d.ts.map +1 -1
- package/dist/engine/modules/tools/sendUserMessageTool.js +6 -2
- package/dist/engine/modules/tools/sendUserMessageTool.js.map +1 -1
- package/dist/engine/modules/tools/sendUserMessageTool.spec.js +5 -4
- package/dist/engine/modules/tools/sendUserMessageTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/sessionHistoryToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/sessionHistoryToolBuild.js +7 -3
- package/dist/engine/modules/tools/sessionHistoryToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/sessionHistoryToolBuild.spec.js +23 -18
- package/dist/engine/modules/tools/sessionHistoryToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/skillToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/skillToolBuild.js +23 -7
- package/dist/engine/modules/tools/skillToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/skillToolBuild.spec.js +55 -3
- package/dist/engine/modules/tools/skillToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/subuserConfigureToolBuild.d.ts +7 -0
- package/dist/engine/modules/tools/subuserConfigureToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/subuserConfigureToolBuild.js +96 -0
- package/dist/engine/modules/tools/subuserConfigureToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.js +91 -0
- package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/subuserCreateToolBuild.d.ts +7 -0
- package/dist/engine/modules/tools/subuserCreateToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/subuserCreateToolBuild.js +120 -0
- package/dist/engine/modules/tools/subuserCreateToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/subuserCreateToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/subuserCreateToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/subuserCreateToolBuild.spec.js +97 -0
- package/dist/engine/modules/tools/subuserCreateToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/subuserListToolBuild.d.ts +7 -0
- package/dist/engine/modules/tools/subuserListToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/subuserListToolBuild.js +66 -0
- package/dist/engine/modules/tools/subuserListToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/subuserListToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/subuserListToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/subuserListToolBuild.spec.js +81 -0
- package/dist/engine/modules/tools/subuserListToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/topologyToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/topologyToolBuild.js +48 -16
- package/dist/engine/modules/tools/topologyToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/topologyToolBuild.spec.js +117 -13
- package/dist/engine/modules/tools/topologyToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/types.d.ts +1 -2
- package/dist/engine/modules/tools/types.d.ts.map +1 -1
- package/dist/engine/processes/processes.d.ts.map +1 -1
- package/dist/engine/processes/processes.js +7 -2
- package/dist/engine/processes/processes.js.map +1 -1
- package/dist/engine/signals/signals.js +9 -2
- package/dist/engine/signals/signals.js.map +1 -1
- package/dist/plugins/dashboard/site/404.html +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/page-8434e05e02ab5847.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/page-70ae793aa3d3a28f.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/{page-6a39540c21d6b25b.js → page-6be961a7eafef90d.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/connectors/{page-92a732501885071f.js → page-8e756eb48c3f7c03.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/memory/{page-74c0b70421c567ab.js → page-be87f13a7b6fac14.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/{page-c4cbe1c7aca2ecd7.js → page-bd7cca39bd0f6e71.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/processes/{page-bf7900fe583d361e.js → page-87f7e8a74fbee01f.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/providers/{page-b2e79cb03244c267.js → page-fcedae8d614253d3.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/page-efe599a7802349fa.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/page-e669223389d84f30.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/css/62b1686547b31a3c.css +5 -0
- package/dist/plugins/dashboard/site/agent.html +1 -1
- package/dist/plugins/dashboard/site/agent.txt +2 -2
- package/dist/plugins/dashboard/site/agents.html +1 -1
- package/dist/plugins/dashboard/site/agents.txt +2 -2
- package/dist/plugins/dashboard/site/automations.html +1 -1
- package/dist/plugins/dashboard/site/automations.txt +2 -2
- package/dist/plugins/dashboard/site/connectors.html +1 -1
- package/dist/plugins/dashboard/site/connectors.txt +2 -2
- package/dist/plugins/dashboard/site/index.html +2 -2
- package/dist/plugins/dashboard/site/index.txt +2 -2
- package/dist/plugins/dashboard/site/memory.html +1 -1
- package/dist/plugins/dashboard/site/memory.txt +2 -2
- package/dist/plugins/dashboard/site/processes.html +1 -1
- package/dist/plugins/dashboard/site/processes.txt +2 -2
- package/dist/plugins/dashboard/site/providers.html +1 -1
- package/dist/plugins/dashboard/site/providers.txt +2 -2
- package/dist/plugins/dashboard/site/signals.html +1 -1
- package/dist/plugins/dashboard/site/signals.txt +2 -2
- package/dist/plugins/dashboard/site/telemetry.html +2 -2
- 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 +2 -2
- package/dist/plugins/database/__tests__/plugin.spec.js +4 -3
- package/dist/plugins/database/__tests__/plugin.spec.js.map +1 -1
- package/dist/plugins/monty-python/tool.spec.js +4 -2
- package/dist/plugins/monty-python/tool.spec.js.map +1 -1
- package/dist/plugins/shell/tool.js +4 -2
- package/dist/plugins/shell/tool.js.map +1 -1
- package/dist/plugins/shell/tool.spec.js +23 -4
- package/dist/plugins/shell/tool.spec.js.map +1 -1
- package/dist/plugins/telegram/connector.d.ts +2 -0
- package/dist/plugins/telegram/connector.d.ts.map +1 -1
- package/dist/plugins/telegram/connector.js +9 -0
- package/dist/plugins/telegram/connector.js.map +1 -1
- package/dist/plugins/telegram/connector.spec.js +60 -0
- package/dist/plugins/telegram/connector.spec.js.map +1 -1
- package/dist/plugins/telegram/plugin.d.ts +2 -1
- package/dist/plugins/telegram/plugin.d.ts.map +1 -1
- package/dist/plugins/telegram/plugin.js +43 -3
- package/dist/plugins/telegram/plugin.js.map +1 -1
- package/dist/plugins/telegram/plugin.spec.d.ts +2 -0
- package/dist/plugins/telegram/plugin.spec.d.ts.map +1 -0
- package/dist/plugins/telegram/plugin.spec.js +93 -0
- package/dist/plugins/telegram/plugin.spec.js.map +1 -0
- package/dist/prompts/SYSTEM_MEMORY.md +15 -1
- package/dist/storage/databaseTypes.d.ts +8 -0
- package/dist/storage/databaseTypes.d.ts.map +1 -1
- package/dist/storage/delayedSignalsRepository.d.ts +1 -1
- package/dist/storage/delayedSignalsRepository.d.ts.map +1 -1
- package/dist/storage/delayedSignalsRepository.js +29 -22
- package/dist/storage/delayedSignalsRepository.js.map +1 -1
- package/dist/storage/migrations/20260222_add_user_parent.d.ts +7 -0
- package/dist/storage/migrations/20260222_add_user_parent.d.ts.map +1 -0
- package/dist/storage/migrations/20260222_add_user_parent.js +23 -0
- package/dist/storage/migrations/20260222_add_user_parent.js.map +1 -0
- package/dist/storage/migrations/20260222_add_user_parent.spec.d.ts +2 -0
- package/dist/storage/migrations/20260222_add_user_parent.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260222_add_user_parent.spec.js +48 -0
- package/dist/storage/migrations/20260222_add_user_parent.spec.js.map +1 -0
- package/dist/storage/migrations/20260222_session_ended_at.d.ts +7 -0
- package/dist/storage/migrations/20260222_session_ended_at.d.ts.map +1 -0
- package/dist/storage/migrations/20260222_session_ended_at.js +18 -0
- package/dist/storage/migrations/20260222_session_ended_at.js.map +1 -0
- package/dist/storage/migrations/20260222_session_ended_at.spec.d.ts +2 -0
- package/dist/storage/migrations/20260222_session_ended_at.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260222_session_ended_at.spec.js +37 -0
- package/dist/storage/migrations/20260222_session_ended_at.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/sessionsRepository.d.ts +5 -0
- package/dist/storage/sessionsRepository.d.ts.map +1 -1
- package/dist/storage/sessionsRepository.js +9 -1
- package/dist/storage/sessionsRepository.js.map +1 -1
- package/dist/storage/sessionsRepository.spec.js +31 -1
- package/dist/storage/sessionsRepository.spec.js.map +1 -1
- package/dist/storage/signalSubscriptionsRepository.js +3 -3
- package/dist/storage/signalSubscriptionsRepository.js.map +1 -1
- package/dist/storage/usersRepository.d.ts +1 -0
- package/dist/storage/usersRepository.d.ts.map +1 -1
- package/dist/storage/usersRepository.js +18 -2
- package/dist/storage/usersRepository.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/page-2d345f6346edc077.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/page-326ff3cf564198c7.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/page-2992aa1807b6fdab.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/page-4a2e5a16190af659.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/css/42d76d007d742231.css +0 -5
- /package/dist/plugins/dashboard/site/_next/static/{spdhxita1pAP4TEpLe5oJ → X_oqQhoSTmj1_qmNPx-r5}/_buildManifest.js +0 -0
- /package/dist/plugins/dashboard/site/_next/static/{spdhxita1pAP4TEpLe5oJ → X_oqQhoSTmj1_qmNPx-r5}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { mkdtemp, rm } from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { describe, expect, it, vi } from "vitest";
|
|
5
|
+
import { configResolve } from "../../../config/configResolve.js";
|
|
6
|
+
import { Storage } from "../../../storage/storage.js";
|
|
7
|
+
import { UserHome } from "../../users/userHome.js";
|
|
8
|
+
import { subuserConfigureToolBuild } from "./subuserConfigureToolBuild.js";
|
|
9
|
+
import { subuserCreateToolBuild } from "./subuserCreateToolBuild.js";
|
|
10
|
+
const configureToolCall = { id: "tool-2", name: "subuser_configure" };
|
|
11
|
+
const createToolCall = { id: "tool-1", name: "subuser_create" };
|
|
12
|
+
describe("subuserConfigureToolBuild", () => {
|
|
13
|
+
it("updates the gateway agent system prompt", async () => {
|
|
14
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-subuser-configure-"));
|
|
15
|
+
try {
|
|
16
|
+
const config = configResolve({ engine: { dataDir: dir } }, path.join(dir, "settings.json"));
|
|
17
|
+
const storage = Storage.open(config.dbPath);
|
|
18
|
+
const owner = await storage.users.findOwner();
|
|
19
|
+
const ownerUserId = owner.id;
|
|
20
|
+
const updateAgentDescriptor = vi.fn();
|
|
21
|
+
const context = contextBuild(ownerUserId, {
|
|
22
|
+
config: { current: config },
|
|
23
|
+
storage,
|
|
24
|
+
updateAgentDescriptor
|
|
25
|
+
});
|
|
26
|
+
// First create a subuser
|
|
27
|
+
const createTool = subuserCreateToolBuild();
|
|
28
|
+
const createResult = await createTool.execute({ name: "my-app", systemPrompt: "Initial prompt." }, context, createToolCall);
|
|
29
|
+
const createTyped = createResult.typedResult;
|
|
30
|
+
const subuserId = createTyped.subuserId;
|
|
31
|
+
const gatewayAgentId = createTyped.gatewayAgentId;
|
|
32
|
+
// Now configure it
|
|
33
|
+
const configureTool = subuserConfigureToolBuild();
|
|
34
|
+
const configureResult = await configureTool.execute({ subuserId, systemPrompt: "Updated prompt." }, context, configureToolCall);
|
|
35
|
+
const configTyped = configureResult.typedResult;
|
|
36
|
+
expect(configTyped.subuserId).toBe(subuserId);
|
|
37
|
+
expect(configTyped.gatewayAgentId).toBe(gatewayAgentId);
|
|
38
|
+
// Verify descriptor was updated in storage
|
|
39
|
+
const agent = await storage.agents.findById(gatewayAgentId);
|
|
40
|
+
expect(agent.descriptor.type).toBe("subuser");
|
|
41
|
+
if (agent.descriptor.type === "subuser") {
|
|
42
|
+
expect(agent.descriptor.systemPrompt).toBe("Updated prompt.");
|
|
43
|
+
}
|
|
44
|
+
// Verify in-memory update was called
|
|
45
|
+
expect(updateAgentDescriptor).toHaveBeenCalled();
|
|
46
|
+
storage.close();
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
await rm(dir, { recursive: true, force: true });
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
it("rejects non-owner callers", async () => {
|
|
53
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-subuser-configure-reject-"));
|
|
54
|
+
try {
|
|
55
|
+
const config = configResolve({ engine: { dataDir: dir } }, path.join(dir, "settings.json"));
|
|
56
|
+
const storage = Storage.open(config.dbPath);
|
|
57
|
+
await storage.users.create({ id: "regular-user" });
|
|
58
|
+
const tool = subuserConfigureToolBuild();
|
|
59
|
+
const context = contextBuild("regular-user", {
|
|
60
|
+
config: { current: config },
|
|
61
|
+
storage,
|
|
62
|
+
updateAgentDescriptor: vi.fn()
|
|
63
|
+
});
|
|
64
|
+
await expect(tool.execute({ subuserId: "some-id", systemPrompt: "prompt" }, context, configureToolCall)).rejects.toThrow("Only the owner user can configure subusers.");
|
|
65
|
+
storage.close();
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
await rm(dir, { recursive: true, force: true });
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
function contextBuild(userId, agentSystem) {
|
|
73
|
+
return {
|
|
74
|
+
connectorRegistry: null,
|
|
75
|
+
fileStore: null,
|
|
76
|
+
auth: null,
|
|
77
|
+
logger: console,
|
|
78
|
+
assistant: null,
|
|
79
|
+
permissions: { workingDir: "/workspace", writeDirs: ["/workspace"] },
|
|
80
|
+
agent: { id: "caller-agent" },
|
|
81
|
+
ctx: { agentId: "caller-agent", userId },
|
|
82
|
+
source: "test",
|
|
83
|
+
messageContext: {},
|
|
84
|
+
agentSystem: {
|
|
85
|
+
...agentSystem,
|
|
86
|
+
userHomeForUserId: (uid) => new UserHome(agentSystem.config.current.usersDir, uid)
|
|
87
|
+
},
|
|
88
|
+
heartbeats: null
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=subuserConfigureToolBuild.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserConfigureToolBuild.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserConfigureToolBuild.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ToolDefinition } from "@/types";
|
|
2
|
+
/**
|
|
3
|
+
* Builds the subuser_create tool that provisions an isolated child user with a gateway agent.
|
|
4
|
+
* Expects: caller is the owner user; name and systemPrompt are non-empty.
|
|
5
|
+
*/
|
|
6
|
+
export declare function subuserCreateToolBuild(): ToolDefinition;
|
|
7
|
+
//# sourceMappingURL=subuserCreateToolBuild.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserCreateToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserCreateToolBuild.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAA4C,MAAM,SAAS,CAAC;AAkCxF;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAiGvD"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { createId } from "@paralleldrive/cuid2";
|
|
2
|
+
import { Type } from "@sinclair/typebox";
|
|
3
|
+
import { contextForAgent } from "../../agents/context.js";
|
|
4
|
+
import { agentDescriptorWrite } from "../../agents/ops/agentDescriptorWrite.js";
|
|
5
|
+
import { agentStateWrite } from "../../agents/ops/agentStateWrite.js";
|
|
6
|
+
import { permissionBuildUser } from "../../permissions/permissionBuildUser.js";
|
|
7
|
+
import { userHomeEnsure } from "../../users/userHomeEnsure.js";
|
|
8
|
+
const schema = Type.Object({
|
|
9
|
+
name: Type.String({ minLength: 1 }),
|
|
10
|
+
systemPrompt: Type.String({ minLength: 1 })
|
|
11
|
+
}, { additionalProperties: false });
|
|
12
|
+
const resultSchema = Type.Object({
|
|
13
|
+
summary: Type.String(),
|
|
14
|
+
subuserId: Type.String(),
|
|
15
|
+
gatewayAgentId: Type.String(),
|
|
16
|
+
name: Type.String()
|
|
17
|
+
}, { additionalProperties: false });
|
|
18
|
+
const returns = {
|
|
19
|
+
schema: resultSchema,
|
|
20
|
+
toLLMText: (result) => result.summary
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Builds the subuser_create tool that provisions an isolated child user with a gateway agent.
|
|
24
|
+
* Expects: caller is the owner user; name and systemPrompt are non-empty.
|
|
25
|
+
*/
|
|
26
|
+
export function subuserCreateToolBuild() {
|
|
27
|
+
return {
|
|
28
|
+
tool: {
|
|
29
|
+
name: "subuser_create",
|
|
30
|
+
description: "Create an isolated subuser with its own memory, filesystem, and a gateway agent. " +
|
|
31
|
+
"Only the owner can create subusers. The gateway agent receives messages forwarded by owner agents.",
|
|
32
|
+
parameters: schema
|
|
33
|
+
},
|
|
34
|
+
returns,
|
|
35
|
+
visibleByDefault: (context) => context.descriptor.type !== "subuser",
|
|
36
|
+
execute: async (args, toolContext, toolCall) => {
|
|
37
|
+
const payload = args;
|
|
38
|
+
const name = payload.name.trim();
|
|
39
|
+
if (!name) {
|
|
40
|
+
throw new Error("Subuser name is required.");
|
|
41
|
+
}
|
|
42
|
+
const systemPrompt = payload.systemPrompt.trim();
|
|
43
|
+
if (!systemPrompt) {
|
|
44
|
+
throw new Error("Subuser system prompt is required.");
|
|
45
|
+
}
|
|
46
|
+
await assertCallerIsOwner(toolContext);
|
|
47
|
+
const storage = toolContext.agentSystem.storage;
|
|
48
|
+
const subuserId = createId();
|
|
49
|
+
const now = Date.now();
|
|
50
|
+
// Create child user
|
|
51
|
+
await storage.users.create({
|
|
52
|
+
id: subuserId,
|
|
53
|
+
parentUserId: toolContext.ctx.userId,
|
|
54
|
+
name,
|
|
55
|
+
createdAt: now,
|
|
56
|
+
updatedAt: now
|
|
57
|
+
});
|
|
58
|
+
// Ensure subuser home directories
|
|
59
|
+
const subuserHome = toolContext.agentSystem.userHomeForUserId(subuserId);
|
|
60
|
+
await userHomeEnsure(subuserHome);
|
|
61
|
+
// Create gateway agent belonging to the subuser
|
|
62
|
+
const gatewayAgentId = createId();
|
|
63
|
+
const descriptor = {
|
|
64
|
+
type: "subuser",
|
|
65
|
+
id: subuserId,
|
|
66
|
+
name,
|
|
67
|
+
systemPrompt
|
|
68
|
+
};
|
|
69
|
+
const permissions = permissionBuildUser(subuserHome);
|
|
70
|
+
await agentDescriptorWrite(storage, contextForAgent({ userId: subuserId, agentId: gatewayAgentId }), descriptor, permissions);
|
|
71
|
+
// Create a session and write agent state in one step
|
|
72
|
+
const inferenceSessionId = createId();
|
|
73
|
+
const sessionId = await storage.sessions.create({
|
|
74
|
+
agentId: gatewayAgentId,
|
|
75
|
+
inferenceSessionId,
|
|
76
|
+
createdAt: now
|
|
77
|
+
});
|
|
78
|
+
await agentStateWrite(storage, contextForAgent({ userId: subuserId, agentId: gatewayAgentId }), {
|
|
79
|
+
context: { messages: [] },
|
|
80
|
+
activeSessionId: sessionId,
|
|
81
|
+
inferenceSessionId,
|
|
82
|
+
permissions,
|
|
83
|
+
tokens: null,
|
|
84
|
+
stats: {},
|
|
85
|
+
createdAt: now,
|
|
86
|
+
updatedAt: now,
|
|
87
|
+
state: "active"
|
|
88
|
+
});
|
|
89
|
+
const summary = `Subuser created: ${subuserId} (name: ${name}). Gateway agent: ${gatewayAgentId}.`;
|
|
90
|
+
const toolMessage = {
|
|
91
|
+
role: "toolResult",
|
|
92
|
+
toolCallId: toolCall.id,
|
|
93
|
+
toolName: toolCall.name,
|
|
94
|
+
content: [{ type: "text", text: summary }],
|
|
95
|
+
isError: false,
|
|
96
|
+
timestamp: Date.now()
|
|
97
|
+
};
|
|
98
|
+
return {
|
|
99
|
+
toolMessage,
|
|
100
|
+
typedResult: {
|
|
101
|
+
summary,
|
|
102
|
+
subuserId,
|
|
103
|
+
gatewayAgentId,
|
|
104
|
+
name
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
async function assertCallerIsOwner(toolContext) {
|
|
111
|
+
const userId = toolContext.ctx.userId;
|
|
112
|
+
if (!userId) {
|
|
113
|
+
throw new Error("Tool context userId is required.");
|
|
114
|
+
}
|
|
115
|
+
const user = await toolContext.agentSystem.storage.users.findById(userId);
|
|
116
|
+
if (!user || !user.isOwner) {
|
|
117
|
+
throw new Error("Only the owner user can create subusers.");
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=subuserCreateToolBuild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserCreateToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserCreateToolBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CACtB;IACI,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACnC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CAC9C,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAIF,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAC5B;IACI,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE;IAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;CACtB,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAIF,MAAM,OAAO,GAA4C;IACrD,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IAClC,OAAO;QACH,IAAI,EAAE;YACF,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACP,mFAAmF;gBACnF,oGAAoG;YACxG,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,IAAyB,CAAC;YAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAEvC,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC;YAChD,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,oBAAoB;YACpB,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBACvB,EAAE,EAAE,SAAS;gBACb,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM;gBACpC,IAAI;gBACJ,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACjB,CAAC,CAAC;YAEH,kCAAkC;YAClC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACzE,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;YAElC,gDAAgD;YAChD,MAAM,cAAc,GAAG,QAAQ,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,SAAkB;gBACxB,EAAE,EAAE,SAAS;gBACb,IAAI;gBACJ,YAAY;aACf,CAAC;YACF,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,oBAAoB,CACtB,OAAO,EACP,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAC/D,UAAU,EACV,WAAW,CACd,CAAC;YAEF,qDAAqD;YACrD,MAAM,kBAAkB,GAAG,QAAQ,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5C,OAAO,EAAE,cAAc;gBACvB,kBAAkB;gBAClB,SAAS,EAAE,GAAG;aACjB,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE;gBAC5F,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACzB,eAAe,EAAE,SAAS;gBAC1B,kBAAkB;gBAClB,WAAW;gBACX,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;gBACd,KAAK,EAAE,QAAQ;aAClB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,oBAAoB,SAAS,WAAW,IAAI,qBAAqB,cAAc,GAAG,CAAC;YACnG,MAAM,WAAW,GAAsB;gBACnC,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC1C,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC;YAEF,OAAO;gBACH,WAAW;gBACX,WAAW,EAAE;oBACT,OAAO;oBACP,SAAS;oBACT,cAAc;oBACd,IAAI;iBACP;aACJ,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,WAAiC;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserCreateToolBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserCreateToolBuild.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { mkdtemp, rm } from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
import { configResolve } from "../../../config/configResolve.js";
|
|
6
|
+
import { Storage } from "../../../storage/storage.js";
|
|
7
|
+
import { contextForAgent } from "../../agents/context.js";
|
|
8
|
+
import { UserHome } from "../../users/userHome.js";
|
|
9
|
+
import { subuserCreateToolBuild } from "./subuserCreateToolBuild.js";
|
|
10
|
+
const toolCall = { id: "tool-1", name: "subuser_create" };
|
|
11
|
+
describe("subuserCreateToolBuild", () => {
|
|
12
|
+
it("creates a subuser with gateway agent", async () => {
|
|
13
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-subuser-create-"));
|
|
14
|
+
try {
|
|
15
|
+
const config = configResolve({ engine: { dataDir: dir } }, path.join(dir, "settings.json"));
|
|
16
|
+
const storage = Storage.open(config.dbPath);
|
|
17
|
+
// Bootstrap migration creates an owner; find it
|
|
18
|
+
const owner = await storage.users.findOwner();
|
|
19
|
+
const ownerUserId = owner.id;
|
|
20
|
+
const tool = subuserCreateToolBuild();
|
|
21
|
+
const context = contextBuild(ownerUserId, {
|
|
22
|
+
config: { current: config },
|
|
23
|
+
storage
|
|
24
|
+
});
|
|
25
|
+
const result = await tool.execute({ name: "my-app", systemPrompt: "You are a helpful assistant." }, context, toolCall);
|
|
26
|
+
const typed = result.typedResult;
|
|
27
|
+
expect(typed.name).toBe("my-app");
|
|
28
|
+
expect(typed.subuserId).toBeTruthy();
|
|
29
|
+
expect(typed.gatewayAgentId).toBeTruthy();
|
|
30
|
+
// Verify subuser was created with correct parent
|
|
31
|
+
const subuser = await storage.users.findById(typed.subuserId);
|
|
32
|
+
expect(subuser).not.toBeNull();
|
|
33
|
+
expect(subuser.parentUserId).toBe(ownerUserId);
|
|
34
|
+
expect(subuser.name).toBe("my-app");
|
|
35
|
+
// Verify gateway agent was created
|
|
36
|
+
const agent = await storage.agents.findById(typed.gatewayAgentId);
|
|
37
|
+
expect(agent).not.toBeNull();
|
|
38
|
+
expect(agent.userId).toBe(typed.subuserId);
|
|
39
|
+
expect(agent.type).toBe("subuser");
|
|
40
|
+
expect(agent.descriptor.type).toBe("subuser");
|
|
41
|
+
storage.close();
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
await rm(dir, { recursive: true, force: true });
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
it("rejects non-owner callers", async () => {
|
|
48
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-subuser-create-reject-"));
|
|
49
|
+
try {
|
|
50
|
+
const config = configResolve({ engine: { dataDir: dir } }, path.join(dir, "settings.json"));
|
|
51
|
+
const storage = Storage.open(config.dbPath);
|
|
52
|
+
// Bootstrap creates owner; create a regular user
|
|
53
|
+
await storage.users.create({ id: "regular-user" });
|
|
54
|
+
const tool = subuserCreateToolBuild();
|
|
55
|
+
const context = contextBuild("regular-user", {
|
|
56
|
+
config: { current: config },
|
|
57
|
+
storage
|
|
58
|
+
});
|
|
59
|
+
await expect(tool.execute({ name: "my-app", systemPrompt: "prompt" }, context, toolCall)).rejects.toThrow("Only the owner user can create subusers.");
|
|
60
|
+
storage.close();
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
await rm(dir, { recursive: true, force: true });
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
it("hides from subuser agents", () => {
|
|
67
|
+
const tool = subuserCreateToolBuild();
|
|
68
|
+
expect(tool.visibleByDefault?.({
|
|
69
|
+
ctx: contextForAgent({ userId: "u1", agentId: "a1" }),
|
|
70
|
+
descriptor: { type: "subuser", id: "su1", name: "app", systemPrompt: "sp" }
|
|
71
|
+
})).toBe(false);
|
|
72
|
+
expect(tool.visibleByDefault?.({
|
|
73
|
+
ctx: contextForAgent({ userId: "u1", agentId: "a1" }),
|
|
74
|
+
descriptor: { type: "user", connector: "telegram", userId: "u1", channelId: "c1" }
|
|
75
|
+
})).toBe(true);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
function contextBuild(userId, agentSystem) {
|
|
79
|
+
return {
|
|
80
|
+
connectorRegistry: null,
|
|
81
|
+
fileStore: null,
|
|
82
|
+
auth: null,
|
|
83
|
+
logger: console,
|
|
84
|
+
assistant: null,
|
|
85
|
+
permissions: { workingDir: "/workspace", writeDirs: ["/workspace"] },
|
|
86
|
+
agent: { id: "caller-agent" },
|
|
87
|
+
ctx: { agentId: "caller-agent", userId },
|
|
88
|
+
source: "test",
|
|
89
|
+
messageContext: {},
|
|
90
|
+
agentSystem: {
|
|
91
|
+
...agentSystem,
|
|
92
|
+
userHomeForUserId: (uid) => new UserHome(agentSystem.config.current.usersDir, uid)
|
|
93
|
+
},
|
|
94
|
+
heartbeats: null
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=subuserCreateToolBuild.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserCreateToolBuild.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserCreateToolBuild.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ToolDefinition } from "@/types";
|
|
2
|
+
/**
|
|
3
|
+
* Builds the subuser_list tool that lists all subusers owned by the calling user.
|
|
4
|
+
* Expects: caller is the owner user.
|
|
5
|
+
*/
|
|
6
|
+
export declare function subuserListToolBuild(): ToolDefinition;
|
|
7
|
+
//# sourceMappingURL=subuserListToolBuild.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserListToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserListToolBuild.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAA4C,MAAM,SAAS,CAAC;AA8BxF;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAsDrD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
const schema = Type.Object({}, { additionalProperties: false });
|
|
3
|
+
const resultSchema = Type.Object({
|
|
4
|
+
summary: Type.String(),
|
|
5
|
+
count: Type.Number()
|
|
6
|
+
}, { additionalProperties: false });
|
|
7
|
+
const returns = {
|
|
8
|
+
schema: resultSchema,
|
|
9
|
+
toLLMText: (result) => result.summary
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Builds the subuser_list tool that lists all subusers owned by the calling user.
|
|
13
|
+
* Expects: caller is the owner user.
|
|
14
|
+
*/
|
|
15
|
+
export function subuserListToolBuild() {
|
|
16
|
+
return {
|
|
17
|
+
tool: {
|
|
18
|
+
name: "subuser_list",
|
|
19
|
+
description: "List all subusers and their gateway agents. Only the owner can list subusers.",
|
|
20
|
+
parameters: schema
|
|
21
|
+
},
|
|
22
|
+
returns,
|
|
23
|
+
visibleByDefault: (context) => context.descriptor.type !== "subuser",
|
|
24
|
+
execute: async (_args, toolContext, toolCall) => {
|
|
25
|
+
await assertCallerIsOwner(toolContext);
|
|
26
|
+
const storage = toolContext.agentSystem.storage;
|
|
27
|
+
const subusers = await storage.users.findByParentUserId(toolContext.ctx.userId);
|
|
28
|
+
const agents = await storage.agents.findMany();
|
|
29
|
+
const entries = subusers.map((subuser) => {
|
|
30
|
+
const gateway = agents.find((agent) => agent.descriptor.type === "subuser" && agent.descriptor.id === subuser.id);
|
|
31
|
+
return {
|
|
32
|
+
subuserId: subuser.id,
|
|
33
|
+
name: subuser.name,
|
|
34
|
+
gatewayAgentId: gateway?.id ?? null,
|
|
35
|
+
gatewayLifecycle: gateway?.lifecycle ?? null
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
const lines = entries.length === 0
|
|
39
|
+
? ["No subusers."]
|
|
40
|
+
: entries.map((entry) => `${entry.subuserId} name="${entry.name ?? "unnamed"}" ` +
|
|
41
|
+
`gatewayAgent=${entry.gatewayAgentId ?? "none"} ` +
|
|
42
|
+
`lifecycle=${entry.gatewayLifecycle ?? "unknown"}`);
|
|
43
|
+
const summary = [`## Subusers (${entries.length})`, ...lines].join("\n");
|
|
44
|
+
const toolMessage = {
|
|
45
|
+
role: "toolResult",
|
|
46
|
+
toolCallId: toolCall.id,
|
|
47
|
+
toolName: toolCall.name,
|
|
48
|
+
content: [{ type: "text", text: summary }],
|
|
49
|
+
isError: false,
|
|
50
|
+
timestamp: Date.now()
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
toolMessage,
|
|
54
|
+
typedResult: { summary, count: entries.length }
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async function assertCallerIsOwner(toolContext) {
|
|
60
|
+
const userId = toolContext.ctx.userId;
|
|
61
|
+
const user = await toolContext.agentSystem.storage.users.findById(userId);
|
|
62
|
+
if (!user || !user.isOwner) {
|
|
63
|
+
throw new Error("Only the owner user can list subusers.");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=subuserListToolBuild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserListToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserListToolBuild.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserListToolBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserListToolBuild.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { mkdtemp, rm } from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
import { configResolve } from "../../../config/configResolve.js";
|
|
6
|
+
import { Storage } from "../../../storage/storage.js";
|
|
7
|
+
import { UserHome } from "../../users/userHome.js";
|
|
8
|
+
import { subuserCreateToolBuild } from "./subuserCreateToolBuild.js";
|
|
9
|
+
import { subuserListToolBuild } from "./subuserListToolBuild.js";
|
|
10
|
+
const listToolCall = { id: "tool-2", name: "subuser_list" };
|
|
11
|
+
const createToolCall = { id: "tool-1", name: "subuser_create" };
|
|
12
|
+
describe("subuserListToolBuild", () => {
|
|
13
|
+
it("lists created subusers", async () => {
|
|
14
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-subuser-list-"));
|
|
15
|
+
try {
|
|
16
|
+
const config = configResolve({ engine: { dataDir: dir } }, path.join(dir, "settings.json"));
|
|
17
|
+
const storage = Storage.open(config.dbPath);
|
|
18
|
+
const owner = await storage.users.findOwner();
|
|
19
|
+
const ownerUserId = owner.id;
|
|
20
|
+
const context = contextBuild(ownerUserId, {
|
|
21
|
+
config: { current: config },
|
|
22
|
+
storage
|
|
23
|
+
});
|
|
24
|
+
// Create two subusers
|
|
25
|
+
const createTool = subuserCreateToolBuild();
|
|
26
|
+
await createTool.execute({ name: "app-one", systemPrompt: "Prompt 1." }, context, createToolCall);
|
|
27
|
+
await createTool.execute({ name: "app-two", systemPrompt: "Prompt 2." }, context, createToolCall);
|
|
28
|
+
// List them
|
|
29
|
+
const listTool = subuserListToolBuild();
|
|
30
|
+
const result = await listTool.execute({}, context, listToolCall);
|
|
31
|
+
expect(result.typedResult.count).toBe(2);
|
|
32
|
+
expect(result.typedResult.summary).toContain("app-one");
|
|
33
|
+
expect(result.typedResult.summary).toContain("app-two");
|
|
34
|
+
storage.close();
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
await rm(dir, { recursive: true, force: true });
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
it("returns empty list when no subusers", async () => {
|
|
41
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-subuser-list-empty-"));
|
|
42
|
+
try {
|
|
43
|
+
const config = configResolve({ engine: { dataDir: dir } }, path.join(dir, "settings.json"));
|
|
44
|
+
const storage = Storage.open(config.dbPath);
|
|
45
|
+
const owner = await storage.users.findOwner();
|
|
46
|
+
const ownerUserId = owner.id;
|
|
47
|
+
const context = contextBuild(ownerUserId, {
|
|
48
|
+
config: { current: config },
|
|
49
|
+
storage
|
|
50
|
+
});
|
|
51
|
+
const listTool = subuserListToolBuild();
|
|
52
|
+
const result = await listTool.execute({}, context, listToolCall);
|
|
53
|
+
expect(result.typedResult.count).toBe(0);
|
|
54
|
+
expect(result.typedResult.summary).toContain("No subusers");
|
|
55
|
+
storage.close();
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
await rm(dir, { recursive: true, force: true });
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
function contextBuild(userId, agentSystem) {
|
|
63
|
+
return {
|
|
64
|
+
connectorRegistry: null,
|
|
65
|
+
fileStore: null,
|
|
66
|
+
auth: null,
|
|
67
|
+
logger: console,
|
|
68
|
+
assistant: null,
|
|
69
|
+
permissions: { workingDir: "/workspace", writeDirs: ["/workspace"] },
|
|
70
|
+
agent: { id: "caller-agent" },
|
|
71
|
+
ctx: { agentId: "caller-agent", userId },
|
|
72
|
+
source: "test",
|
|
73
|
+
messageContext: {},
|
|
74
|
+
agentSystem: {
|
|
75
|
+
...agentSystem,
|
|
76
|
+
userHomeForUserId: (uid) => new UserHome(agentSystem.config.current.usersDir, uid)
|
|
77
|
+
},
|
|
78
|
+
heartbeats: null
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=subuserListToolBuild.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subuserListToolBuild.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/subuserListToolBuild.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topologyToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/topologyToolBuild.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AAGlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAgCxD;;;GAGG;AACH,wBAAgB,YAAY,CACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"topologyToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/topologyToolBuild.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AAGlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAgCxD;;;GAGG;AACH,wBAAgB,YAAY,CACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAC/B,cAAc,CA6MhB"}
|