daycare-cli 2026.2.9 → 2026.2.11

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 (579) hide show
  1. package/dist/commands/add.js +1 -1
  2. package/dist/commands/add.js.map +1 -1
  3. package/dist/commands/providers.js +1 -1
  4. package/dist/commands/providers.js.map +1 -1
  5. package/dist/config/configResolve.js +1 -1
  6. package/dist/config/configResolve.js.map +1 -1
  7. package/dist/config/configResolve.spec.js +2 -2
  8. package/dist/config/configResolve.spec.js.map +1 -1
  9. package/dist/engine/agents/agent.d.ts +1 -5
  10. package/dist/engine/agents/agent.d.ts.map +1 -1
  11. package/dist/engine/agents/agent.js +8 -34
  12. package/dist/engine/agents/agent.js.map +1 -1
  13. package/dist/engine/agents/agent.spec.js +98 -0
  14. package/dist/engine/agents/agent.spec.js.map +1 -1
  15. package/dist/engine/agents/agentSystem.d.ts +1 -17
  16. package/dist/engine/agents/agentSystem.d.ts.map +1 -1
  17. package/dist/engine/agents/agentSystem.js +0 -87
  18. package/dist/engine/agents/agentSystem.js.map +1 -1
  19. package/dist/engine/agents/agentSystem.spec.js +1 -16
  20. package/dist/engine/agents/agentSystem.spec.js.map +1 -1
  21. package/dist/engine/agents/ops/agentHistoryContext.d.ts +1 -1
  22. package/dist/engine/agents/ops/agentHistoryContext.d.ts.map +1 -1
  23. package/dist/engine/agents/ops/agentHistoryContext.js +1 -1
  24. package/dist/engine/agents/ops/agentHistoryContext.js.map +1 -1
  25. package/dist/engine/agents/ops/agentHistoryPendingToolResults.js.map +1 -1
  26. package/dist/engine/agents/ops/agentInbox.js +1 -13
  27. package/dist/engine/agents/ops/agentInbox.js.map +1 -1
  28. package/dist/engine/agents/ops/agentInbox.spec.js +5 -7
  29. package/dist/engine/agents/ops/agentInbox.spec.js.map +1 -1
  30. package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
  31. package/dist/engine/agents/ops/agentLoopRun.js +0 -5
  32. package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
  33. package/dist/engine/agents/ops/agentLoopRun.spec.js +1 -4
  34. package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
  35. package/dist/engine/agents/ops/agentPromptResolve.d.ts.map +1 -1
  36. package/dist/engine/agents/ops/agentPromptResolve.js +4 -1
  37. package/dist/engine/agents/ops/agentPromptResolve.js.map +1 -1
  38. package/dist/engine/agents/ops/agentPromptResolve.spec.js +7 -3
  39. package/dist/engine/agents/ops/agentPromptResolve.spec.js.map +1 -1
  40. package/dist/engine/agents/ops/agentSystemPrompt.spec.js +30 -20
  41. package/dist/engine/agents/ops/agentSystemPrompt.spec.js.map +1 -1
  42. package/dist/engine/agents/ops/agentSystemPromptContext.d.ts +1 -1
  43. package/dist/engine/agents/ops/agentSystemPromptContext.d.ts.map +1 -1
  44. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts +1 -1
  45. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts.map +1 -1
  46. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js +3 -26
  47. package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js.map +1 -1
  48. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts.map +1 -1
  49. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js +3 -4
  50. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js.map +1 -1
  51. package/dist/engine/agents/system/_systemAgents.d.ts.map +1 -1
  52. package/dist/engine/agents/system/_systemAgents.js +0 -5
  53. package/dist/engine/agents/system/_systemAgents.js.map +1 -1
  54. package/dist/engine/agents/system/systemAgentPromptResolve.spec.js +0 -6
  55. package/dist/engine/agents/system/systemAgentPromptResolve.spec.js.map +1 -1
  56. package/dist/engine/apps/appExecute.d.ts.map +1 -1
  57. package/dist/engine/apps/appExecute.js.map +1 -1
  58. package/dist/engine/apps/appExecute.spec.js +4 -16
  59. package/dist/engine/apps/appExecute.spec.js.map +1 -1
  60. package/dist/engine/apps/appInstallToolBuild.spec.js +1 -4
  61. package/dist/engine/apps/appInstallToolBuild.spec.js.map +1 -1
  62. package/dist/engine/apps/appPermissionBuild.d.ts.map +1 -1
  63. package/dist/engine/apps/appPermissionBuild.js +2 -14
  64. package/dist/engine/apps/appPermissionBuild.js.map +1 -1
  65. package/dist/engine/apps/appPermissionBuild.spec.js +6 -18
  66. package/dist/engine/apps/appPermissionBuild.spec.js.map +1 -1
  67. package/dist/engine/apps/appRuleToolBuild.d.ts.map +1 -1
  68. package/dist/engine/apps/appRuleToolBuild.js +1 -44
  69. package/dist/engine/apps/appRuleToolBuild.js.map +1 -1
  70. package/dist/engine/apps/appRuleToolBuild.spec.js +8 -39
  71. package/dist/engine/apps/appRuleToolBuild.spec.js.map +1 -1
  72. package/dist/engine/apps/appToolExecutorBuild.js +1 -1
  73. package/dist/engine/apps/appToolExecutorBuild.js.map +1 -1
  74. package/dist/engine/apps/appToolExecutorBuild.spec.js +3 -6
  75. package/dist/engine/apps/appToolExecutorBuild.spec.js.map +1 -1
  76. package/dist/engine/cron/crons.d.ts +0 -4
  77. package/dist/engine/cron/crons.d.ts.map +1 -1
  78. package/dist/engine/cron/crons.js +0 -39
  79. package/dist/engine/cron/crons.js.map +1 -1
  80. package/dist/engine/cron/crons.spec.js +9 -150
  81. package/dist/engine/cron/crons.spec.js.map +1 -1
  82. package/dist/engine/cron/ops/cronFieldParse.js +3 -3
  83. package/dist/engine/cron/ops/cronFieldParse.js.map +1 -1
  84. package/dist/engine/cron/ops/cronScheduler.d.ts +0 -4
  85. package/dist/engine/cron/ops/cronScheduler.d.ts.map +1 -1
  86. package/dist/engine/cron/ops/cronScheduler.js +2 -34
  87. package/dist/engine/cron/ops/cronScheduler.js.map +1 -1
  88. package/dist/engine/cron/ops/cronScheduler.spec.js +0 -72
  89. package/dist/engine/cron/ops/cronScheduler.spec.js.map +1 -1
  90. package/dist/engine/engine.d.ts +0 -2
  91. package/dist/engine/engine.d.ts.map +1 -1
  92. package/dist/engine/engine.js +7 -62
  93. package/dist/engine/engine.js.map +1 -1
  94. package/dist/engine/engine.spec.js +0 -112
  95. package/dist/engine/engine.spec.js.map +1 -1
  96. package/dist/engine/heartbeat/heartbeatTypes.d.ts +0 -2
  97. package/dist/engine/heartbeat/heartbeatTypes.d.ts.map +1 -1
  98. package/dist/engine/heartbeat/heartbeats.d.ts +0 -4
  99. package/dist/engine/heartbeat/heartbeats.d.ts.map +1 -1
  100. package/dist/engine/heartbeat/heartbeats.js +0 -21
  101. package/dist/engine/heartbeat/heartbeats.js.map +1 -1
  102. package/dist/engine/heartbeat/heartbeats.spec.js +29 -110
  103. package/dist/engine/heartbeat/heartbeats.spec.js.map +1 -1
  104. package/dist/engine/heartbeat/ops/heartbeatScheduler.d.ts +0 -2
  105. package/dist/engine/heartbeat/ops/heartbeatScheduler.d.ts.map +1 -1
  106. package/dist/engine/heartbeat/ops/heartbeatScheduler.js +3 -34
  107. package/dist/engine/heartbeat/ops/heartbeatScheduler.js.map +1 -1
  108. package/dist/engine/heartbeat/ops/heartbeatScheduler.spec.js +0 -73
  109. package/dist/engine/heartbeat/ops/heartbeatScheduler.spec.js.map +1 -1
  110. package/dist/engine/messages/incomingMessages.js +1 -13
  111. package/dist/engine/messages/incomingMessages.js.map +1 -1
  112. package/dist/engine/messages/incomingMessages.spec.js +3 -4
  113. package/dist/engine/messages/incomingMessages.spec.js.map +1 -1
  114. package/dist/engine/modules/connectorRegistry.d.ts +1 -4
  115. package/dist/engine/modules/connectorRegistry.d.ts.map +1 -1
  116. package/dist/engine/modules/connectorRegistry.js +4 -18
  117. package/dist/engine/modules/connectorRegistry.js.map +1 -1
  118. package/dist/engine/modules/connectors/types.d.ts +0 -44
  119. package/dist/engine/modules/connectors/types.d.ts.map +1 -1
  120. package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js +1 -4
  121. package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js.map +1 -1
  122. package/dist/engine/modules/media/pdfExtract.d.ts +33 -0
  123. package/dist/engine/modules/media/pdfExtract.d.ts.map +1 -0
  124. package/dist/engine/modules/media/pdfExtract.js +123 -0
  125. package/dist/engine/modules/media/pdfExtract.js.map +1 -0
  126. package/dist/engine/modules/media/pdfExtract.spec.d.ts +2 -0
  127. package/dist/engine/modules/media/pdfExtract.spec.d.ts.map +1 -0
  128. package/dist/engine/modules/media/pdfExtract.spec.js +25 -0
  129. package/dist/engine/modules/media/pdfExtract.spec.js.map +1 -0
  130. package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js +1 -4
  131. package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js.map +1 -1
  132. package/dist/engine/modules/rlm/rlmExecute.spec.js +1 -4
  133. package/dist/engine/modules/rlm/rlmExecute.spec.js.map +1 -1
  134. package/dist/engine/modules/rlm/rlmPromptSkills.spec.js +0 -6
  135. package/dist/engine/modules/rlm/rlmPromptSkills.spec.js.map +1 -1
  136. package/dist/engine/modules/rlm/rlmRestore.spec.js +1 -4
  137. package/dist/engine/modules/rlm/rlmRestore.spec.js.map +1 -1
  138. package/dist/engine/modules/rlm/rlmTool.spec.js +1 -4
  139. package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
  140. package/dist/engine/modules/say/sayFileResolve.d.ts.map +1 -1
  141. package/dist/engine/modules/say/sayFileResolve.js +2 -2
  142. package/dist/engine/modules/say/sayFileResolve.js.map +1 -1
  143. package/dist/engine/modules/say/sayFileResolve.spec.js +1 -4
  144. package/dist/engine/modules/say/sayFileResolve.spec.js.map +1 -1
  145. package/dist/engine/modules/toolResolver.spec.js +1 -4
  146. package/dist/engine/modules/toolResolver.spec.js.map +1 -1
  147. package/dist/engine/modules/tools/agentCompactTool.spec.js +1 -4
  148. package/dist/engine/modules/tools/agentCompactTool.spec.js.map +1 -1
  149. package/dist/engine/modules/tools/agentResetTool.spec.js +1 -4
  150. package/dist/engine/modules/tools/agentResetTool.spec.js.map +1 -1
  151. package/dist/engine/modules/tools/background.d.ts.map +1 -1
  152. package/dist/engine/modules/tools/background.js +1 -10
  153. package/dist/engine/modules/tools/background.js.map +1 -1
  154. package/dist/engine/modules/tools/background.spec.js +4 -31
  155. package/dist/engine/modules/tools/background.spec.js.map +1 -1
  156. package/dist/engine/modules/tools/channelCreateTool.spec.js +1 -4
  157. package/dist/engine/modules/tools/channelCreateTool.spec.js.map +1 -1
  158. package/dist/engine/modules/tools/channelHistoryTool.spec.js +1 -4
  159. package/dist/engine/modules/tools/channelHistoryTool.spec.js.map +1 -1
  160. package/dist/engine/modules/tools/channelMemberTool.spec.js +1 -4
  161. package/dist/engine/modules/tools/channelMemberTool.spec.js.map +1 -1
  162. package/dist/engine/modules/tools/channelSendTool.spec.js +1 -4
  163. package/dist/engine/modules/tools/channelSendTool.spec.js.map +1 -1
  164. package/dist/engine/modules/tools/cron.d.ts.map +1 -1
  165. package/dist/engine/modules/tools/cron.js +11 -15
  166. package/dist/engine/modules/tools/cron.js.map +1 -1
  167. package/dist/engine/modules/tools/image-generation.spec.js +1 -4
  168. package/dist/engine/modules/tools/image-generation.spec.js.map +1 -1
  169. package/dist/engine/modules/tools/mermaid-png.spec.js +1 -4
  170. package/dist/engine/modules/tools/mermaid-png.spec.js.map +1 -1
  171. package/dist/engine/modules/tools/pdf-process.d.ts +27 -0
  172. package/dist/engine/modules/tools/pdf-process.d.ts.map +1 -0
  173. package/dist/engine/modules/tools/pdf-process.js +151 -0
  174. package/dist/engine/modules/tools/pdf-process.js.map +1 -0
  175. package/dist/engine/modules/tools/pdf-process.spec.d.ts +2 -0
  176. package/dist/engine/modules/tools/pdf-process.spec.d.ts.map +1 -0
  177. package/dist/engine/modules/tools/pdf-process.spec.js +56 -0
  178. package/dist/engine/modules/tools/pdf-process.spec.js.map +1 -0
  179. package/dist/engine/modules/tools/permanentAgentToolBuild.d.ts.map +1 -1
  180. package/dist/engine/modules/tools/permanentAgentToolBuild.js +2 -10
  181. package/dist/engine/modules/tools/permanentAgentToolBuild.js.map +1 -1
  182. package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js +6 -37
  183. package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js.map +1 -1
  184. package/dist/engine/modules/tools/send-file.js +2 -2
  185. package/dist/engine/modules/tools/send-file.js.map +1 -1
  186. package/dist/engine/modules/tools/sendUserMessageTool.spec.js +1 -4
  187. package/dist/engine/modules/tools/sendUserMessageTool.spec.js.map +1 -1
  188. package/dist/engine/modules/tools/signal.spec.js +1 -4
  189. package/dist/engine/modules/tools/signal.spec.js.map +1 -1
  190. package/dist/engine/modules/tools/signalEventsCsvToolBuild.spec.js +1 -4
  191. package/dist/engine/modules/tools/signalEventsCsvToolBuild.spec.js.map +1 -1
  192. package/dist/engine/modules/tools/signalSubscribeToolBuild.spec.js +1 -4
  193. package/dist/engine/modules/tools/signalSubscribeToolBuild.spec.js.map +1 -1
  194. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.spec.js +1 -4
  195. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.spec.js.map +1 -1
  196. package/dist/engine/modules/tools/skillToolBuild.d.ts.map +1 -1
  197. package/dist/engine/modules/tools/skillToolBuild.js +0 -10
  198. package/dist/engine/modules/tools/skillToolBuild.js.map +1 -1
  199. package/dist/engine/modules/tools/skillToolBuild.spec.js +4 -25
  200. package/dist/engine/modules/tools/skillToolBuild.spec.js.map +1 -1
  201. package/dist/engine/modules/tools/toolListContextBuild.d.ts +0 -1
  202. package/dist/engine/modules/tools/toolListContextBuild.d.ts.map +1 -1
  203. package/dist/engine/modules/tools/toolListContextBuild.js.map +1 -1
  204. package/dist/engine/modules/tools/types.d.ts +1 -3
  205. package/dist/engine/modules/tools/types.d.ts.map +1 -1
  206. package/dist/engine/permissions/permissionBuildUser.d.ts.map +1 -1
  207. package/dist/engine/permissions/permissionBuildUser.js +1 -18
  208. package/dist/engine/permissions/permissionBuildUser.js.map +1 -1
  209. package/dist/engine/permissions/permissionBuildUser.spec.js +2 -21
  210. package/dist/engine/permissions/permissionBuildUser.spec.js.map +1 -1
  211. package/dist/engine/permissions.d.ts +0 -4
  212. package/dist/engine/permissions.d.ts.map +1 -1
  213. package/dist/engine/permissions.js +2 -31
  214. package/dist/engine/permissions.js.map +1 -1
  215. package/dist/engine/plugins/builtins.spec.js +3 -1
  216. package/dist/engine/plugins/builtins.spec.js.map +1 -1
  217. package/dist/engine/plugins/loader.spec.js +3 -1
  218. package/dist/engine/plugins/loader.spec.js.map +1 -1
  219. package/dist/engine/processes/processes.d.ts +0 -2
  220. package/dist/engine/processes/processes.d.ts.map +1 -1
  221. package/dist/engine/processes/processes.js +8 -12
  222. package/dist/engine/processes/processes.js.map +1 -1
  223. package/dist/engine/processes/processes.spec.js +22 -31
  224. package/dist/engine/processes/processes.spec.js.map +1 -1
  225. package/dist/engine/scheduling/execGateCheck.d.ts +0 -1
  226. package/dist/engine/scheduling/execGateCheck.d.ts.map +1 -1
  227. package/dist/engine/scheduling/execGateCheck.js +13 -11
  228. package/dist/engine/scheduling/execGateCheck.js.map +1 -1
  229. package/dist/engine/users/userHomeMigrate.d.ts +2 -5
  230. package/dist/engine/users/userHomeMigrate.d.ts.map +1 -1
  231. package/dist/engine/users/userHomeMigrate.js +2 -13
  232. package/dist/engine/users/userHomeMigrate.js.map +1 -1
  233. package/dist/engine/users/userHomeMigrate.spec.js +7 -62
  234. package/dist/engine/users/userHomeMigrate.spec.js.map +1 -1
  235. package/dist/log.spec.js +1 -0
  236. package/dist/log.spec.js.map +1 -1
  237. package/dist/plugins/anthropic-fetch/plugin.d.ts.map +1 -1
  238. package/dist/plugins/anthropic-fetch/plugin.js +4 -7
  239. package/dist/plugins/anthropic-fetch/plugin.js.map +1 -1
  240. package/dist/plugins/anthropic-search/plugin.d.ts.map +1 -1
  241. package/dist/plugins/anthropic-search/plugin.js +4 -7
  242. package/dist/plugins/anthropic-search/plugin.js.map +1 -1
  243. package/dist/plugins/brave-search/plugin.d.ts.map +1 -1
  244. package/dist/plugins/brave-search/plugin.js +2 -5
  245. package/dist/plugins/brave-search/plugin.js.map +1 -1
  246. package/dist/plugins/cloudflare-tunnel/plugin.d.ts.map +1 -1
  247. package/dist/plugins/cloudflare-tunnel/plugin.js +1 -4
  248. package/dist/plugins/cloudflare-tunnel/plugin.js.map +1 -1
  249. package/dist/plugins/cloudflare-tunnel/plugin.spec.js +3 -8
  250. package/dist/plugins/cloudflare-tunnel/plugin.spec.js.map +1 -1
  251. package/dist/plugins/custom-tunnel/plugin.spec.js +1 -2
  252. package/dist/plugins/custom-tunnel/plugin.spec.js.map +1 -1
  253. package/dist/plugins/dashboard/site/404.html +1 -1
  254. package/dist/plugins/dashboard/site/agent.html +1 -1
  255. package/dist/plugins/dashboard/site/agent.txt +1 -1
  256. package/dist/plugins/dashboard/site/agents.html +1 -1
  257. package/dist/plugins/dashboard/site/agents.txt +1 -1
  258. package/dist/plugins/dashboard/site/automations.html +1 -1
  259. package/dist/plugins/dashboard/site/automations.txt +1 -1
  260. package/dist/plugins/dashboard/site/connectors.html +1 -1
  261. package/dist/plugins/dashboard/site/connectors.txt +1 -1
  262. package/dist/plugins/dashboard/site/index.html +1 -1
  263. package/dist/plugins/dashboard/site/index.txt +1 -1
  264. package/dist/plugins/dashboard/site/processes.html +1 -1
  265. package/dist/plugins/dashboard/site/processes.txt +1 -1
  266. package/dist/plugins/dashboard/site/providers.html +1 -1
  267. package/dist/plugins/dashboard/site/providers.txt +1 -1
  268. package/dist/plugins/dashboard/site/signals.html +1 -1
  269. package/dist/plugins/dashboard/site/signals.txt +1 -1
  270. package/dist/plugins/dashboard/site/telemetry.html +1 -1
  271. package/dist/plugins/dashboard/site/telemetry.txt +1 -1
  272. package/dist/plugins/dashboard/site/tools.html +1 -1
  273. package/dist/plugins/dashboard/site/tools.txt +1 -1
  274. package/dist/plugins/database/__tests__/plugin.spec.js +4 -5
  275. package/dist/plugins/database/__tests__/plugin.spec.js.map +1 -1
  276. package/dist/plugins/exa-ai/plugin.d.ts.map +1 -1
  277. package/dist/plugins/exa-ai/plugin.js +2 -5
  278. package/dist/plugins/exa-ai/plugin.js.map +1 -1
  279. package/dist/plugins/firecrawl/plugin.d.ts.map +1 -1
  280. package/dist/plugins/firecrawl/plugin.js +2 -5
  281. package/dist/plugins/firecrawl/plugin.js.map +1 -1
  282. package/dist/plugins/gemini-search/plugin.d.ts.map +1 -1
  283. package/dist/plugins/gemini-search/plugin.js +4 -7
  284. package/dist/plugins/gemini-search/plugin.js.map +1 -1
  285. package/dist/plugins/local-expose/plugin.d.ts.map +1 -1
  286. package/dist/plugins/local-expose/plugin.js +1 -4
  287. package/dist/plugins/local-expose/plugin.js.map +1 -1
  288. package/dist/plugins/local-expose/plugin.spec.js +4 -10
  289. package/dist/plugins/local-expose/plugin.spec.js.map +1 -1
  290. package/dist/plugins/monty-python/tool.d.ts.map +1 -1
  291. package/dist/plugins/monty-python/tool.js.map +1 -1
  292. package/dist/plugins/monty-python/tool.spec.js +1 -4
  293. package/dist/plugins/monty-python/tool.spec.js.map +1 -1
  294. package/dist/plugins/nano-banana-pro/__tests__/plugin.integration.spec.js +3 -1
  295. package/dist/plugins/nano-banana-pro/__tests__/plugin.integration.spec.js.map +1 -1
  296. package/dist/plugins/openai-search/plugin.d.ts.map +1 -1
  297. package/dist/plugins/openai-search/plugin.js +5 -8
  298. package/dist/plugins/openai-search/plugin.js.map +1 -1
  299. package/dist/plugins/perplexity-search/plugin.d.ts.map +1 -1
  300. package/dist/plugins/perplexity-search/plugin.js +3 -6
  301. package/dist/plugins/perplexity-search/plugin.js.map +1 -1
  302. package/dist/plugins/shell/processTools.d.ts.map +1 -1
  303. package/dist/plugins/shell/processTools.js +5 -21
  304. package/dist/plugins/shell/processTools.js.map +1 -1
  305. package/dist/plugins/shell/processTools.spec.js +10 -70
  306. package/dist/plugins/shell/processTools.spec.js.map +1 -1
  307. package/dist/plugins/shell/tool.d.ts.map +1 -1
  308. package/dist/plugins/shell/tool.js +13 -29
  309. package/dist/plugins/shell/tool.js.map +1 -1
  310. package/dist/plugins/shell/tool.spec.js +56 -152
  311. package/dist/plugins/shell/tool.spec.js.map +1 -1
  312. package/dist/plugins/tailscale/plugin.spec.js +1 -2
  313. package/dist/plugins/tailscale/plugin.spec.js.map +1 -1
  314. package/dist/plugins/telegram/connector.d.ts +1 -6
  315. package/dist/plugins/telegram/connector.d.ts.map +1 -1
  316. package/dist/plugins/telegram/connector.js +1 -152
  317. package/dist/plugins/telegram/connector.js.map +1 -1
  318. package/dist/plugins/telegram/connector.spec.js +0 -116
  319. package/dist/plugins/telegram/connector.spec.js.map +1 -1
  320. package/dist/plugins/telegram/markdownToTelegramHtml.js +6 -6
  321. package/dist/plugins/telegram/markdownToTelegramHtml.js.map +1 -1
  322. package/dist/plugins/upgrade/plugin.spec.js +5 -10
  323. package/dist/plugins/upgrade/plugin.spec.js.map +1 -1
  324. package/dist/plugins/web-fetch/plugin.d.ts.map +1 -1
  325. package/dist/plugins/web-fetch/plugin.js +1 -4
  326. package/dist/plugins/web-fetch/plugin.js.map +1 -1
  327. package/dist/plugins/whatsapp/authenticate.d.ts.map +1 -1
  328. package/dist/plugins/whatsapp/authenticate.js.map +1 -1
  329. package/dist/plugins/whatsapp/connector.d.ts +1 -6
  330. package/dist/plugins/whatsapp/connector.d.ts.map +1 -1
  331. package/dist/plugins/whatsapp/connector.js +0 -106
  332. package/dist/plugins/whatsapp/connector.js.map +1 -1
  333. package/dist/plugins/whatsapp/markdownToWhatsAppText.js +9 -9
  334. package/dist/plugins/whatsapp/markdownToWhatsAppText.js.map +1 -1
  335. package/dist/providers/__tests__/inference.integration.spec.js +2 -2
  336. package/dist/providers/__tests__/inference.integration.spec.js.map +1 -1
  337. package/dist/sandbox/pathResolveSecure.d.ts.map +1 -0
  338. package/dist/sandbox/pathResolveSecure.js.map +1 -0
  339. package/dist/sandbox/pathResolveSecure.spec.d.ts.map +1 -0
  340. package/dist/sandbox/pathResolveSecure.spec.js.map +1 -0
  341. package/dist/sandbox/pathSanitize.d.ts.map +1 -0
  342. package/dist/sandbox/pathSanitize.js.map +1 -0
  343. package/dist/sandbox/pathSanitize.spec.d.ts.map +1 -0
  344. package/dist/{engine/permissions → sandbox}/pathSanitize.spec.js +2 -2
  345. package/dist/sandbox/pathSanitize.spec.js.map +1 -0
  346. package/dist/sandbox/sandboxAllowedDomainsValidate.d.ts +2 -2
  347. package/dist/sandbox/sandboxAllowedDomainsValidate.d.ts.map +1 -1
  348. package/dist/sandbox/sandboxAllowedDomainsValidate.js +4 -7
  349. package/dist/sandbox/sandboxAllowedDomainsValidate.js.map +1 -1
  350. package/dist/sandbox/sandboxAllowedDomainsValidate.spec.js +7 -10
  351. package/dist/sandbox/sandboxAllowedDomainsValidate.spec.js.map +1 -1
  352. package/dist/sandbox/sandboxAppsAccessCheck.js +20 -2
  353. package/dist/sandbox/sandboxAppsAccessCheck.js.map +1 -1
  354. package/dist/sandbox/sandboxAppsDenyPathsBuild.d.ts +3 -2
  355. package/dist/sandbox/sandboxAppsDenyPathsBuild.d.ts.map +1 -1
  356. package/dist/sandbox/sandboxAppsDenyPathsBuild.js.map +1 -1
  357. package/dist/sandbox/sandboxCanRead.js +1 -1
  358. package/dist/sandbox/sandboxCanRead.js.map +1 -1
  359. package/dist/sandbox/sandboxCanRead.spec.js +8 -16
  360. package/dist/sandbox/sandboxCanRead.spec.js.map +1 -1
  361. package/dist/sandbox/sandboxCanWrite.js +1 -1
  362. package/dist/sandbox/sandboxCanWrite.js.map +1 -1
  363. package/dist/sandbox/sandboxCanWrite.spec.js +1 -4
  364. package/dist/sandbox/sandboxCanWrite.spec.js.map +1 -1
  365. package/dist/sandbox/sandboxFilesystemPolicyBuild.d.ts +2 -2
  366. package/dist/sandbox/sandboxFilesystemPolicyBuild.d.ts.map +1 -1
  367. package/dist/sandbox/sandboxFilesystemPolicyBuild.js +4 -2
  368. package/dist/sandbox/sandboxFilesystemPolicyBuild.js.map +1 -1
  369. package/dist/sandbox/sandboxFilesystemPolicyBuild.spec.js +9 -21
  370. package/dist/sandbox/sandboxFilesystemPolicyBuild.spec.js.map +1 -1
  371. package/dist/storage/agentsRepository.spec.js +1 -5
  372. package/dist/storage/agentsRepository.spec.js.map +1 -1
  373. package/dist/storage/historyRepository.spec.js +1 -5
  374. package/dist/storage/historyRepository.spec.js.map +1 -1
  375. package/dist/storage/migrations/20260219_import_files.js +1 -4
  376. package/dist/storage/migrations/20260219_import_files.js.map +1 -1
  377. package/dist/storage/processesRepository.js +4 -15
  378. package/dist/storage/processesRepository.js.map +1 -1
  379. package/dist/storage/processesRepository.spec.js +1 -4
  380. package/dist/storage/processesRepository.spec.js.map +1 -1
  381. package/dist/storage/sessionsRepository.spec.js +1 -5
  382. package/dist/storage/sessionsRepository.spec.js.map +1 -1
  383. package/dist/types.d.ts +1 -1
  384. package/dist/types.d.ts.map +1 -1
  385. package/dist/util/stringUtils.spec.d.ts +2 -0
  386. package/dist/util/stringUtils.spec.d.ts.map +1 -0
  387. package/dist/util/stringUtils.spec.js +53 -0
  388. package/dist/util/stringUtils.spec.js.map +1 -0
  389. package/dist/util/timeFormat.js +17 -17
  390. package/dist/util/timeFormat.js.map +1 -1
  391. package/dist/utils/stringTruncate.js +1 -1
  392. package/dist/utils/stringTruncate.js.map +1 -1
  393. package/package.json +2 -1
  394. package/dist/engine/agents/ops/agentDescriptorIsCron.d.ts +0 -9
  395. package/dist/engine/agents/ops/agentDescriptorIsCron.d.ts.map +0 -1
  396. package/dist/engine/agents/ops/agentDescriptorIsCron.js +0 -8
  397. package/dist/engine/agents/ops/agentDescriptorIsCron.js.map +0 -1
  398. package/dist/engine/apps/appPermissionStateGrant.d.ts +0 -7
  399. package/dist/engine/apps/appPermissionStateGrant.d.ts.map +0 -1
  400. package/dist/engine/apps/appPermissionStateGrant.js +0 -14
  401. package/dist/engine/apps/appPermissionStateGrant.js.map +0 -1
  402. package/dist/engine/apps/appPermissionStateGrant.spec.d.ts +0 -2
  403. package/dist/engine/apps/appPermissionStateGrant.spec.d.ts.map +0 -1
  404. package/dist/engine/apps/appPermissionStateGrant.spec.js +0 -33
  405. package/dist/engine/apps/appPermissionStateGrant.spec.js.map +0 -1
  406. package/dist/engine/apps/appPermissionStatePathBuild.d.ts +0 -6
  407. package/dist/engine/apps/appPermissionStatePathBuild.d.ts.map +0 -1
  408. package/dist/engine/apps/appPermissionStatePathBuild.js +0 -9
  409. package/dist/engine/apps/appPermissionStatePathBuild.js.map +0 -1
  410. package/dist/engine/apps/appPermissionStateRead.d.ts +0 -6
  411. package/dist/engine/apps/appPermissionStateRead.d.ts.map +0 -1
  412. package/dist/engine/apps/appPermissionStateRead.js +0 -40
  413. package/dist/engine/apps/appPermissionStateRead.js.map +0 -1
  414. package/dist/engine/apps/appPermissionStateWrite.d.ts +0 -6
  415. package/dist/engine/apps/appPermissionStateWrite.d.ts.map +0 -1
  416. package/dist/engine/apps/appPermissionStateWrite.js +0 -32
  417. package/dist/engine/apps/appPermissionStateWrite.js.map +0 -1
  418. package/dist/engine/modules/tools/permissionRequestRegistry.d.ts +0 -13
  419. package/dist/engine/modules/tools/permissionRequestRegistry.d.ts.map +0 -1
  420. package/dist/engine/modules/tools/permissionRequestRegistry.js +0 -51
  421. package/dist/engine/modules/tools/permissionRequestRegistry.js.map +0 -1
  422. package/dist/engine/modules/tools/permissionRequestRegistry.spec.d.ts +0 -2
  423. package/dist/engine/modules/tools/permissionRequestRegistry.spec.d.ts.map +0 -1
  424. package/dist/engine/modules/tools/permissionRequestRegistry.spec.js +0 -47
  425. package/dist/engine/modules/tools/permissionRequestRegistry.spec.js.map +0 -1
  426. package/dist/engine/modules/tools/permissions.d.ts +0 -28
  427. package/dist/engine/modules/tools/permissions.d.ts.map +0 -1
  428. package/dist/engine/modules/tools/permissions.js +0 -375
  429. package/dist/engine/modules/tools/permissions.js.map +0 -1
  430. package/dist/engine/modules/tools/permissions.spec.d.ts +0 -2
  431. package/dist/engine/modules/tools/permissions.spec.d.ts.map +0 -1
  432. package/dist/engine/modules/tools/permissions.spec.js +0 -366
  433. package/dist/engine/modules/tools/permissions.spec.js.map +0 -1
  434. package/dist/engine/permissions/pathResolveSecure.d.ts.map +0 -1
  435. package/dist/engine/permissions/pathResolveSecure.js.map +0 -1
  436. package/dist/engine/permissions/pathResolveSecure.spec.d.ts.map +0 -1
  437. package/dist/engine/permissions/pathResolveSecure.spec.js.map +0 -1
  438. package/dist/engine/permissions/pathSanitize.d.ts.map +0 -1
  439. package/dist/engine/permissions/pathSanitize.js.map +0 -1
  440. package/dist/engine/permissions/pathSanitize.spec.d.ts.map +0 -1
  441. package/dist/engine/permissions/pathSanitize.spec.js.map +0 -1
  442. package/dist/engine/permissions/permissionAccessAllows.d.ts +0 -7
  443. package/dist/engine/permissions/permissionAccessAllows.d.ts.map +0 -1
  444. package/dist/engine/permissions/permissionAccessAllows.js +0 -72
  445. package/dist/engine/permissions/permissionAccessAllows.js.map +0 -1
  446. package/dist/engine/permissions/permissionAccessAllows.spec.d.ts +0 -2
  447. package/dist/engine/permissions/permissionAccessAllows.spec.d.ts.map +0 -1
  448. package/dist/engine/permissions/permissionAccessAllows.spec.js +0 -111
  449. package/dist/engine/permissions/permissionAccessAllows.spec.js.map +0 -1
  450. package/dist/engine/permissions/permissionAccessApply.d.ts +0 -7
  451. package/dist/engine/permissions/permissionAccessApply.d.ts.map +0 -1
  452. package/dist/engine/permissions/permissionAccessApply.js +0 -55
  453. package/dist/engine/permissions/permissionAccessApply.js.map +0 -1
  454. package/dist/engine/permissions/permissionAccessApply.spec.d.ts +0 -2
  455. package/dist/engine/permissions/permissionAccessApply.spec.d.ts.map +0 -1
  456. package/dist/engine/permissions/permissionAccessApply.spec.js +0 -56
  457. package/dist/engine/permissions/permissionAccessApply.spec.js.map +0 -1
  458. package/dist/engine/permissions/permissionAccessParse.d.ts +0 -7
  459. package/dist/engine/permissions/permissionAccessParse.d.ts.map +0 -1
  460. package/dist/engine/permissions/permissionAccessParse.js +0 -32
  461. package/dist/engine/permissions/permissionAccessParse.js.map +0 -1
  462. package/dist/engine/permissions/permissionAccessParse.spec.d.ts +0 -2
  463. package/dist/engine/permissions/permissionAccessParse.spec.d.ts.map +0 -1
  464. package/dist/engine/permissions/permissionAccessParse.spec.js +0 -17
  465. package/dist/engine/permissions/permissionAccessParse.spec.js.map +0 -1
  466. package/dist/engine/permissions/permissionApply.d.ts +0 -4
  467. package/dist/engine/permissions/permissionApply.d.ts.map +0 -1
  468. package/dist/engine/permissions/permissionApply.js +0 -10
  469. package/dist/engine/permissions/permissionApply.js.map +0 -1
  470. package/dist/engine/permissions/permissionApply.spec.d.ts +0 -2
  471. package/dist/engine/permissions/permissionApply.spec.d.ts.map +0 -1
  472. package/dist/engine/permissions/permissionApply.spec.js +0 -104
  473. package/dist/engine/permissions/permissionApply.spec.js.map +0 -1
  474. package/dist/engine/permissions/permissionClone.d.ts +0 -7
  475. package/dist/engine/permissions/permissionClone.d.ts.map +0 -1
  476. package/dist/engine/permissions/permissionClone.js +0 -12
  477. package/dist/engine/permissions/permissionClone.js.map +0 -1
  478. package/dist/engine/permissions/permissionClone.spec.d.ts +0 -2
  479. package/dist/engine/permissions/permissionClone.spec.d.ts.map +0 -1
  480. package/dist/engine/permissions/permissionClone.spec.js +0 -18
  481. package/dist/engine/permissions/permissionClone.spec.js.map +0 -1
  482. package/dist/engine/permissions/permissionDescribeDecision.d.ts +0 -3
  483. package/dist/engine/permissions/permissionDescribeDecision.d.ts.map +0 -1
  484. package/dist/engine/permissions/permissionDescribeDecision.js +0 -16
  485. package/dist/engine/permissions/permissionDescribeDecision.js.map +0 -1
  486. package/dist/engine/permissions/permissionDescribeDecision.spec.d.ts +0 -2
  487. package/dist/engine/permissions/permissionDescribeDecision.spec.d.ts.map +0 -1
  488. package/dist/engine/permissions/permissionDescribeDecision.spec.js +0 -17
  489. package/dist/engine/permissions/permissionDescribeDecision.spec.js.map +0 -1
  490. package/dist/engine/permissions/permissionEnsureDefaultFile.d.ts +0 -3
  491. package/dist/engine/permissions/permissionEnsureDefaultFile.d.ts.map +0 -1
  492. package/dist/engine/permissions/permissionEnsureDefaultFile.js +0 -7
  493. package/dist/engine/permissions/permissionEnsureDefaultFile.js.map +0 -1
  494. package/dist/engine/permissions/permissionEnsureDefaultFile.spec.d.ts +0 -2
  495. package/dist/engine/permissions/permissionEnsureDefaultFile.spec.d.ts.map +0 -1
  496. package/dist/engine/permissions/permissionEnsureDefaultFile.spec.js +0 -20
  497. package/dist/engine/permissions/permissionEnsureDefaultFile.spec.js.map +0 -1
  498. package/dist/engine/permissions/permissionFormatTag.d.ts +0 -3
  499. package/dist/engine/permissions/permissionFormatTag.d.ts.map +0 -1
  500. package/dist/engine/permissions/permissionFormatTag.js +0 -13
  501. package/dist/engine/permissions/permissionFormatTag.js.map +0 -1
  502. package/dist/engine/permissions/permissionFormatTag.spec.d.ts +0 -2
  503. package/dist/engine/permissions/permissionFormatTag.spec.d.ts.map +0 -1
  504. package/dist/engine/permissions/permissionFormatTag.spec.js +0 -17
  505. package/dist/engine/permissions/permissionFormatTag.spec.js.map +0 -1
  506. package/dist/engine/permissions/permissionMergeDefault.d.ts +0 -3
  507. package/dist/engine/permissions/permissionMergeDefault.d.ts.map +0 -1
  508. package/dist/engine/permissions/permissionMergeDefault.js +0 -14
  509. package/dist/engine/permissions/permissionMergeDefault.js.map +0 -1
  510. package/dist/engine/permissions/permissionMergeDefault.spec.d.ts +0 -2
  511. package/dist/engine/permissions/permissionMergeDefault.spec.d.ts.map +0 -1
  512. package/dist/engine/permissions/permissionMergeDefault.spec.js +0 -72
  513. package/dist/engine/permissions/permissionMergeDefault.spec.js.map +0 -1
  514. package/dist/engine/permissions/permissionTagsApply.d.ts +0 -7
  515. package/dist/engine/permissions/permissionTagsApply.d.ts.map +0 -1
  516. package/dist/engine/permissions/permissionTagsApply.js +0 -16
  517. package/dist/engine/permissions/permissionTagsApply.js.map +0 -1
  518. package/dist/engine/permissions/permissionTagsApply.spec.d.ts +0 -2
  519. package/dist/engine/permissions/permissionTagsApply.spec.d.ts.map +0 -1
  520. package/dist/engine/permissions/permissionTagsApply.spec.js +0 -22
  521. package/dist/engine/permissions/permissionTagsApply.spec.js.map +0 -1
  522. package/dist/engine/permissions/permissionTagsNormalize.d.ts +0 -6
  523. package/dist/engine/permissions/permissionTagsNormalize.d.ts.map +0 -1
  524. package/dist/engine/permissions/permissionTagsNormalize.js +0 -43
  525. package/dist/engine/permissions/permissionTagsNormalize.js.map +0 -1
  526. package/dist/engine/permissions/permissionTagsNormalize.spec.d.ts +0 -2
  527. package/dist/engine/permissions/permissionTagsNormalize.spec.d.ts.map +0 -1
  528. package/dist/engine/permissions/permissionTagsNormalize.spec.js +0 -19
  529. package/dist/engine/permissions/permissionTagsNormalize.spec.js.map +0 -1
  530. package/dist/engine/permissions/permissionTagsValidate.d.ts +0 -9
  531. package/dist/engine/permissions/permissionTagsValidate.d.ts.map +0 -1
  532. package/dist/engine/permissions/permissionTagsValidate.js +0 -18
  533. package/dist/engine/permissions/permissionTagsValidate.js.map +0 -1
  534. package/dist/engine/permissions/permissionTagsValidate.spec.d.ts +0 -2
  535. package/dist/engine/permissions/permissionTagsValidate.spec.d.ts.map +0 -1
  536. package/dist/engine/permissions/permissionTagsValidate.spec.js +0 -96
  537. package/dist/engine/permissions/permissionTagsValidate.spec.js.map +0 -1
  538. package/dist/engine/permissions/permissionWorkspaceGranted.d.ts +0 -7
  539. package/dist/engine/permissions/permissionWorkspaceGranted.d.ts.map +0 -1
  540. package/dist/engine/permissions/permissionWorkspaceGranted.js +0 -12
  541. package/dist/engine/permissions/permissionWorkspaceGranted.js.map +0 -1
  542. package/dist/engine/permissions/permissionWorkspaceGranted.spec.d.ts +0 -2
  543. package/dist/engine/permissions/permissionWorkspaceGranted.spec.d.ts.map +0 -1
  544. package/dist/engine/permissions/permissionWorkspaceGranted.spec.js +0 -35
  545. package/dist/engine/permissions/permissionWorkspaceGranted.spec.js.map +0 -1
  546. package/dist/engine/permissions/permissionWorkspacePathResolve.d.ts +0 -7
  547. package/dist/engine/permissions/permissionWorkspacePathResolve.d.ts.map +0 -1
  548. package/dist/engine/permissions/permissionWorkspacePathResolve.js +0 -42
  549. package/dist/engine/permissions/permissionWorkspacePathResolve.js.map +0 -1
  550. package/dist/engine/permissions/permissionWorkspacePathResolve.spec.d.ts +0 -2
  551. package/dist/engine/permissions/permissionWorkspacePathResolve.spec.d.ts.map +0 -1
  552. package/dist/engine/permissions/permissionWorkspacePathResolve.spec.js +0 -36
  553. package/dist/engine/permissions/permissionWorkspacePathResolve.spec.js.map +0 -1
  554. package/dist/engine/scheduling/gatePermissionRequest.d.ts +0 -21
  555. package/dist/engine/scheduling/gatePermissionRequest.d.ts.map +0 -1
  556. package/dist/engine/scheduling/gatePermissionRequest.js +0 -98
  557. package/dist/engine/scheduling/gatePermissionRequest.js.map +0 -1
  558. package/dist/engine/scheduling/gatePermissionRequest.spec.d.ts +0 -2
  559. package/dist/engine/scheduling/gatePermissionRequest.spec.d.ts.map +0 -1
  560. package/dist/engine/scheduling/gatePermissionRequest.spec.js +0 -126
  561. package/dist/engine/scheduling/gatePermissionRequest.spec.js.map +0 -1
  562. package/dist/engine/scheduling/gatePermissionsCheck.d.ts +0 -11
  563. package/dist/engine/scheduling/gatePermissionsCheck.d.ts.map +0 -1
  564. package/dist/engine/scheduling/gatePermissionsCheck.js +0 -58
  565. package/dist/engine/scheduling/gatePermissionsCheck.js.map +0 -1
  566. package/dist/engine/scheduling/gatePermissionsCheck.spec.d.ts +0 -2
  567. package/dist/engine/scheduling/gatePermissionsCheck.spec.d.ts.map +0 -1
  568. package/dist/engine/scheduling/gatePermissionsCheck.spec.js +0 -67
  569. package/dist/engine/scheduling/gatePermissionsCheck.spec.js.map +0 -1
  570. package/dist/prompts/CRON.md +0 -8
  571. /package/dist/plugins/dashboard/site/_next/static/{Qpa35HgGjxQYB6MqQG8XF → aRKOz6Bb-vvt0oWuU7inW}/_buildManifest.js +0 -0
  572. /package/dist/plugins/dashboard/site/_next/static/{Qpa35HgGjxQYB6MqQG8XF → aRKOz6Bb-vvt0oWuU7inW}/_ssgManifest.js +0 -0
  573. /package/dist/{engine/permissions → sandbox}/pathResolveSecure.d.ts +0 -0
  574. /package/dist/{engine/permissions → sandbox}/pathResolveSecure.js +0 -0
  575. /package/dist/{engine/permissions → sandbox}/pathResolveSecure.spec.d.ts +0 -0
  576. /package/dist/{engine/permissions → sandbox}/pathResolveSecure.spec.js +0 -0
  577. /package/dist/{engine/permissions → sandbox}/pathSanitize.d.ts +0 -0
  578. /package/dist/{engine/permissions → sandbox}/pathSanitize.js +0 -0
  579. /package/dist/{engine/permissions → sandbox}/pathSanitize.spec.d.ts +0 -0
