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.
Files changed (419) hide show
  1. package/dist/engine/agents/agent.d.ts +7 -5
  2. package/dist/engine/agents/agent.d.ts.map +1 -1
  3. package/dist/engine/agents/agent.js +58 -56
  4. package/dist/engine/agents/agent.js.map +1 -1
  5. package/dist/engine/agents/agent.spec.js +95 -46
  6. package/dist/engine/agents/agent.spec.js.map +1 -1
  7. package/dist/engine/agents/agentSystem.d.ts +13 -9
  8. package/dist/engine/agents/agentSystem.d.ts.map +1 -1
  9. package/dist/engine/agents/agentSystem.js +150 -89
  10. package/dist/engine/agents/agentSystem.js.map +1 -1
  11. package/dist/engine/agents/agentSystem.spec.js +89 -32
  12. package/dist/engine/agents/agentSystem.spec.js.map +1 -1
  13. package/dist/engine/agents/agentSystemDurableInbox.spec.js +66 -11
  14. package/dist/engine/agents/agentSystemDurableInbox.spec.js.map +1 -1
  15. package/dist/engine/agents/context.d.ts +21 -2
  16. package/dist/engine/agents/context.d.ts.map +1 -1
  17. package/dist/engine/agents/context.js +41 -4
  18. package/dist/engine/agents/context.js.map +1 -1
  19. package/dist/engine/agents/context.spec.js +15 -5
  20. package/dist/engine/agents/context.spec.js.map +1 -1
  21. package/dist/engine/agents/ops/agentBackgroundList.d.ts.map +1 -1
  22. package/dist/engine/agents/ops/agentBackgroundList.js +3 -1
  23. package/dist/engine/agents/ops/agentBackgroundList.js.map +1 -1
  24. package/dist/engine/agents/ops/agentDescriptorCacheKey.d.ts.map +1 -1
  25. package/dist/engine/agents/ops/agentDescriptorCacheKey.js +2 -0
  26. package/dist/engine/agents/ops/agentDescriptorCacheKey.js.map +1 -1
  27. package/dist/engine/agents/ops/agentDescriptorCacheKey.spec.js +8 -0
  28. package/dist/engine/agents/ops/agentDescriptorCacheKey.spec.js.map +1 -1
  29. package/dist/engine/agents/ops/agentDescriptorLabel.d.ts.map +1 -1
  30. package/dist/engine/agents/ops/agentDescriptorLabel.js +3 -0
  31. package/dist/engine/agents/ops/agentDescriptorLabel.js.map +1 -1
  32. package/dist/engine/agents/ops/agentDescriptorLabel.spec.js +8 -0
  33. package/dist/engine/agents/ops/agentDescriptorLabel.spec.js.map +1 -1
  34. package/dist/engine/agents/ops/agentDescriptorRead.d.ts +2 -2
  35. package/dist/engine/agents/ops/agentDescriptorRead.d.ts.map +1 -1
  36. package/dist/engine/agents/ops/agentDescriptorRead.js +2 -2
  37. package/dist/engine/agents/ops/agentDescriptorRead.js.map +1 -1
  38. package/dist/engine/agents/ops/agentDescriptorRoleResolve.d.ts.map +1 -1
  39. package/dist/engine/agents/ops/agentDescriptorRoleResolve.js +1 -0
  40. package/dist/engine/agents/ops/agentDescriptorRoleResolve.js.map +1 -1
  41. package/dist/engine/agents/ops/agentDescriptorRoleResolve.spec.js +9 -0
  42. package/dist/engine/agents/ops/agentDescriptorRoleResolve.spec.js.map +1 -1
  43. package/dist/engine/agents/ops/agentDescriptorTypes.d.ts +5 -0
  44. package/dist/engine/agents/ops/agentDescriptorTypes.d.ts.map +1 -1
  45. package/dist/engine/agents/ops/agentDescriptorWrite.d.ts +3 -3
  46. package/dist/engine/agents/ops/agentDescriptorWrite.d.ts.map +1 -1
  47. package/dist/engine/agents/ops/agentDescriptorWrite.js +7 -24
  48. package/dist/engine/agents/ops/agentDescriptorWrite.js.map +1 -1
  49. package/dist/engine/agents/ops/agentDescriptorWrite.spec.js +6 -4
  50. package/dist/engine/agents/ops/agentDescriptorWrite.spec.js.map +1 -1
  51. package/dist/engine/agents/ops/agentHistoryAppend.d.ts +2 -2
  52. package/dist/engine/agents/ops/agentHistoryAppend.d.ts.map +1 -1
  53. package/dist/engine/agents/ops/agentHistoryAppend.js +2 -2
  54. package/dist/engine/agents/ops/agentHistoryAppend.js.map +1 -1
  55. package/dist/engine/agents/ops/agentHistoryLoad.d.ts +2 -2
  56. package/dist/engine/agents/ops/agentHistoryLoad.d.ts.map +1 -1
  57. package/dist/engine/agents/ops/agentHistoryLoad.js +2 -2
  58. package/dist/engine/agents/ops/agentHistoryLoad.js.map +1 -1
  59. package/dist/engine/agents/ops/agentHistoryLoad.spec.js +10 -8
  60. package/dist/engine/agents/ops/agentHistoryLoad.spec.js.map +1 -1
  61. package/dist/engine/agents/ops/agentHistoryLoadAll.d.ts +2 -2
  62. package/dist/engine/agents/ops/agentHistoryLoadAll.d.ts.map +1 -1
  63. package/dist/engine/agents/ops/agentHistoryLoadAll.js +2 -2
  64. package/dist/engine/agents/ops/agentHistoryLoadAll.js.map +1 -1
  65. package/dist/engine/agents/ops/agentHistoryLoadAll.spec.js +10 -8
  66. package/dist/engine/agents/ops/agentHistoryLoadAll.spec.js.map +1 -1
  67. package/dist/engine/agents/ops/agentInferencePromptWrite.d.ts +2 -2
  68. package/dist/engine/agents/ops/agentInferencePromptWrite.d.ts.map +1 -1
  69. package/dist/engine/agents/ops/agentInferencePromptWrite.js +2 -6
  70. package/dist/engine/agents/ops/agentInferencePromptWrite.js.map +1 -1
  71. package/dist/engine/agents/ops/agentInferencePromptWrite.spec.js +3 -1
  72. package/dist/engine/agents/ops/agentInferencePromptWrite.spec.js.map +1 -1
  73. package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
  74. package/dist/engine/agents/ops/agentLoopRun.js +6 -8
  75. package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
  76. package/dist/engine/agents/ops/agentLoopRun.spec.js +2 -0
  77. package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
  78. package/dist/engine/agents/ops/agentPath.d.ts +2 -2
  79. package/dist/engine/agents/ops/agentPath.d.ts.map +1 -1
  80. package/dist/engine/agents/ops/agentPath.js +2 -2
  81. package/dist/engine/agents/ops/agentPath.js.map +1 -1
  82. package/dist/engine/agents/ops/agentPromptResolve.js +1 -1
  83. package/dist/engine/agents/ops/agentPromptResolve.js.map +1 -1
  84. package/dist/engine/agents/ops/agentPromptResolve.spec.js +12 -0
  85. package/dist/engine/agents/ops/agentPromptResolve.spec.js.map +1 -1
  86. package/dist/engine/agents/ops/agentStateRead.d.ts +2 -2
  87. package/dist/engine/agents/ops/agentStateRead.d.ts.map +1 -1
  88. package/dist/engine/agents/ops/agentStateRead.js +2 -2
  89. package/dist/engine/agents/ops/agentStateRead.js.map +1 -1
  90. package/dist/engine/agents/ops/agentStateRead.spec.js +13 -9
  91. package/dist/engine/agents/ops/agentStateRead.spec.js.map +1 -1
  92. package/dist/engine/agents/ops/agentStateWrite.d.ts +2 -2
  93. package/dist/engine/agents/ops/agentStateWrite.d.ts.map +1 -1
  94. package/dist/engine/agents/ops/agentStateWrite.js +4 -4
  95. package/dist/engine/agents/ops/agentStateWrite.js.map +1 -1
  96. package/dist/engine/agents/ops/agentSystemPrompt.d.ts +1 -1
  97. package/dist/engine/agents/ops/agentSystemPrompt.d.ts.map +1 -1
  98. package/dist/engine/agents/ops/agentSystemPrompt.js +1 -1
  99. package/dist/engine/agents/ops/agentSystemPrompt.js.map +1 -1
  100. package/dist/engine/agents/ops/agentSystemPrompt.spec.js +6 -2
  101. package/dist/engine/agents/ops/agentSystemPrompt.spec.js.map +1 -1
  102. package/dist/engine/agents/ops/agentSystemPromptContext.d.ts +2 -3
  103. package/dist/engine/agents/ops/agentSystemPromptContext.d.ts.map +1 -1
  104. package/dist/engine/agents/ops/agentSystemPromptSectionAgentsTopologySignalsChannels.d.ts +1 -1
  105. package/dist/engine/agents/ops/agentSystemPromptSectionAgentsTopologySignalsChannels.d.ts.map +1 -1
  106. package/dist/engine/agents/ops/agentSystemPromptSectionAgentsTopologySignalsChannels.js +1 -1
  107. package/dist/engine/agents/ops/agentSystemPromptSectionAgentsTopologySignalsChannels.js.map +1 -1
  108. package/dist/engine/agents/ops/agentSystemPromptSectionAutonomousOperation.d.ts +1 -1
  109. package/dist/engine/agents/ops/agentSystemPromptSectionAutonomousOperation.d.ts.map +1 -1
  110. package/dist/engine/agents/ops/agentSystemPromptSectionAutonomousOperation.js +2 -2
  111. package/dist/engine/agents/ops/agentSystemPromptSectionAutonomousOperation.js.map +1 -1
  112. package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.d.ts +1 -1
  113. package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.d.ts.map +1 -1
  114. package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.js +1 -1
  115. package/dist/engine/agents/ops/agentSystemPromptSectionEnvironment.js.map +1 -1
  116. package/dist/engine/agents/ops/agentSystemPromptSectionFormatting.d.ts +1 -1
  117. package/dist/engine/agents/ops/agentSystemPromptSectionFormatting.d.ts.map +1 -1
  118. package/dist/engine/agents/ops/agentSystemPromptSectionFormatting.js +1 -1
  119. package/dist/engine/agents/ops/agentSystemPromptSectionFormatting.js.map +1 -1
  120. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts +1 -1
  121. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts.map +1 -1
  122. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js +1 -1
  123. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js.map +1 -1
  124. package/dist/engine/agents/ops/agentSystemPromptSectionModels.d.ts +1 -1
  125. package/dist/engine/agents/ops/agentSystemPromptSectionModels.d.ts.map +1 -1
  126. package/dist/engine/agents/ops/agentSystemPromptSectionModels.js +1 -1
  127. package/dist/engine/agents/ops/agentSystemPromptSectionModels.js.map +1 -1
  128. package/dist/engine/agents/ops/agentSystemPromptSectionModels.spec.js +5 -1
  129. package/dist/engine/agents/ops/agentSystemPromptSectionModels.spec.js.map +1 -1
  130. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts +1 -1
  131. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts.map +1 -1
  132. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js +1 -1
  133. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js.map +1 -1
  134. package/dist/engine/agents/ops/agentSystemPromptSectionPreamble.d.ts +1 -1
  135. package/dist/engine/agents/ops/agentSystemPromptSectionPreamble.d.ts.map +1 -1
  136. package/dist/engine/agents/ops/agentSystemPromptSectionPreamble.js +2 -2
  137. package/dist/engine/agents/ops/agentSystemPromptSectionPreamble.js.map +1 -1
  138. package/dist/engine/agents/ops/agentSystemPromptSectionSkills.d.ts +1 -1
  139. package/dist/engine/agents/ops/agentSystemPromptSectionSkills.d.ts.map +1 -1
  140. package/dist/engine/agents/ops/agentSystemPromptSectionSkills.js +1 -1
  141. package/dist/engine/agents/ops/agentSystemPromptSectionSkills.js.map +1 -1
  142. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.d.ts +1 -1
  143. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.d.ts.map +1 -1
  144. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.js +25 -6
  145. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.js.map +1 -1
  146. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.spec.d.ts +2 -0
  147. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.spec.d.ts.map +1 -0
  148. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.spec.js +62 -0
  149. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.spec.js.map +1 -0
  150. package/dist/engine/agents/ops/agentSystemPromptWrite.d.ts +3 -3
  151. package/dist/engine/agents/ops/agentSystemPromptWrite.d.ts.map +1 -1
  152. package/dist/engine/agents/ops/agentSystemPromptWrite.js +4 -3
  153. package/dist/engine/agents/ops/agentSystemPromptWrite.js.map +1 -1
  154. package/dist/engine/agents/ops/agentSystemPromptWrite.spec.js +5 -3
  155. package/dist/engine/agents/ops/agentSystemPromptWrite.spec.js.map +1 -1
  156. package/dist/engine/apps/appExecute.d.ts.map +1 -1
  157. package/dist/engine/apps/appExecute.js +7 -5
  158. package/dist/engine/apps/appExecute.js.map +1 -1
  159. package/dist/engine/apps/appExecute.spec.js +19 -10
  160. package/dist/engine/apps/appExecute.spec.js.map +1 -1
  161. package/dist/engine/apps/appInstallToolBuild.js +4 -3
  162. package/dist/engine/apps/appInstallToolBuild.js.map +1 -1
  163. package/dist/engine/channels/channels.d.ts.map +1 -1
  164. package/dist/engine/channels/channels.js +9 -11
  165. package/dist/engine/channels/channels.js.map +1 -1
  166. package/dist/engine/channels/channels.spec.js +4 -4
  167. package/dist/engine/channels/channels.spec.js.map +1 -1
  168. package/dist/engine/cron/crons.d.ts.map +1 -1
  169. package/dist/engine/cron/crons.js +2 -1
  170. package/dist/engine/cron/crons.js.map +1 -1
  171. package/dist/engine/cron/crons.spec.js +3 -5
  172. package/dist/engine/cron/crons.spec.js.map +1 -1
  173. package/dist/engine/cron/ops/cronScheduler.js +2 -2
  174. package/dist/engine/cron/ops/cronScheduler.js.map +1 -1
  175. package/dist/engine/engine.d.ts +5 -0
  176. package/dist/engine/engine.d.ts.map +1 -1
  177. package/dist/engine/engine.js +45 -15
  178. package/dist/engine/engine.js.map +1 -1
  179. package/dist/engine/engine.spec.js +9 -4
  180. package/dist/engine/engine.spec.js.map +1 -1
  181. package/dist/engine/expose/exposes.d.ts.map +1 -1
  182. package/dist/engine/expose/exposes.js +9 -2
  183. package/dist/engine/expose/exposes.js.map +1 -1
  184. package/dist/engine/heartbeat/heartbeats.d.ts.map +1 -1
  185. package/dist/engine/heartbeat/heartbeats.js +17 -8
  186. package/dist/engine/heartbeat/heartbeats.js.map +1 -1
  187. package/dist/engine/heartbeat/heartbeats.spec.js +1 -1
  188. package/dist/engine/heartbeat/heartbeats.spec.js.map +1 -1
  189. package/dist/engine/heartbeat/ops/heartbeatScheduler.js +2 -2
  190. package/dist/engine/heartbeat/ops/heartbeatScheduler.js.map +1 -1
  191. package/dist/engine/ipc/server.d.ts.map +1 -1
  192. package/dist/engine/ipc/server.js +24 -5
  193. package/dist/engine/ipc/server.js.map +1 -1
  194. package/dist/engine/ipc/serverMemoryRoutesRegister.d.ts +3 -2
  195. package/dist/engine/ipc/serverMemoryRoutesRegister.d.ts.map +1 -1
  196. package/dist/engine/ipc/serverMemoryRoutesRegister.js +3 -2
  197. package/dist/engine/ipc/serverMemoryRoutesRegister.js.map +1 -1
  198. package/dist/engine/ipc/serverMemoryRoutesRegister.spec.js +3 -2
  199. package/dist/engine/ipc/serverMemoryRoutesRegister.spec.js.map +1 -1
  200. package/dist/engine/memory/memory.d.ts +6 -5
  201. package/dist/engine/memory/memory.d.ts.map +1 -1
  202. package/dist/engine/memory/memory.js +12 -12
  203. package/dist/engine/memory/memory.js.map +1 -1
  204. package/dist/engine/memory/memory.spec.js +10 -6
  205. package/dist/engine/memory/memory.spec.js.map +1 -1
  206. package/dist/engine/memory/memorySessionObserve.spec.js +3 -3
  207. package/dist/engine/memory/memorySessionObserve.spec.js.map +1 -1
  208. package/dist/engine/memory/memoryWorker.d.ts +2 -1
  209. package/dist/engine/memory/memoryWorker.d.ts.map +1 -1
  210. package/dist/engine/memory/memoryWorker.js +4 -2
  211. package/dist/engine/memory/memoryWorker.js.map +1 -1
  212. package/dist/engine/memory/memoryWorker.spec.js +4 -2
  213. package/dist/engine/memory/memoryWorker.spec.js.map +1 -1
  214. package/dist/engine/modules/rlm/rlmTool.spec.js +7 -4
  215. package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
  216. package/dist/engine/modules/rlm/rlmToolsForContextResolve.d.ts.map +1 -1
  217. package/dist/engine/modules/rlm/rlmToolsForContextResolve.js +2 -4
  218. package/dist/engine/modules/rlm/rlmToolsForContextResolve.js.map +1 -1
  219. package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.js +5 -3
  220. package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.js.map +1 -1
  221. package/dist/engine/modules/toolResolver.spec.js +2 -2
  222. package/dist/engine/modules/toolResolver.spec.js.map +1 -1
  223. package/dist/engine/modules/tools/agentCompactTool.d.ts.map +1 -1
  224. package/dist/engine/modules/tools/agentCompactTool.js +5 -1
  225. package/dist/engine/modules/tools/agentCompactTool.js.map +1 -1
  226. package/dist/engine/modules/tools/agentCompactTool.spec.js +9 -5
  227. package/dist/engine/modules/tools/agentCompactTool.spec.js.map +1 -1
  228. package/dist/engine/modules/tools/agentModelSetToolBuild.spec.js +5 -8
  229. package/dist/engine/modules/tools/agentModelSetToolBuild.spec.js.map +1 -1
  230. package/dist/engine/modules/tools/agentResetTool.d.ts.map +1 -1
  231. package/dist/engine/modules/tools/agentResetTool.js +5 -1
  232. package/dist/engine/modules/tools/agentResetTool.js.map +1 -1
  233. package/dist/engine/modules/tools/agentResetTool.spec.js +12 -7
  234. package/dist/engine/modules/tools/agentResetTool.spec.js.map +1 -1
  235. package/dist/engine/modules/tools/background.d.ts.map +1 -1
  236. package/dist/engine/modules/tools/background.js +5 -5
  237. package/dist/engine/modules/tools/background.js.map +1 -1
  238. package/dist/engine/modules/tools/background.spec.js +3 -2
  239. package/dist/engine/modules/tools/background.spec.js.map +1 -1
  240. package/dist/engine/modules/tools/channelSendTool.js +3 -0
  241. package/dist/engine/modules/tools/channelSendTool.js.map +1 -1
  242. package/dist/engine/modules/tools/cron.d.ts.map +1 -1
  243. package/dist/engine/modules/tools/cron.js +12 -9
  244. package/dist/engine/modules/tools/cron.js.map +1 -1
  245. package/dist/engine/modules/tools/memoryNodeReadToolBuild.js +2 -2
  246. package/dist/engine/modules/tools/memoryNodeReadToolBuild.js.map +1 -1
  247. package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.js +3 -4
  248. package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.js.map +1 -1
  249. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.d.ts.map +1 -1
  250. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.js +2 -3
  251. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.js.map +1 -1
  252. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.js +3 -4
  253. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.js.map +1 -1
  254. package/dist/engine/modules/tools/memorySearchToolBuild.d.ts +2 -2
  255. package/dist/engine/modules/tools/memorySearchToolBuild.d.ts.map +1 -1
  256. package/dist/engine/modules/tools/memorySearchToolBuild.js +6 -6
  257. package/dist/engine/modules/tools/memorySearchToolBuild.js.map +1 -1
  258. package/dist/engine/modules/tools/permanentAgentToolBuild.d.ts.map +1 -1
  259. package/dist/engine/modules/tools/permanentAgentToolBuild.js +12 -10
  260. package/dist/engine/modules/tools/permanentAgentToolBuild.js.map +1 -1
  261. package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js +2 -1
  262. package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js.map +1 -1
  263. package/dist/engine/modules/tools/sendUserMessageTool.d.ts.map +1 -1
  264. package/dist/engine/modules/tools/sendUserMessageTool.js +6 -2
  265. package/dist/engine/modules/tools/sendUserMessageTool.js.map +1 -1
  266. package/dist/engine/modules/tools/sendUserMessageTool.spec.js +5 -4
  267. package/dist/engine/modules/tools/sendUserMessageTool.spec.js.map +1 -1
  268. package/dist/engine/modules/tools/sessionHistoryToolBuild.d.ts.map +1 -1
  269. package/dist/engine/modules/tools/sessionHistoryToolBuild.js +7 -3
  270. package/dist/engine/modules/tools/sessionHistoryToolBuild.js.map +1 -1
  271. package/dist/engine/modules/tools/sessionHistoryToolBuild.spec.js +23 -18
  272. package/dist/engine/modules/tools/sessionHistoryToolBuild.spec.js.map +1 -1
  273. package/dist/engine/modules/tools/skillToolBuild.d.ts.map +1 -1
  274. package/dist/engine/modules/tools/skillToolBuild.js +23 -7
  275. package/dist/engine/modules/tools/skillToolBuild.js.map +1 -1
  276. package/dist/engine/modules/tools/skillToolBuild.spec.js +55 -3
  277. package/dist/engine/modules/tools/skillToolBuild.spec.js.map +1 -1
  278. package/dist/engine/modules/tools/subuserConfigureToolBuild.d.ts +7 -0
  279. package/dist/engine/modules/tools/subuserConfigureToolBuild.d.ts.map +1 -0
  280. package/dist/engine/modules/tools/subuserConfigureToolBuild.js +96 -0
  281. package/dist/engine/modules/tools/subuserConfigureToolBuild.js.map +1 -0
  282. package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.d.ts +2 -0
  283. package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.d.ts.map +1 -0
  284. package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.js +91 -0
  285. package/dist/engine/modules/tools/subuserConfigureToolBuild.spec.js.map +1 -0
  286. package/dist/engine/modules/tools/subuserCreateToolBuild.d.ts +7 -0
  287. package/dist/engine/modules/tools/subuserCreateToolBuild.d.ts.map +1 -0
  288. package/dist/engine/modules/tools/subuserCreateToolBuild.js +120 -0
  289. package/dist/engine/modules/tools/subuserCreateToolBuild.js.map +1 -0
  290. package/dist/engine/modules/tools/subuserCreateToolBuild.spec.d.ts +2 -0
  291. package/dist/engine/modules/tools/subuserCreateToolBuild.spec.d.ts.map +1 -0
  292. package/dist/engine/modules/tools/subuserCreateToolBuild.spec.js +97 -0
  293. package/dist/engine/modules/tools/subuserCreateToolBuild.spec.js.map +1 -0
  294. package/dist/engine/modules/tools/subuserListToolBuild.d.ts +7 -0
  295. package/dist/engine/modules/tools/subuserListToolBuild.d.ts.map +1 -0
  296. package/dist/engine/modules/tools/subuserListToolBuild.js +66 -0
  297. package/dist/engine/modules/tools/subuserListToolBuild.js.map +1 -0
  298. package/dist/engine/modules/tools/subuserListToolBuild.spec.d.ts +2 -0
  299. package/dist/engine/modules/tools/subuserListToolBuild.spec.d.ts.map +1 -0
  300. package/dist/engine/modules/tools/subuserListToolBuild.spec.js +81 -0
  301. package/dist/engine/modules/tools/subuserListToolBuild.spec.js.map +1 -0
  302. package/dist/engine/modules/tools/topologyToolBuild.d.ts.map +1 -1
  303. package/dist/engine/modules/tools/topologyToolBuild.js +48 -16
  304. package/dist/engine/modules/tools/topologyToolBuild.js.map +1 -1
  305. package/dist/engine/modules/tools/topologyToolBuild.spec.js +117 -13
  306. package/dist/engine/modules/tools/topologyToolBuild.spec.js.map +1 -1
  307. package/dist/engine/modules/tools/types.d.ts +1 -2
  308. package/dist/engine/modules/tools/types.d.ts.map +1 -1
  309. package/dist/engine/processes/processes.d.ts.map +1 -1
  310. package/dist/engine/processes/processes.js +7 -2
  311. package/dist/engine/processes/processes.js.map +1 -1
  312. package/dist/engine/signals/signals.js +9 -2
  313. package/dist/engine/signals/signals.js.map +1 -1
  314. package/dist/plugins/dashboard/site/404.html +1 -1
  315. package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/page-8434e05e02ab5847.js +1 -0
  316. package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/page-70ae793aa3d3a28f.js +1 -0
  317. package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/{page-6a39540c21d6b25b.js → page-6be961a7eafef90d.js} +1 -1
  318. package/dist/plugins/dashboard/site/_next/static/chunks/app/connectors/{page-92a732501885071f.js → page-8e756eb48c3f7c03.js} +1 -1
  319. package/dist/plugins/dashboard/site/_next/static/chunks/app/memory/{page-74c0b70421c567ab.js → page-be87f13a7b6fac14.js} +1 -1
  320. package/dist/plugins/dashboard/site/_next/static/chunks/app/{page-c4cbe1c7aca2ecd7.js → page-bd7cca39bd0f6e71.js} +1 -1
  321. package/dist/plugins/dashboard/site/_next/static/chunks/app/processes/{page-bf7900fe583d361e.js → page-87f7e8a74fbee01f.js} +1 -1
  322. package/dist/plugins/dashboard/site/_next/static/chunks/app/providers/{page-b2e79cb03244c267.js → page-fcedae8d614253d3.js} +1 -1
  323. package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/page-efe599a7802349fa.js +1 -0
  324. package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/page-e669223389d84f30.js +1 -0
  325. package/dist/plugins/dashboard/site/_next/static/css/62b1686547b31a3c.css +5 -0
  326. package/dist/plugins/dashboard/site/agent.html +1 -1
  327. package/dist/plugins/dashboard/site/agent.txt +2 -2
  328. package/dist/plugins/dashboard/site/agents.html +1 -1
  329. package/dist/plugins/dashboard/site/agents.txt +2 -2
  330. package/dist/plugins/dashboard/site/automations.html +1 -1
  331. package/dist/plugins/dashboard/site/automations.txt +2 -2
  332. package/dist/plugins/dashboard/site/connectors.html +1 -1
  333. package/dist/plugins/dashboard/site/connectors.txt +2 -2
  334. package/dist/plugins/dashboard/site/index.html +2 -2
  335. package/dist/plugins/dashboard/site/index.txt +2 -2
  336. package/dist/plugins/dashboard/site/memory.html +1 -1
  337. package/dist/plugins/dashboard/site/memory.txt +2 -2
  338. package/dist/plugins/dashboard/site/processes.html +1 -1
  339. package/dist/plugins/dashboard/site/processes.txt +2 -2
  340. package/dist/plugins/dashboard/site/providers.html +1 -1
  341. package/dist/plugins/dashboard/site/providers.txt +2 -2
  342. package/dist/plugins/dashboard/site/signals.html +1 -1
  343. package/dist/plugins/dashboard/site/signals.txt +2 -2
  344. package/dist/plugins/dashboard/site/telemetry.html +2 -2
  345. package/dist/plugins/dashboard/site/telemetry.txt +1 -1
  346. package/dist/plugins/dashboard/site/tools.html +1 -1
  347. package/dist/plugins/dashboard/site/tools.txt +2 -2
  348. package/dist/plugins/database/__tests__/plugin.spec.js +4 -3
  349. package/dist/plugins/database/__tests__/plugin.spec.js.map +1 -1
  350. package/dist/plugins/monty-python/tool.spec.js +4 -2
  351. package/dist/plugins/monty-python/tool.spec.js.map +1 -1
  352. package/dist/plugins/shell/tool.js +4 -2
  353. package/dist/plugins/shell/tool.js.map +1 -1
  354. package/dist/plugins/shell/tool.spec.js +23 -4
  355. package/dist/plugins/shell/tool.spec.js.map +1 -1
  356. package/dist/plugins/telegram/connector.d.ts +2 -0
  357. package/dist/plugins/telegram/connector.d.ts.map +1 -1
  358. package/dist/plugins/telegram/connector.js +9 -0
  359. package/dist/plugins/telegram/connector.js.map +1 -1
  360. package/dist/plugins/telegram/connector.spec.js +60 -0
  361. package/dist/plugins/telegram/connector.spec.js.map +1 -1
  362. package/dist/plugins/telegram/plugin.d.ts +2 -1
  363. package/dist/plugins/telegram/plugin.d.ts.map +1 -1
  364. package/dist/plugins/telegram/plugin.js +43 -3
  365. package/dist/plugins/telegram/plugin.js.map +1 -1
  366. package/dist/plugins/telegram/plugin.spec.d.ts +2 -0
  367. package/dist/plugins/telegram/plugin.spec.d.ts.map +1 -0
  368. package/dist/plugins/telegram/plugin.spec.js +93 -0
  369. package/dist/plugins/telegram/plugin.spec.js.map +1 -0
  370. package/dist/prompts/SYSTEM_MEMORY.md +15 -1
  371. package/dist/storage/databaseTypes.d.ts +8 -0
  372. package/dist/storage/databaseTypes.d.ts.map +1 -1
  373. package/dist/storage/delayedSignalsRepository.d.ts +1 -1
  374. package/dist/storage/delayedSignalsRepository.d.ts.map +1 -1
  375. package/dist/storage/delayedSignalsRepository.js +29 -22
  376. package/dist/storage/delayedSignalsRepository.js.map +1 -1
  377. package/dist/storage/migrations/20260222_add_user_parent.d.ts +7 -0
  378. package/dist/storage/migrations/20260222_add_user_parent.d.ts.map +1 -0
  379. package/dist/storage/migrations/20260222_add_user_parent.js +23 -0
  380. package/dist/storage/migrations/20260222_add_user_parent.js.map +1 -0
  381. package/dist/storage/migrations/20260222_add_user_parent.spec.d.ts +2 -0
  382. package/dist/storage/migrations/20260222_add_user_parent.spec.d.ts.map +1 -0
  383. package/dist/storage/migrations/20260222_add_user_parent.spec.js +48 -0
  384. package/dist/storage/migrations/20260222_add_user_parent.spec.js.map +1 -0
  385. package/dist/storage/migrations/20260222_session_ended_at.d.ts +7 -0
  386. package/dist/storage/migrations/20260222_session_ended_at.d.ts.map +1 -0
  387. package/dist/storage/migrations/20260222_session_ended_at.js +18 -0
  388. package/dist/storage/migrations/20260222_session_ended_at.js.map +1 -0
  389. package/dist/storage/migrations/20260222_session_ended_at.spec.d.ts +2 -0
  390. package/dist/storage/migrations/20260222_session_ended_at.spec.d.ts.map +1 -0
  391. package/dist/storage/migrations/20260222_session_ended_at.spec.js +37 -0
  392. package/dist/storage/migrations/20260222_session_ended_at.spec.js.map +1 -0
  393. package/dist/storage/migrations/_migrations.d.ts.map +1 -1
  394. package/dist/storage/migrations/_migrations.js +5 -1
  395. package/dist/storage/migrations/_migrations.js.map +1 -1
  396. package/dist/storage/sessionsRepository.d.ts +5 -0
  397. package/dist/storage/sessionsRepository.d.ts.map +1 -1
  398. package/dist/storage/sessionsRepository.js +9 -1
  399. package/dist/storage/sessionsRepository.js.map +1 -1
  400. package/dist/storage/sessionsRepository.spec.js +31 -1
  401. package/dist/storage/sessionsRepository.spec.js.map +1 -1
  402. package/dist/storage/signalSubscriptionsRepository.js +3 -3
  403. package/dist/storage/signalSubscriptionsRepository.js.map +1 -1
  404. package/dist/storage/usersRepository.d.ts +1 -0
  405. package/dist/storage/usersRepository.d.ts.map +1 -1
  406. package/dist/storage/usersRepository.js +18 -2
  407. package/dist/storage/usersRepository.js.map +1 -1
  408. package/dist/types.d.ts +1 -1
  409. package/dist/types.d.ts.map +1 -1
  410. package/dist/types.js +1 -1
  411. package/dist/types.js.map +1 -1
  412. package/package.json +1 -1
  413. package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/page-2d345f6346edc077.js +0 -1
  414. package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/page-326ff3cf564198c7.js +0 -1
  415. package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/page-2992aa1807b6fdab.js +0 -1
  416. package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/page-4a2e5a16190af659.js +0 -1
  417. package/dist/plugins/dashboard/site/_next/static/css/42d76d007d742231.css +0 -5
  418. /package/dist/plugins/dashboard/site/_next/static/{spdhxita1pAP4TEpLe5oJ → X_oqQhoSTmj1_qmNPx-r5}/_buildManifest.js +0 -0
  419. /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":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subuserCreateToolBuild.spec.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subuserListToolBuild.spec.d.ts.map
@@ -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,CA+JhB"}
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"}