@@ -1,35 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { permissionWorkspaceGranted } from "./permissionWorkspaceGranted.js";
3
- describe("permissionWorkspaceGranted", () => {
4
- it("returns true for workspace-scoped write permissions", () => {
5
- expect(permissionWorkspaceGranted({
6
- workspaceDir: "/workspace",
7
- workingDir: "/workspace",
8
- writeDirs: ["/workspace"],
9
- readDirs: ["/workspace"],
10
- network: false,
11
- events: false
12
- })).toBe(true);
13
- });
14
- it("returns false for app-scoped default writes", () => {
15
- expect(permissionWorkspaceGranted({
16
- workspaceDir: "/workspace",
17
- workingDir: "/workspace/apps/reviewer/data",
18
- writeDirs: ["/workspace/apps/reviewer/data"],
19
- readDirs: ["/workspace"],
20
- network: false,
21
- events: false
22
- })).toBe(false);
23
- });
24
- it("returns true for app permissions after @workspace grant", () => {
25
- expect(permissionWorkspaceGranted({
26
- workspaceDir: "/workspace",
27
- workingDir: "/workspace/apps/reviewer/data",
28
- writeDirs: ["/workspace/apps/reviewer/data", "/workspace"],
29
- readDirs: ["/workspace"],
30
- network: false,
31
- events: false
32
- })).toBe(true);
33
- });
34
- });
35
- //# sourceMappingURL=permissionWorkspaceGranted.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissionWorkspaceGranted.spec.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionWorkspaceGranted.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,CACF,0BAA0B,CAAC;YACvB,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,YAAY;YACxB,SAAS,EAAE,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SAChB,CAAC,CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,CACF,0BAA0B,CAAC;YACvB,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,+BAA+B;YAC3C,SAAS,EAAE,CAAC,+BAA+B,CAAC;YAC5C,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SAChB,CAAC,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,MAAM,CACF,0BAA0B,CAAC;YACvB,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,+BAA+B;YAC3C,SAAS,EAAE,CAAC,+BAA+B,EAAE,YAAY,CAAC;YAC1D,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SAChB,CAAC,CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { SessionPermissions } from "@/types";
2
- /**
3
- * Resolves the shared workspace root path for a permission set.
4
- * Expects: permission paths are absolute and normalized.
5
- */
6
- export declare function permissionWorkspacePathResolve(permissions: SessionPermissions): string;
7
- //# sourceMappingURL=permissionWorkspacePathResolve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissionWorkspacePathResolve.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionWorkspacePathResolve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,kBAAkB,GAAG,MAAM,CAkBtF"}
@@ -1,42 +0,0 @@
1
- import path from "node:path";
2
- import { isWithinSecure } from "./pathResolveSecure.js";
3
- /**
4
- * Resolves the shared workspace root path for a permission set.
5
- * Expects: permission paths are absolute and normalized.
6
- */
7
- export function permissionWorkspacePathResolve(permissions) {
8
- if (typeof permissions.workspaceDir === "string" && permissions.workspaceDir.trim().length > 0) {
9
- return path.resolve(permissions.workspaceDir);
10
- }
11
- const appWorkspace = appWorkspacePathResolve(permissions.workingDir);
12
- if (appWorkspace) {
13
- return appWorkspace;
14
- }
15
- const workingDir = path.resolve(permissions.workingDir);
16
- const candidates = Array.from(new Set([...permissions.readDirs, ...permissions.writeDirs].map((entry) => path.resolve(entry))));
17
- const parentCandidates = candidates
18
- .filter((entry) => isWithinSecure(entry, workingDir))
19
- .sort((left, right) => right.length - left.length);
20
- return parentCandidates[0] ?? workingDir;
21
- }
22
- function appWorkspacePathResolve(workingDir) {
23
- const resolved = path.resolve(workingDir);
24
- const segments = resolved.split(path.sep).filter((entry) => entry.length > 0);
25
- const root = path.parse(resolved).root;
26
- let workspaceSegments = null;
27
- for (let index = 0; index < segments.length; index += 1) {
28
- if (segments[index] !== "apps") {
29
- continue;
30
- }
31
- const marker = segments[index + 2];
32
- if (marker !== "data") {
33
- continue;
34
- }
35
- workspaceSegments = segments.slice(0, index);
36
- }
37
- if (!workspaceSegments) {
38
- return null;
39
- }
40
- return path.join(root, ...workspaceSegments);
41
- }
42
- //# sourceMappingURL=permissionWorkspacePathResolve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissionWorkspacePathResolve.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionWorkspacePathResolve.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAA+B;IAC1E,IAAI,OAAO,WAAW,CAAC,YAAY,KAAK,QAAQ,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CACzB,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACnG,CAAC;IACF,MAAM,gBAAgB,GAAG,UAAU;SAC9B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SACpD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAkB;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACvC,IAAI,iBAAiB,GAAoB,IAAI,CAAC;IAC9C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC;YAC7B,SAAS;QACb,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,SAAS;QACb,CAAC;QACD,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAC;AACjD,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=permissionWorkspacePathResolve.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissionWorkspacePathResolve.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionWorkspacePathResolve.spec.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { permissionWorkspacePathResolve } from "./permissionWorkspacePathResolve.js";
3
- describe("permissionWorkspacePathResolve", () => {
4
- it("prefers explicit workspaceDir when present", () => {
5
- const result = permissionWorkspacePathResolve({
6
- workspaceDir: "/workspace",
7
- workingDir: "/workspace/apps/my-app/data",
8
- writeDirs: ["/workspace/apps/my-app/data"],
9
- readDirs: ["/workspace"],
10
- network: false,
11
- events: false
12
- });
13
- expect(result).toBe("/workspace");
14
- });
15
- it("derives workspace root from app workingDir when workspaceDir is missing", () => {
16
- const result = permissionWorkspacePathResolve({
17
- workingDir: "/workspace/apps/my-app/data",
18
- writeDirs: ["/workspace/apps/my-app/data"],
19
- readDirs: ["/workspace"],
20
- network: false,
21
- events: false
22
- });
23
- expect(result).toBe("/workspace");
24
- });
25
- it("falls back to closest ancestor permission root for cron-like workingDir", () => {
26
- const result = permissionWorkspacePathResolve({
27
- workingDir: "/workspace/cron/my-task/files",
28
- writeDirs: ["/workspace"],
29
- readDirs: ["/workspace"],
30
- network: false,
31
- events: false
32
- });
33
- expect(result).toBe("/workspace");
34
- });
35
- });
36
- //# sourceMappingURL=permissionWorkspacePathResolve.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissionWorkspacePathResolve.spec.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionWorkspacePathResolve.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,8BAA8B,CAAC;YAC1C,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,6BAA6B;YACzC,SAAS,EAAE,CAAC,6BAA6B,CAAC;YAC1C,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QAC/E,MAAM,MAAM,GAAG,8BAA8B,CAAC;YAC1C,UAAU,EAAE,6BAA6B;YACzC,SAAS,EAAE,CAAC,6BAA6B,CAAC;YAC1C,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QAC/E,MAAM,MAAM,GAAG,8BAA8B,CAAC;YAC1C,UAAU,EAAE,+BAA+B;YAC3C,SAAS,EAAE,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,21 +0,0 @@
1
- import type { AgentSystem } from "../agents/agentSystem.js";
2
- import type { ConnectorRegistry } from "../modules/connectorRegistry.js";
3
- import type { PermissionRequestRegistry } from "../modules/tools/permissionRequestRegistry.js";
4
- export type GatePermissionRequestInput = {
5
- missing: string[];
6
- taskLabel: string;
7
- agentSystem: AgentSystem;
8
- connectorRegistry: ConnectorRegistry;
9
- permissionRequestRegistry: PermissionRequestRegistry;
10
- agentId: string;
11
- timeoutMs?: number;
12
- };
13
- export type GatePermissionRequestResult = {
14
- granted: boolean;
15
- };
16
- /**
17
- * Requests missing gate permissions from the most-recent foreground user.
18
- * Expects: missing values are valid permission tags and agentId identifies the gated task agent.
19
- */
20
- export declare function gatePermissionRequest(input: GatePermissionRequestInput): Promise<GatePermissionRequestResult>;
21
- //# sourceMappingURL=gatePermissionRequest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatePermissionRequest.d.ts","sourceRoot":"","sources":["../../../sources/engine/scheduling/gatePermissionRequest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAK/F,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAgGnH"}
@@ -1,98 +0,0 @@
1
- import path from "node:path";
2
- import { createId } from "@paralleldrive/cuid2";
3
- import { agentDescriptorLabel } from "../agents/ops/agentDescriptorLabel.js";
4
- import { agentDescriptorTargetResolve } from "../agents/ops/agentDescriptorTargetResolve.js";
5
- import { permissionAccessParse } from "../permissions/permissionAccessParse.js";
6
- const DEFAULT_TIMEOUT_MS = 15 * 60_000;
7
- /**
8
- * Requests missing gate permissions from the most-recent foreground user.
9
- * Expects: missing values are valid permission tags and agentId identifies the gated task agent.
10
- */
11
- export async function gatePermissionRequest(input) {
12
- if (input.missing.length === 0) {
13
- return { granted: true };
14
- }
15
- const foregroundAgentId = input.agentSystem.agentFor("most-recent-foreground");
16
- if (!foregroundAgentId) {
17
- throw new Error("No foreground agent available for permission requests.");
18
- }
19
- const foregroundDescriptor = input.agentSystem.getAgentDescriptor(foregroundAgentId);
20
- if (!foregroundDescriptor) {
21
- throw new Error("Foreground agent descriptor not found.");
22
- }
23
- const target = agentDescriptorTargetResolve(foregroundDescriptor);
24
- if (!target) {
25
- throw new Error("Foreground agent has no user target for permission requests.");
26
- }
27
- const connector = input.connectorRegistry.get(target.connector);
28
- if (!connector) {
29
- throw new Error("Connector not available for permission requests.");
30
- }
31
- const requesterDescriptor = input.agentSystem.getAgentDescriptor(input.agentId);
32
- if (!requesterDescriptor) {
33
- throw new Error("Requesting agent descriptor not found.");
34
- }
35
- const permissions = input.missing.map((permission) => {
36
- const access = permissionAccessParse(permission);
37
- if ((access.kind === "read" || access.kind === "write") && !path.isAbsolute(access.path)) {
38
- throw new Error("Path must be absolute.");
39
- }
40
- return { permission, access };
41
- });
42
- const reason = `Gate check for ${input.taskLabel} requires additional permissions.`;
43
- const message = [
44
- `Permission request for ${input.taskLabel}:`,
45
- ...permissions.map((entry) => `- ${entry.permission}`),
46
- `Reason: ${reason}`,
47
- "Scope: always"
48
- ].join("\n");
49
- const request = {
50
- token: createId(),
51
- agentId: input.agentId,
52
- reason,
53
- message,
54
- permissions,
55
- scope: "always",
56
- requester: {
57
- id: input.agentId,
58
- type: requesterDescriptor.type,
59
- label: agentDescriptorLabel(requesterDescriptor),
60
- kind: "background"
61
- }
62
- };
63
- if (connector.requestPermission) {
64
- await connector.requestPermission(target.targetId, request, {}, foregroundDescriptor);
65
- }
66
- else {
67
- await connector.sendMessage(target.targetId, { text: request.message });
68
- }
69
- const timeoutMs = input.timeoutMs ?? DEFAULT_TIMEOUT_MS;
70
- let decision;
71
- try {
72
- decision = await input.permissionRequestRegistry.register(request.token, timeoutMs);
73
- }
74
- catch (error) {
75
- const isTimeout = error instanceof Error && error.message === "Permission request timed out.";
76
- if (isTimeout) {
77
- return { granted: false };
78
- }
79
- throw error;
80
- }
81
- if (!decision.approved) {
82
- return { granted: false };
83
- }
84
- const targetAgentId = decision.agentId || input.agentId;
85
- const resolvedDecision = {
86
- ...decision,
87
- agentId: targetAgentId,
88
- scope: "always"
89
- };
90
- for (const entry of decision.permissions) {
91
- await input.agentSystem.grantPermission({ agentId: targetAgentId }, entry.access, {
92
- source: target.connector,
93
- decision: resolvedDecision
94
- });
95
- }
96
- return { granted: true };
97
- }
98
- //# sourceMappingURL=gatePermissionRequest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatePermissionRequest.js","sourceRoot":"","sources":["../../../sources/engine/scheduling/gatePermissionRequest.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=gatePermissionRequest.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatePermissionRequest.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/scheduling/gatePermissionRequest.spec.ts"],"names":[],"mappings":""}
@@ -1,126 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- import { PermissionRequestRegistry } from "../modules/tools/permissionRequestRegistry.js";
3
- import { gatePermissionRequest } from "./gatePermissionRequest.js";
4
- describe("gatePermissionRequest", () => {
5
- it("requests permission, waits for approval, and grants missing access", async () => {
6
- const registry = new PermissionRequestRegistry();
7
- const grantPermission = vi.fn(async () => undefined);
8
- const requestPermission = vi.fn(async (_targetId, _request) => undefined);
9
- const pending = gatePermissionRequest({
10
- missing: ["@network"],
11
- taskLabel: "cron task alpha",
12
- agentId: "agent-1",
13
- agentSystem: agentSystemBuild({
14
- grantPermission
15
- }),
16
- connectorRegistry: connectorRegistryBuild({ requestPermission }),
17
- permissionRequestRegistry: registry
18
- });
19
- const request = await permissionRequestWait(requestPermission);
20
- await registryResolveWhenReady(registry, {
21
- token: request.token,
22
- agentId: request.agentId,
23
- approved: true,
24
- permissions: request.permissions,
25
- scope: "always"
26
- });
27
- const result = await pending;
28
- expect(result.granted).toBe(true);
29
- expect(request.scope).toBe("always");
30
- expect(grantPermission).toHaveBeenCalledTimes(1);
31
- expect(grantPermission).toHaveBeenCalledWith({ agentId: "agent-1" }, { kind: "network" }, expect.objectContaining({ source: "telegram" }));
32
- });
33
- it("returns false when permission is denied", async () => {
34
- const registry = new PermissionRequestRegistry();
35
- const grantPermission = vi.fn(async () => undefined);
36
- const requestPermission = vi.fn(async (_targetId, _request) => undefined);
37
- const pending = gatePermissionRequest({
38
- missing: ["@network"],
39
- taskLabel: "heartbeat task beta",
40
- agentId: "agent-1",
41
- agentSystem: agentSystemBuild({
42
- grantPermission
43
- }),
44
- connectorRegistry: connectorRegistryBuild({ requestPermission }),
45
- permissionRequestRegistry: registry
46
- });
47
- const request = await permissionRequestWait(requestPermission);
48
- await registryResolveWhenReady(registry, {
49
- token: request.token,
50
- agentId: request.agentId,
51
- approved: false,
52
- permissions: request.permissions,
53
- scope: "always"
54
- });
55
- const result = await pending;
56
- expect(result.granted).toBe(false);
57
- expect(grantPermission).not.toHaveBeenCalled();
58
- });
59
- it("returns false on timeout", async () => {
60
- const result = await gatePermissionRequest({
61
- missing: ["@network"],
62
- taskLabel: "cron task gamma",
63
- agentId: "agent-1",
64
- agentSystem: agentSystemBuild({}),
65
- connectorRegistry: connectorRegistryBuild({ requestPermission: vi.fn(async () => undefined) }),
66
- permissionRequestRegistry: new PermissionRequestRegistry(),
67
- timeoutMs: 10
68
- });
69
- expect(result.granted).toBe(false);
70
- });
71
- });
72
- function agentSystemBuild(overrides) {
73
- const descriptors = new Map([
74
- [
75
- "foreground-1",
76
- {
77
- type: "user",
78
- connector: "telegram",
79
- userId: "u1",
80
- channelId: "c1"
81
- }
82
- ],
83
- [
84
- "agent-1",
85
- {
86
- type: "system",
87
- tag: "cron"
88
- }
89
- ]
90
- ]);
91
- return {
92
- agentFor: vi.fn(() => "foreground-1"),
93
- getAgentDescriptor: vi.fn((agentId) => descriptors.get(agentId) ?? null),
94
- grantPermission: overrides.grantPermission ?? (async () => undefined)
95
- };
96
- }
97
- function connectorRegistryBuild(options) {
98
- return {
99
- get: vi.fn(() => ({
100
- capabilities: { sendText: true },
101
- onMessage: vi.fn(() => () => undefined),
102
- sendMessage: vi.fn(async () => undefined),
103
- requestPermission: options.requestPermission
104
- }))
105
- };
106
- }
107
- async function permissionRequestWait(requestPermission) {
108
- for (let attempt = 0; attempt < 50; attempt += 1) {
109
- const request = requestPermission.mock.calls[0]?.[1];
110
- if (request) {
111
- return request;
112
- }
113
- await new Promise((resolve) => setTimeout(resolve, 0));
114
- }
115
- throw new Error("Expected permission request payload");
116
- }
117
- async function registryResolveWhenReady(registry, decision) {
118
- for (let attempt = 0; attempt < 20; attempt += 1) {
119
- if (registry.resolve(decision.token, decision)) {
120
- return;
121
- }
122
- await Promise.resolve();
123
- }
124
- throw new Error("Permission token was never registered.");
125
- }
126
- //# sourceMappingURL=gatePermissionRequest.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatePermissionRequest.spec.js","sourceRoot":"","sources":["../../../sources/engine/scheduling/gatePermissionRequest.spec.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { SessionPermissions } from "@/types";
2
- export type GatePermissionsCheckResult = {
3
- allowed: boolean;
4
- missing: string[];
5
- };
6
- /**
7
- * Checks gate permission tags against the current permissions.
8
- * Expects: tags are @network, @events, @workspace, @read:<path>, or @write:<path>.
9
- */
10
- export declare function gatePermissionsCheck(permissions: SessionPermissions, tags?: string[]): Promise<GatePermissionsCheckResult>;
11
- //# sourceMappingURL=gatePermissionsCheck.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatePermissionsCheck.d.ts","sourceRoot":"","sources":["../../../sources/engine/scheduling/gatePermissionsCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGpE,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,WAAW,EAAE,kBAAkB,EAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,0BAA0B,CAAC,CAwBrC"}
@@ -1,58 +0,0 @@
1
- import { permissionAccessAllows } from "../permissions/permissionAccessAllows.js";
2
- /**
3
- * Checks gate permission tags against the current permissions.
4
- * Expects: tags are @network, @events, @workspace, @read:<path>, or @write:<path>.
5
- */
6
- export async function gatePermissionsCheck(permissions, tags) {
7
- if (!tags || tags.length === 0) {
8
- return { allowed: true, missing: [] };
9
- }
10
- const missing = [];
11
- for (const entry of tags) {
12
- const trimmed = entry.trim();
13
- if (!trimmed) {
14
- missing.push("<blank> (Permission tag cannot be blank.)");
15
- continue;
16
- }
17
- const parsed = parsePermissionAccess(trimmed);
18
- if (!parsed.access) {
19
- missing.push(`${trimmed} (${parsed.error ?? "Invalid gate permission."})`);
20
- continue;
21
- }
22
- const allowed = await permissionAccessAllows(permissions, parsed.access);
23
- if (!allowed) {
24
- missing.push(trimmed);
25
- }
26
- }
27
- return { allowed: missing.length === 0, missing };
28
- }
29
- function parsePermissionAccess(tag) {
30
- if (tag === "@network") {
31
- return { access: { kind: "network" } };
32
- }
33
- if (tag === "@events") {
34
- return { access: { kind: "events" } };
35
- }
36
- if (tag === "@workspace") {
37
- return { access: { kind: "workspace" } };
38
- }
39
- if (tag.startsWith("@read:")) {
40
- const pathValue = tag.slice("@read:".length).trim();
41
- if (!pathValue) {
42
- return { access: null, error: "Read permission requires a path." };
43
- }
44
- return { access: { kind: "read", path: pathValue } };
45
- }
46
- if (tag.startsWith("@write:")) {
47
- const pathValue = tag.slice("@write:".length).trim();
48
- if (!pathValue) {
49
- return { access: null, error: "Write permission requires a path." };
50
- }
51
- return { access: { kind: "write", path: pathValue } };
52
- }
53
- return {
54
- access: null,
55
- error: "Permission must be @network, @events, @workspace, @read:<path>, or @write:<path>."
56
- };
57
- }
58
- //# sourceMappingURL=gatePermissionsCheck.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatePermissionsCheck.js","sourceRoot":"","sources":["../../../sources/engine/scheduling/gatePermissionsCheck.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAOlF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,WAA+B,EAC/B,IAAe;IAEf,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC1D,SAAS;QACb,CAAC;QACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,MAAM,CAAC,KAAK,IAAI,0BAA0B,GAAG,CAAC,CAAC;YAC3E,SAAS;QACb,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACtC,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QACvE,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO;QACH,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,mFAAmF;KAC7F,CAAC;AACN,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=gatePermissionsCheck.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatePermissionsCheck.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/scheduling/gatePermissionsCheck.spec.ts"],"names":[],"mappings":""}
@@ -1,67 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { gatePermissionsCheck } from "./gatePermissionsCheck.js";
3
- const basePermissions = {
4
- workspaceDir: "/tmp",
5
- workingDir: "/tmp",
6
- readDirs: ["/tmp"],
7
- writeDirs: ["/tmp"],
8
- network: false,
9
- events: false
10
- };
11
- describe("gatePermissionsCheck", () => {
12
- it("allows empty tags", async () => {
13
- const result = await gatePermissionsCheck(basePermissions);
14
- expect(result).toEqual({ allowed: true, missing: [] });
15
- });
16
- it("denies network when not allowed", async () => {
17
- const result = await gatePermissionsCheck(basePermissions, ["@network"]);
18
- expect(result.allowed).toBe(false);
19
- expect(result.missing).toEqual(["@network"]);
20
- });
21
- it("allows network when permitted", async () => {
22
- const permissions = { ...basePermissions, network: true };
23
- const result = await gatePermissionsCheck(permissions, ["@network"]);
24
- expect(result).toEqual({ allowed: true, missing: [] });
25
- });
26
- it("denies events when not allowed", async () => {
27
- const result = await gatePermissionsCheck(basePermissions, ["@events"]);
28
- expect(result.allowed).toBe(false);
29
- expect(result.missing).toEqual(["@events"]);
30
- });
31
- it("allows events when permitted", async () => {
32
- const permissions = { ...basePermissions, events: true };
33
- const result = await gatePermissionsCheck(permissions, ["@events"]);
34
- expect(result).toEqual({ allowed: true, missing: [] });
35
- });
36
- it("denies workspace when not allowed", async () => {
37
- const appPermissions = {
38
- workspaceDir: "/tmp",
39
- workingDir: "/tmp/apps/my-app/data",
40
- readDirs: ["/tmp"],
41
- writeDirs: ["/tmp/apps/my-app/data"],
42
- network: false,
43
- events: false
44
- };
45
- const result = await gatePermissionsCheck(appPermissions, ["@workspace"]);
46
- expect(result.allowed).toBe(false);
47
- expect(result.missing).toEqual(["@workspace"]);
48
- });
49
- it("allows workspace when permitted", async () => {
50
- const permissions = { ...basePermissions };
51
- const result = await gatePermissionsCheck(permissions, ["@workspace"]);
52
- expect(result).toEqual({ allowed: true, missing: [] });
53
- });
54
- it("denies paths outside allowed roots", async () => {
55
- const result = await gatePermissionsCheck(basePermissions, ["@read:/etc"]);
56
- expect(result.allowed).toBe(false);
57
- expect(result.missing).toEqual(["@read:/etc"]);
58
- });
59
- it("reports invalid permission tags", async () => {
60
- const result = await gatePermissionsCheck(basePermissions, ["@banana"]);
61
- expect(result.allowed).toBe(false);
62
- expect(result.missing).toEqual([
63
- "@banana (Permission must be @network, @events, @workspace, @read:<path>, or @write:<path>.)"
64
- ]);
65
- });
66
- });
67
- //# sourceMappingURL=gatePermissionsCheck.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatePermissionsCheck.spec.js","sourceRoot":"","sources":["../../../sources/engine/scheduling/gatePermissionsCheck.spec.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- # CRON WORKER
2
-
3
- You are the Daycare cron worker.
4
-
5
- - Treat incoming signal events as scheduler-triggered cron tasks.
6
- - Parse the signal payload and execute the task prompt carefully.
7
- - Respect granted permissions and avoid requesting unnecessary escalation.
8
- - When reporting results, keep output concise and actionable.