daycare-cli 2026.2.9 → 2026.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/add.js +1 -1
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/providers.js +1 -1
- package/dist/commands/providers.js.map +1 -1
- package/dist/config/configResolve.js +1 -1
- package/dist/config/configResolve.js.map +1 -1
- package/dist/config/configResolve.spec.js +2 -2
- package/dist/config/configResolve.spec.js.map +1 -1
- package/dist/engine/agents/agent.d.ts +7 -5
- package/dist/engine/agents/agent.d.ts.map +1 -1
- package/dist/engine/agents/agent.js +54 -35
- package/dist/engine/agents/agent.js.map +1 -1
- package/dist/engine/agents/agent.spec.js +98 -0
- package/dist/engine/agents/agent.spec.js.map +1 -1
- package/dist/engine/agents/agentSystem.d.ts +3 -17
- package/dist/engine/agents/agentSystem.d.ts.map +1 -1
- package/dist/engine/agents/agentSystem.js +41 -88
- package/dist/engine/agents/agentSystem.js.map +1 -1
- package/dist/engine/agents/agentSystem.spec.js +1 -16
- package/dist/engine/agents/agentSystem.spec.js.map +1 -1
- package/dist/engine/agents/agentSystemDurableInbox.spec.d.ts +2 -0
- package/dist/engine/agents/agentSystemDurableInbox.spec.d.ts.map +1 -0
- package/dist/engine/agents/agentSystemDurableInbox.spec.js +225 -0
- package/dist/engine/agents/agentSystemDurableInbox.spec.js.map +1 -0
- package/dist/engine/agents/ops/agentHistoryContext.d.ts +1 -1
- package/dist/engine/agents/ops/agentHistoryContext.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentHistoryContext.js +1 -1
- package/dist/engine/agents/ops/agentHistoryContext.js.map +1 -1
- package/dist/engine/agents/ops/agentHistoryPendingToolResults.js.map +1 -1
- package/dist/engine/agents/ops/agentInbox.d.ts +7 -1
- package/dist/engine/agents/ops/agentInbox.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentInbox.js +5 -17
- package/dist/engine/agents/ops/agentInbox.js.map +1 -1
- package/dist/engine/agents/ops/agentInbox.spec.js +21 -7
- package/dist/engine/agents/ops/agentInbox.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.js +0 -5
- package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.spec.js +1 -4
- package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentPromptResolve.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentPromptResolve.js +4 -1
- package/dist/engine/agents/ops/agentPromptResolve.js.map +1 -1
- package/dist/engine/agents/ops/agentPromptResolve.spec.js +7 -3
- package/dist/engine/agents/ops/agentPromptResolve.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.spec.js +30 -20
- package/dist/engine/agents/ops/agentSystemPrompt.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptContext.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptContext.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js +3 -26
- package/dist/engine/agents/ops/agentSystemPromptSectionMemory.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js +3 -4
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js.map +1 -1
- package/dist/engine/agents/ops/agentTypes.d.ts +0 -2
- package/dist/engine/agents/ops/agentTypes.d.ts.map +1 -1
- package/dist/engine/agents/ops/inboxItemDeserialize.d.ts +7 -0
- package/dist/engine/agents/ops/inboxItemDeserialize.d.ts.map +1 -0
- package/dist/engine/agents/ops/inboxItemDeserialize.js +27 -0
- package/dist/engine/agents/ops/inboxItemDeserialize.js.map +1 -0
- package/dist/engine/agents/ops/inboxItemSerialize.d.ts +7 -0
- package/dist/engine/agents/ops/inboxItemSerialize.d.ts.map +1 -0
- package/dist/engine/agents/ops/inboxItemSerialize.js +8 -0
- package/dist/engine/agents/ops/inboxItemSerialize.js.map +1 -0
- package/dist/engine/agents/ops/inboxItemSerialize.spec.d.ts +2 -0
- package/dist/engine/agents/ops/inboxItemSerialize.spec.d.ts.map +1 -0
- package/dist/engine/agents/ops/inboxItemSerialize.spec.js +51 -0
- package/dist/engine/agents/ops/inboxItemSerialize.spec.js.map +1 -0
- package/dist/engine/agents/system/_systemAgents.d.ts.map +1 -1
- package/dist/engine/agents/system/_systemAgents.js +0 -5
- package/dist/engine/agents/system/_systemAgents.js.map +1 -1
- package/dist/engine/agents/system/systemAgentPromptResolve.spec.js +0 -6
- package/dist/engine/agents/system/systemAgentPromptResolve.spec.js.map +1 -1
- package/dist/engine/apps/appExecute.d.ts +1 -1
- package/dist/engine/apps/appExecute.d.ts.map +1 -1
- package/dist/engine/apps/appExecute.js +2 -19
- package/dist/engine/apps/appExecute.js.map +1 -1
- package/dist/engine/apps/appExecute.spec.js +6 -20
- package/dist/engine/apps/appExecute.spec.js.map +1 -1
- package/dist/engine/apps/appInstallToolBuild.spec.js +1 -4
- package/dist/engine/apps/appInstallToolBuild.spec.js.map +1 -1
- package/dist/engine/apps/appPermissionBuild.d.ts.map +1 -1
- package/dist/engine/apps/appPermissionBuild.js +2 -14
- package/dist/engine/apps/appPermissionBuild.js.map +1 -1
- package/dist/engine/apps/appPermissionBuild.spec.js +6 -18
- package/dist/engine/apps/appPermissionBuild.spec.js.map +1 -1
- package/dist/engine/apps/appRuleToolBuild.d.ts.map +1 -1
- package/dist/engine/apps/appRuleToolBuild.js +1 -44
- package/dist/engine/apps/appRuleToolBuild.js.map +1 -1
- package/dist/engine/apps/appRuleToolBuild.spec.js +8 -39
- package/dist/engine/apps/appRuleToolBuild.spec.js.map +1 -1
- package/dist/engine/apps/appToolExecutorBuild.js +1 -1
- package/dist/engine/apps/appToolExecutorBuild.js.map +1 -1
- package/dist/engine/apps/appToolExecutorBuild.spec.js +3 -6
- package/dist/engine/apps/appToolExecutorBuild.spec.js.map +1 -1
- package/dist/engine/cron/cronTypes.d.ts +0 -2
- package/dist/engine/cron/cronTypes.d.ts.map +1 -1
- package/dist/engine/cron/crons.d.ts +0 -4
- package/dist/engine/cron/crons.d.ts.map +1 -1
- package/dist/engine/cron/crons.js +0 -45
- package/dist/engine/cron/crons.js.map +1 -1
- package/dist/engine/cron/crons.spec.js +9 -150
- package/dist/engine/cron/crons.spec.js.map +1 -1
- package/dist/engine/cron/ops/cronFieldParse.js +3 -3
- package/dist/engine/cron/ops/cronFieldParse.js.map +1 -1
- package/dist/engine/cron/ops/cronScheduler.d.ts +1 -11
- package/dist/engine/cron/ops/cronScheduler.d.ts.map +1 -1
- package/dist/engine/cron/ops/cronScheduler.js +2 -73
- package/dist/engine/cron/ops/cronScheduler.js.map +1 -1
- package/dist/engine/cron/ops/cronScheduler.spec.js +7 -154
- package/dist/engine/cron/ops/cronScheduler.spec.js.map +1 -1
- package/dist/engine/engine.d.ts +1 -2
- package/dist/engine/engine.d.ts.map +1 -1
- package/dist/engine/engine.js +13 -62
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/engine.spec.js +0 -112
- package/dist/engine/engine.spec.js.map +1 -1
- package/dist/engine/heartbeat/heartbeatTypes.d.ts +0 -7
- package/dist/engine/heartbeat/heartbeatTypes.d.ts.map +1 -1
- package/dist/engine/heartbeat/heartbeats.d.ts +0 -4
- package/dist/engine/heartbeat/heartbeats.d.ts.map +1 -1
- package/dist/engine/heartbeat/heartbeats.js +0 -26
- package/dist/engine/heartbeat/heartbeats.js.map +1 -1
- package/dist/engine/heartbeat/heartbeats.spec.js +28 -110
- package/dist/engine/heartbeat/heartbeats.spec.js.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatPromptBuildBatch.spec.js +0 -1
- package/dist/engine/heartbeat/ops/heartbeatPromptBuildBatch.spec.js.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatScheduler.d.ts +0 -5
- package/dist/engine/heartbeat/ops/heartbeatScheduler.d.ts.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatScheduler.js +6 -84
- package/dist/engine/heartbeat/ops/heartbeatScheduler.js.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatScheduler.spec.js +4 -148
- package/dist/engine/heartbeat/ops/heartbeatScheduler.spec.js.map +1 -1
- package/dist/engine/memory/memorySessionObserve.d.ts +11 -0
- package/dist/engine/memory/memorySessionObserve.d.ts.map +1 -0
- package/dist/engine/memory/memorySessionObserve.js +12 -0
- package/dist/engine/memory/memorySessionObserve.js.map +1 -0
- package/dist/engine/memory/memorySessionObserve.spec.d.ts +2 -0
- package/dist/engine/memory/memorySessionObserve.spec.d.ts.map +1 -0
- package/dist/engine/memory/memorySessionObserve.spec.js +41 -0
- package/dist/engine/memory/memorySessionObserve.spec.js.map +1 -0
- package/dist/engine/memory/memoryWorker.d.ts +22 -0
- package/dist/engine/memory/memoryWorker.d.ts.map +1 -0
- package/dist/engine/memory/memoryWorker.js +95 -0
- package/dist/engine/memory/memoryWorker.js.map +1 -0
- package/dist/engine/memory/memoryWorker.spec.d.ts +2 -0
- package/dist/engine/memory/memoryWorker.spec.d.ts.map +1 -0
- package/dist/engine/memory/memoryWorker.spec.js +137 -0
- package/dist/engine/memory/memoryWorker.spec.js.map +1 -0
- package/dist/engine/messages/incomingMessages.js +1 -13
- package/dist/engine/messages/incomingMessages.js.map +1 -1
- package/dist/engine/messages/incomingMessages.spec.js +3 -4
- package/dist/engine/messages/incomingMessages.spec.js.map +1 -1
- package/dist/engine/modules/connectorRegistry.d.ts +1 -4
- package/dist/engine/modules/connectorRegistry.d.ts.map +1 -1
- package/dist/engine/modules/connectorRegistry.js +4 -18
- package/dist/engine/modules/connectorRegistry.js.map +1 -1
- package/dist/engine/modules/connectors/types.d.ts +0 -44
- package/dist/engine/modules/connectors/types.d.ts.map +1 -1
- package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js +1 -4
- package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js.map +1 -1
- package/dist/engine/modules/media/pdfExtract.d.ts +33 -0
- package/dist/engine/modules/media/pdfExtract.d.ts.map +1 -0
- package/dist/engine/modules/media/pdfExtract.js +123 -0
- package/dist/engine/modules/media/pdfExtract.js.map +1 -0
- package/dist/engine/modules/media/pdfExtract.spec.d.ts +2 -0
- package/dist/engine/modules/media/pdfExtract.spec.d.ts.map +1 -0
- package/dist/engine/modules/media/pdfExtract.spec.js +25 -0
- package/dist/engine/modules/media/pdfExtract.spec.js.map +1 -0
- package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js +1 -4
- package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmExecute.spec.js +1 -4
- package/dist/engine/modules/rlm/rlmExecute.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmPromptSkills.spec.js +0 -6
- package/dist/engine/modules/rlm/rlmPromptSkills.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmRestore.spec.js +1 -4
- package/dist/engine/modules/rlm/rlmRestore.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmTool.spec.js +1 -4
- package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
- package/dist/engine/modules/say/sayFileResolve.d.ts.map +1 -1
- package/dist/engine/modules/say/sayFileResolve.js +2 -2
- package/dist/engine/modules/say/sayFileResolve.js.map +1 -1
- package/dist/engine/modules/say/sayFileResolve.spec.js +1 -4
- package/dist/engine/modules/say/sayFileResolve.spec.js.map +1 -1
- package/dist/engine/modules/toolResolver.spec.js +1 -4
- package/dist/engine/modules/toolResolver.spec.js.map +1 -1
- package/dist/engine/modules/tools/agentCompactTool.spec.js +1 -4
- package/dist/engine/modules/tools/agentCompactTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/agentResetTool.spec.js +1 -4
- package/dist/engine/modules/tools/agentResetTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/background.d.ts.map +1 -1
- package/dist/engine/modules/tools/background.js +1 -10
- package/dist/engine/modules/tools/background.js.map +1 -1
- package/dist/engine/modules/tools/background.spec.js +4 -31
- package/dist/engine/modules/tools/background.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelCreateTool.spec.js +1 -4
- package/dist/engine/modules/tools/channelCreateTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelHistoryTool.spec.js +1 -4
- package/dist/engine/modules/tools/channelHistoryTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelMemberTool.spec.js +1 -4
- package/dist/engine/modules/tools/channelMemberTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelSendTool.spec.js +1 -4
- package/dist/engine/modules/tools/channelSendTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/cron.d.ts.map +1 -1
- package/dist/engine/modules/tools/cron.js +13 -43
- package/dist/engine/modules/tools/cron.js.map +1 -1
- package/dist/engine/modules/tools/heartbeat.d.ts.map +1 -1
- package/dist/engine/modules/tools/heartbeat.js +2 -27
- package/dist/engine/modules/tools/heartbeat.js.map +1 -1
- package/dist/engine/modules/tools/image-generation.spec.js +1 -4
- package/dist/engine/modules/tools/image-generation.spec.js.map +1 -1
- package/dist/engine/modules/tools/mermaid-png.spec.js +1 -4
- package/dist/engine/modules/tools/mermaid-png.spec.js.map +1 -1
- package/dist/engine/modules/tools/pdf-process.d.ts +27 -0
- package/dist/engine/modules/tools/pdf-process.d.ts.map +1 -0
- package/dist/engine/modules/tools/pdf-process.js +151 -0
- package/dist/engine/modules/tools/pdf-process.js.map +1 -0
- package/dist/engine/modules/tools/pdf-process.spec.d.ts +2 -0
- package/dist/engine/modules/tools/pdf-process.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/pdf-process.spec.js +56 -0
- package/dist/engine/modules/tools/pdf-process.spec.js.map +1 -0
- package/dist/engine/modules/tools/permanentAgentToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/permanentAgentToolBuild.js +2 -10
- package/dist/engine/modules/tools/permanentAgentToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js +6 -37
- package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/send-file.js +2 -2
- package/dist/engine/modules/tools/send-file.js.map +1 -1
- package/dist/engine/modules/tools/sendUserMessageTool.spec.js +1 -4
- package/dist/engine/modules/tools/sendUserMessageTool.spec.js.map +1 -1
- package/dist/engine/modules/tools/signal.spec.js +1 -4
- package/dist/engine/modules/tools/signal.spec.js.map +1 -1
- package/dist/engine/modules/tools/signalEventsCsvToolBuild.spec.js +1 -4
- package/dist/engine/modules/tools/signalEventsCsvToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/signalSubscribeToolBuild.spec.js +1 -4
- package/dist/engine/modules/tools/signalSubscribeToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/signalUnsubscribeToolBuild.spec.js +1 -4
- package/dist/engine/modules/tools/signalUnsubscribeToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/skillToolBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/skillToolBuild.js +0 -10
- package/dist/engine/modules/tools/skillToolBuild.js.map +1 -1
- package/dist/engine/modules/tools/skillToolBuild.spec.js +4 -25
- package/dist/engine/modules/tools/skillToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/toolListContextBuild.d.ts +0 -1
- package/dist/engine/modules/tools/toolListContextBuild.d.ts.map +1 -1
- package/dist/engine/modules/tools/toolListContextBuild.js.map +1 -1
- package/dist/engine/modules/tools/topologyToolBuild.spec.js +0 -3
- package/dist/engine/modules/tools/topologyToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/types.d.ts +1 -3
- package/dist/engine/modules/tools/types.d.ts.map +1 -1
- package/dist/engine/permissions/permissionBuildUser.d.ts.map +1 -1
- package/dist/engine/permissions/permissionBuildUser.js +1 -18
- package/dist/engine/permissions/permissionBuildUser.js.map +1 -1
- package/dist/engine/permissions/permissionBuildUser.spec.js +2 -21
- package/dist/engine/permissions/permissionBuildUser.spec.js.map +1 -1
- package/dist/engine/permissions.d.ts +0 -4
- package/dist/engine/permissions.d.ts.map +1 -1
- package/dist/engine/permissions.js +2 -31
- package/dist/engine/permissions.js.map +1 -1
- package/dist/engine/plugins/builtins.spec.js +3 -1
- package/dist/engine/plugins/builtins.spec.js.map +1 -1
- package/dist/engine/plugins/descriptor.d.ts +2 -2
- package/dist/engine/plugins/loader.spec.js +3 -1
- package/dist/engine/plugins/loader.spec.js.map +1 -1
- package/dist/engine/processes/processes.d.ts +0 -2
- package/dist/engine/processes/processes.d.ts.map +1 -1
- package/dist/engine/processes/processes.js +8 -12
- package/dist/engine/processes/processes.js.map +1 -1
- package/dist/engine/processes/processes.spec.js +22 -31
- package/dist/engine/processes/processes.spec.js.map +1 -1
- package/dist/engine/users/userHomeMigrate.d.ts +2 -5
- package/dist/engine/users/userHomeMigrate.d.ts.map +1 -1
- package/dist/engine/users/userHomeMigrate.js +2 -13
- package/dist/engine/users/userHomeMigrate.js.map +1 -1
- package/dist/engine/users/userHomeMigrate.spec.js +7 -62
- package/dist/engine/users/userHomeMigrate.spec.js.map +1 -1
- package/dist/log.spec.js +1 -0
- package/dist/log.spec.js.map +1 -1
- package/dist/plugins/anthropic-fetch/plugin.d.ts.map +1 -1
- package/dist/plugins/anthropic-fetch/plugin.js +4 -7
- package/dist/plugins/anthropic-fetch/plugin.js.map +1 -1
- package/dist/plugins/anthropic-search/plugin.d.ts.map +1 -1
- package/dist/plugins/anthropic-search/plugin.js +4 -7
- package/dist/plugins/anthropic-search/plugin.js.map +1 -1
- package/dist/plugins/brave-search/plugin.d.ts.map +1 -1
- package/dist/plugins/brave-search/plugin.js +2 -5
- package/dist/plugins/brave-search/plugin.js.map +1 -1
- package/dist/plugins/cloudflare-tunnel/plugin.d.ts.map +1 -1
- package/dist/plugins/cloudflare-tunnel/plugin.js +1 -4
- package/dist/plugins/cloudflare-tunnel/plugin.js.map +1 -1
- package/dist/plugins/cloudflare-tunnel/plugin.spec.js +3 -8
- package/dist/plugins/cloudflare-tunnel/plugin.spec.js.map +1 -1
- package/dist/plugins/custom-tunnel/plugin.spec.js +1 -2
- package/dist/plugins/custom-tunnel/plugin.spec.js.map +1 -1
- package/dist/plugins/dashboard/site/404.html +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/page-6245088e82da3e1c.js +1 -0
- package/dist/plugins/dashboard/site/agent.html +1 -1
- package/dist/plugins/dashboard/site/agent.txt +1 -1
- package/dist/plugins/dashboard/site/agents.html +1 -1
- package/dist/plugins/dashboard/site/agents.txt +1 -1
- package/dist/plugins/dashboard/site/automations.html +1 -1
- package/dist/plugins/dashboard/site/automations.txt +2 -2
- package/dist/plugins/dashboard/site/connectors.html +1 -1
- package/dist/plugins/dashboard/site/connectors.txt +1 -1
- package/dist/plugins/dashboard/site/index.html +1 -1
- package/dist/plugins/dashboard/site/index.txt +1 -1
- package/dist/plugins/dashboard/site/processes.html +1 -1
- package/dist/plugins/dashboard/site/processes.txt +1 -1
- package/dist/plugins/dashboard/site/providers.html +1 -1
- package/dist/plugins/dashboard/site/providers.txt +1 -1
- package/dist/plugins/dashboard/site/signals.html +1 -1
- package/dist/plugins/dashboard/site/signals.txt +1 -1
- package/dist/plugins/dashboard/site/telemetry.html +1 -1
- package/dist/plugins/dashboard/site/telemetry.txt +1 -1
- package/dist/plugins/dashboard/site/tools.html +1 -1
- package/dist/plugins/dashboard/site/tools.txt +1 -1
- package/dist/plugins/database/__tests__/plugin.spec.js +4 -5
- package/dist/plugins/database/__tests__/plugin.spec.js.map +1 -1
- package/dist/plugins/exa-ai/plugin.d.ts.map +1 -1
- package/dist/plugins/exa-ai/plugin.js +2 -5
- package/dist/plugins/exa-ai/plugin.js.map +1 -1
- package/dist/plugins/firecrawl/plugin.d.ts.map +1 -1
- package/dist/plugins/firecrawl/plugin.js +2 -5
- package/dist/plugins/firecrawl/plugin.js.map +1 -1
- package/dist/plugins/gemini-search/plugin.d.ts.map +1 -1
- package/dist/plugins/gemini-search/plugin.js +4 -7
- package/dist/plugins/gemini-search/plugin.js.map +1 -1
- package/dist/plugins/local-expose/plugin.d.ts.map +1 -1
- package/dist/plugins/local-expose/plugin.js +1 -4
- package/dist/plugins/local-expose/plugin.js.map +1 -1
- package/dist/plugins/local-expose/plugin.spec.js +4 -10
- package/dist/plugins/local-expose/plugin.spec.js.map +1 -1
- package/dist/plugins/monty-python/tool.d.ts.map +1 -1
- package/dist/plugins/monty-python/tool.js.map +1 -1
- package/dist/plugins/monty-python/tool.spec.js +1 -4
- package/dist/plugins/monty-python/tool.spec.js.map +1 -1
- package/dist/plugins/nano-banana-pro/__tests__/plugin.integration.spec.js +3 -1
- package/dist/plugins/nano-banana-pro/__tests__/plugin.integration.spec.js.map +1 -1
- package/dist/plugins/openai-search/plugin.d.ts.map +1 -1
- package/dist/plugins/openai-search/plugin.js +5 -8
- package/dist/plugins/openai-search/plugin.js.map +1 -1
- package/dist/plugins/perplexity-search/plugin.d.ts.map +1 -1
- package/dist/plugins/perplexity-search/plugin.js +3 -6
- package/dist/plugins/perplexity-search/plugin.js.map +1 -1
- package/dist/plugins/shell/processTools.d.ts.map +1 -1
- package/dist/plugins/shell/processTools.js +5 -21
- package/dist/plugins/shell/processTools.js.map +1 -1
- package/dist/plugins/shell/processTools.spec.js +10 -70
- package/dist/plugins/shell/processTools.spec.js.map +1 -1
- package/dist/plugins/shell/tool.d.ts.map +1 -1
- package/dist/plugins/shell/tool.js +13 -29
- package/dist/plugins/shell/tool.js.map +1 -1
- package/dist/plugins/shell/tool.spec.js +56 -152
- package/dist/plugins/shell/tool.spec.js.map +1 -1
- package/dist/plugins/tailscale/plugin.spec.js +1 -2
- package/dist/plugins/tailscale/plugin.spec.js.map +1 -1
- package/dist/plugins/telegram/connector.d.ts +1 -6
- package/dist/plugins/telegram/connector.d.ts.map +1 -1
- package/dist/plugins/telegram/connector.js +1 -152
- package/dist/plugins/telegram/connector.js.map +1 -1
- package/dist/plugins/telegram/connector.spec.js +0 -116
- package/dist/plugins/telegram/connector.spec.js.map +1 -1
- package/dist/plugins/telegram/markdownToTelegramHtml.js +6 -6
- package/dist/plugins/telegram/markdownToTelegramHtml.js.map +1 -1
- package/dist/plugins/upgrade/plugin.spec.js +5 -10
- package/dist/plugins/upgrade/plugin.spec.js.map +1 -1
- package/dist/plugins/web-fetch/plugin.d.ts.map +1 -1
- package/dist/plugins/web-fetch/plugin.js +1 -4
- package/dist/plugins/web-fetch/plugin.js.map +1 -1
- package/dist/plugins/whatsapp/authenticate.d.ts.map +1 -1
- package/dist/plugins/whatsapp/authenticate.js.map +1 -1
- package/dist/plugins/whatsapp/connector.d.ts +1 -6
- package/dist/plugins/whatsapp/connector.d.ts.map +1 -1
- package/dist/plugins/whatsapp/connector.js +0 -106
- package/dist/plugins/whatsapp/connector.js.map +1 -1
- package/dist/plugins/whatsapp/markdownToWhatsAppText.js +9 -9
- package/dist/plugins/whatsapp/markdownToWhatsAppText.js.map +1 -1
- package/dist/prompts/PERMISSIONS.md +1 -1
- package/dist/prompts/SYSTEM_TOPOLOGY.md +1 -1
- package/dist/providers/__tests__/inference.integration.spec.js +2 -2
- package/dist/providers/__tests__/inference.integration.spec.js.map +1 -1
- package/dist/sandbox/pathResolveSecure.d.ts.map +1 -0
- package/dist/sandbox/pathResolveSecure.js.map +1 -0
- package/dist/sandbox/pathResolveSecure.spec.d.ts.map +1 -0
- package/dist/sandbox/pathResolveSecure.spec.js.map +1 -0
- package/dist/sandbox/pathSanitize.d.ts.map +1 -0
- package/dist/sandbox/pathSanitize.js.map +1 -0
- package/dist/sandbox/pathSanitize.spec.d.ts.map +1 -0
- package/dist/{engine/permissions → sandbox}/pathSanitize.spec.js +2 -2
- package/dist/sandbox/pathSanitize.spec.js.map +1 -0
- package/dist/sandbox/sandboxAllowedDomainsValidate.d.ts +2 -2
- package/dist/sandbox/sandboxAllowedDomainsValidate.d.ts.map +1 -1
- package/dist/sandbox/sandboxAllowedDomainsValidate.js +4 -7
- package/dist/sandbox/sandboxAllowedDomainsValidate.js.map +1 -1
- package/dist/sandbox/sandboxAllowedDomainsValidate.spec.js +7 -10
- package/dist/sandbox/sandboxAllowedDomainsValidate.spec.js.map +1 -1
- package/dist/sandbox/sandboxAppsAccessCheck.js +20 -2
- package/dist/sandbox/sandboxAppsAccessCheck.js.map +1 -1
- package/dist/sandbox/sandboxAppsDenyPathsBuild.d.ts +3 -2
- package/dist/sandbox/sandboxAppsDenyPathsBuild.d.ts.map +1 -1
- package/dist/sandbox/sandboxAppsDenyPathsBuild.js.map +1 -1
- package/dist/sandbox/sandboxCanRead.js +1 -1
- package/dist/sandbox/sandboxCanRead.js.map +1 -1
- package/dist/sandbox/sandboxCanRead.spec.js +8 -16
- package/dist/sandbox/sandboxCanRead.spec.js.map +1 -1
- package/dist/sandbox/sandboxCanWrite.js +1 -1
- package/dist/sandbox/sandboxCanWrite.js.map +1 -1
- package/dist/sandbox/sandboxCanWrite.spec.js +1 -4
- package/dist/sandbox/sandboxCanWrite.spec.js.map +1 -1
- package/dist/sandbox/sandboxFilesystemPolicyBuild.d.ts +2 -2
- package/dist/sandbox/sandboxFilesystemPolicyBuild.d.ts.map +1 -1
- package/dist/sandbox/sandboxFilesystemPolicyBuild.js +4 -2
- package/dist/sandbox/sandboxFilesystemPolicyBuild.js.map +1 -1
- package/dist/sandbox/sandboxFilesystemPolicyBuild.spec.js +9 -21
- package/dist/sandbox/sandboxFilesystemPolicyBuild.spec.js.map +1 -1
- package/dist/skills/scheduling/SKILL.md +3 -57
- package/dist/skills/skills/scheduling/SKILL.md +3 -57
- package/dist/storage/agentsRepository.spec.js +1 -5
- package/dist/storage/agentsRepository.spec.js.map +1 -1
- package/dist/storage/cronTasksRepository.d.ts.map +1 -1
- package/dist/storage/cronTasksRepository.js +4 -23
- package/dist/storage/cronTasksRepository.js.map +1 -1
- package/dist/storage/cronTasksRepository.spec.js +1 -9
- package/dist/storage/cronTasksRepository.spec.js.map +1 -1
- package/dist/storage/databaseTypes.d.ts +19 -5
- package/dist/storage/databaseTypes.d.ts.map +1 -1
- package/dist/storage/heartbeatTasksRepository.d.ts.map +1 -1
- package/dist/storage/heartbeatTasksRepository.js +4 -23
- package/dist/storage/heartbeatTasksRepository.js.map +1 -1
- package/dist/storage/heartbeatTasksRepository.spec.js +0 -5
- package/dist/storage/heartbeatTasksRepository.spec.js.map +1 -1
- package/dist/storage/historyRepository.d.ts +15 -1
- package/dist/storage/historyRepository.d.ts.map +1 -1
- package/dist/storage/historyRepository.js +26 -1
- package/dist/storage/historyRepository.js.map +1 -1
- package/dist/storage/historyRepository.spec.js +97 -23
- package/dist/storage/historyRepository.spec.js.map +1 -1
- package/dist/storage/inboxRepository.d.ts +15 -0
- package/dist/storage/inboxRepository.d.ts.map +1 -0
- package/dist/storage/inboxRepository.js +47 -0
- package/dist/storage/inboxRepository.js.map +1 -0
- package/dist/storage/inboxRepository.spec.d.ts +2 -0
- package/dist/storage/inboxRepository.spec.d.ts.map +1 -0
- package/dist/storage/inboxRepository.spec.js +42 -0
- package/dist/storage/inboxRepository.spec.js.map +1 -0
- package/dist/storage/migrations/20260219_import_files.js +1 -4
- package/dist/storage/migrations/20260219_import_files.js.map +1 -1
- package/dist/storage/migrations/20260220_add_tasks.d.ts.map +1 -1
- package/dist/storage/migrations/20260220_add_tasks.js +0 -2
- package/dist/storage/migrations/20260220_add_tasks.js.map +1 -1
- package/dist/storage/migrations/20260220_add_tasks.spec.js +0 -2
- package/dist/storage/migrations/20260220_add_tasks.spec.js.map +1 -1
- package/dist/storage/migrations/20260220_import_tasks.d.ts.map +1 -1
- package/dist/storage/migrations/20260220_import_tasks.js +5 -10
- package/dist/storage/migrations/20260220_import_tasks.js.map +1 -1
- package/dist/storage/migrations/20260220_import_tasks.spec.js +1 -4
- package/dist/storage/migrations/20260220_import_tasks.spec.js.map +1 -1
- package/dist/storage/migrations/20260221_add_inbox.d.ts +7 -0
- package/dist/storage/migrations/20260221_add_inbox.d.ts.map +1 -0
- package/dist/storage/migrations/20260221_add_inbox.js +22 -0
- package/dist/storage/migrations/20260221_add_inbox.js.map +1 -0
- package/dist/storage/migrations/20260221_add_inbox.spec.d.ts +2 -0
- package/dist/storage/migrations/20260221_add_inbox.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260221_add_inbox.spec.js +19 -0
- package/dist/storage/migrations/20260221_add_inbox.spec.js.map +1 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.d.ts +7 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.d.ts.map +1 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.js +20 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.js.map +1 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.spec.d.ts +2 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.spec.js +50 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.spec.js.map +1 -0
- package/dist/storage/migrations/20260223_add_heartbeat_users.spec.js +4 -6
- package/dist/storage/migrations/20260223_add_heartbeat_users.spec.js.map +1 -1
- package/dist/storage/migrations/20260224_add_memory_columns.d.ts +8 -0
- package/dist/storage/migrations/20260224_add_memory_columns.d.ts.map +1 -0
- package/dist/storage/migrations/20260224_add_memory_columns.js +24 -0
- package/dist/storage/migrations/20260224_add_memory_columns.js.map +1 -0
- package/dist/storage/migrations/20260224_add_memory_columns.spec.d.ts +2 -0
- package/dist/storage/migrations/20260224_add_memory_columns.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260224_add_memory_columns.spec.js +48 -0
- package/dist/storage/migrations/20260224_add_memory_columns.spec.js.map +1 -0
- package/dist/storage/migrations/_migrations.d.ts.map +1 -1
- package/dist/storage/migrations/_migrations.js +7 -1
- package/dist/storage/migrations/_migrations.js.map +1 -1
- package/dist/storage/processesRepository.js +4 -15
- package/dist/storage/processesRepository.js.map +1 -1
- package/dist/storage/processesRepository.spec.js +1 -4
- package/dist/storage/processesRepository.spec.js.map +1 -1
- package/dist/storage/sessionsRepository.d.ts +17 -0
- package/dist/storage/sessionsRepository.d.ts.map +1 -1
- package/dist/storage/sessionsRepository.js +46 -3
- package/dist/storage/sessionsRepository.js.map +1 -1
- package/dist/storage/sessionsRepository.spec.js +155 -24
- package/dist/storage/sessionsRepository.spec.js.map +1 -1
- package/dist/storage/storage.d.ts +2 -0
- package/dist/storage/storage.d.ts.map +1 -1
- package/dist/storage/storage.js +3 -0
- package/dist/storage/storage.js.map +1 -1
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/util/stringUtils.spec.d.ts +2 -0
- package/dist/util/stringUtils.spec.d.ts.map +1 -0
- package/dist/util/stringUtils.spec.js +53 -0
- package/dist/util/stringUtils.spec.js.map +1 -0
- package/dist/util/timeFormat.js +17 -17
- package/dist/util/timeFormat.js.map +1 -1
- package/dist/utils/stringTruncate.js +1 -1
- package/dist/utils/stringTruncate.js.map +1 -1
- package/package.json +2 -1
- package/dist/engine/agents/ops/agentDescriptorIsCron.d.ts +0 -9
- package/dist/engine/agents/ops/agentDescriptorIsCron.d.ts.map +0 -1
- package/dist/engine/agents/ops/agentDescriptorIsCron.js +0 -8
- package/dist/engine/agents/ops/agentDescriptorIsCron.js.map +0 -1
- package/dist/engine/apps/appPermissionStateGrant.d.ts +0 -7
- package/dist/engine/apps/appPermissionStateGrant.d.ts.map +0 -1
- package/dist/engine/apps/appPermissionStateGrant.js +0 -14
- package/dist/engine/apps/appPermissionStateGrant.js.map +0 -1
- package/dist/engine/apps/appPermissionStateGrant.spec.d.ts +0 -2
- package/dist/engine/apps/appPermissionStateGrant.spec.d.ts.map +0 -1
- package/dist/engine/apps/appPermissionStateGrant.spec.js +0 -33
- package/dist/engine/apps/appPermissionStateGrant.spec.js.map +0 -1
- package/dist/engine/apps/appPermissionStatePathBuild.d.ts +0 -6
- package/dist/engine/apps/appPermissionStatePathBuild.d.ts.map +0 -1
- package/dist/engine/apps/appPermissionStatePathBuild.js +0 -9
- package/dist/engine/apps/appPermissionStatePathBuild.js.map +0 -1
- package/dist/engine/apps/appPermissionStateRead.d.ts +0 -6
- package/dist/engine/apps/appPermissionStateRead.d.ts.map +0 -1
- package/dist/engine/apps/appPermissionStateRead.js +0 -40
- package/dist/engine/apps/appPermissionStateRead.js.map +0 -1
- package/dist/engine/apps/appPermissionStateWrite.d.ts +0 -6
- package/dist/engine/apps/appPermissionStateWrite.d.ts.map +0 -1
- package/dist/engine/apps/appPermissionStateWrite.js +0 -32
- package/dist/engine/apps/appPermissionStateWrite.js.map +0 -1
- package/dist/engine/modules/tools/permissionRequestRegistry.d.ts +0 -13
- package/dist/engine/modules/tools/permissionRequestRegistry.d.ts.map +0 -1
- package/dist/engine/modules/tools/permissionRequestRegistry.js +0 -51
- package/dist/engine/modules/tools/permissionRequestRegistry.js.map +0 -1
- package/dist/engine/modules/tools/permissionRequestRegistry.spec.d.ts +0 -2
- package/dist/engine/modules/tools/permissionRequestRegistry.spec.d.ts.map +0 -1
- package/dist/engine/modules/tools/permissionRequestRegistry.spec.js +0 -47
- package/dist/engine/modules/tools/permissionRequestRegistry.spec.js.map +0 -1
- package/dist/engine/modules/tools/permissions.d.ts +0 -28
- package/dist/engine/modules/tools/permissions.d.ts.map +0 -1
- package/dist/engine/modules/tools/permissions.js +0 -375
- package/dist/engine/modules/tools/permissions.js.map +0 -1
- package/dist/engine/modules/tools/permissions.spec.d.ts +0 -2
- package/dist/engine/modules/tools/permissions.spec.d.ts.map +0 -1
- package/dist/engine/modules/tools/permissions.spec.js +0 -366
- package/dist/engine/modules/tools/permissions.spec.js.map +0 -1
- package/dist/engine/permissions/pathResolveSecure.d.ts.map +0 -1
- package/dist/engine/permissions/pathResolveSecure.js.map +0 -1
- package/dist/engine/permissions/pathResolveSecure.spec.d.ts.map +0 -1
- package/dist/engine/permissions/pathResolveSecure.spec.js.map +0 -1
- package/dist/engine/permissions/pathSanitize.d.ts.map +0 -1
- package/dist/engine/permissions/pathSanitize.js.map +0 -1
- package/dist/engine/permissions/pathSanitize.spec.d.ts.map +0 -1
- package/dist/engine/permissions/pathSanitize.spec.js.map +0 -1
- package/dist/engine/permissions/permissionAccessAllows.d.ts +0 -7
- package/dist/engine/permissions/permissionAccessAllows.d.ts.map +0 -1
- package/dist/engine/permissions/permissionAccessAllows.js +0 -72
- package/dist/engine/permissions/permissionAccessAllows.js.map +0 -1
- package/dist/engine/permissions/permissionAccessAllows.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionAccessAllows.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionAccessAllows.spec.js +0 -111
- package/dist/engine/permissions/permissionAccessAllows.spec.js.map +0 -1
- package/dist/engine/permissions/permissionAccessApply.d.ts +0 -7
- package/dist/engine/permissions/permissionAccessApply.d.ts.map +0 -1
- package/dist/engine/permissions/permissionAccessApply.js +0 -55
- package/dist/engine/permissions/permissionAccessApply.js.map +0 -1
- package/dist/engine/permissions/permissionAccessApply.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionAccessApply.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionAccessApply.spec.js +0 -56
- package/dist/engine/permissions/permissionAccessApply.spec.js.map +0 -1
- package/dist/engine/permissions/permissionAccessParse.d.ts +0 -7
- package/dist/engine/permissions/permissionAccessParse.d.ts.map +0 -1
- package/dist/engine/permissions/permissionAccessParse.js +0 -32
- package/dist/engine/permissions/permissionAccessParse.js.map +0 -1
- package/dist/engine/permissions/permissionAccessParse.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionAccessParse.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionAccessParse.spec.js +0 -17
- package/dist/engine/permissions/permissionAccessParse.spec.js.map +0 -1
- package/dist/engine/permissions/permissionApply.d.ts +0 -4
- package/dist/engine/permissions/permissionApply.d.ts.map +0 -1
- package/dist/engine/permissions/permissionApply.js +0 -10
- package/dist/engine/permissions/permissionApply.js.map +0 -1
- package/dist/engine/permissions/permissionApply.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionApply.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionApply.spec.js +0 -104
- package/dist/engine/permissions/permissionApply.spec.js.map +0 -1
- package/dist/engine/permissions/permissionClone.d.ts +0 -7
- package/dist/engine/permissions/permissionClone.d.ts.map +0 -1
- package/dist/engine/permissions/permissionClone.js +0 -12
- package/dist/engine/permissions/permissionClone.js.map +0 -1
- package/dist/engine/permissions/permissionClone.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionClone.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionClone.spec.js +0 -18
- package/dist/engine/permissions/permissionClone.spec.js.map +0 -1
- package/dist/engine/permissions/permissionDescribeDecision.d.ts +0 -3
- package/dist/engine/permissions/permissionDescribeDecision.d.ts.map +0 -1
- package/dist/engine/permissions/permissionDescribeDecision.js +0 -16
- package/dist/engine/permissions/permissionDescribeDecision.js.map +0 -1
- package/dist/engine/permissions/permissionDescribeDecision.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionDescribeDecision.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionDescribeDecision.spec.js +0 -17
- package/dist/engine/permissions/permissionDescribeDecision.spec.js.map +0 -1
- package/dist/engine/permissions/permissionEnsureDefaultFile.d.ts +0 -3
- package/dist/engine/permissions/permissionEnsureDefaultFile.d.ts.map +0 -1
- package/dist/engine/permissions/permissionEnsureDefaultFile.js +0 -7
- package/dist/engine/permissions/permissionEnsureDefaultFile.js.map +0 -1
- package/dist/engine/permissions/permissionEnsureDefaultFile.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionEnsureDefaultFile.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionEnsureDefaultFile.spec.js +0 -20
- package/dist/engine/permissions/permissionEnsureDefaultFile.spec.js.map +0 -1
- package/dist/engine/permissions/permissionFormatTag.d.ts +0 -3
- package/dist/engine/permissions/permissionFormatTag.d.ts.map +0 -1
- package/dist/engine/permissions/permissionFormatTag.js +0 -13
- package/dist/engine/permissions/permissionFormatTag.js.map +0 -1
- package/dist/engine/permissions/permissionFormatTag.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionFormatTag.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionFormatTag.spec.js +0 -17
- package/dist/engine/permissions/permissionFormatTag.spec.js.map +0 -1
- package/dist/engine/permissions/permissionMergeDefault.d.ts +0 -3
- package/dist/engine/permissions/permissionMergeDefault.d.ts.map +0 -1
- package/dist/engine/permissions/permissionMergeDefault.js +0 -14
- package/dist/engine/permissions/permissionMergeDefault.js.map +0 -1
- package/dist/engine/permissions/permissionMergeDefault.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionMergeDefault.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionMergeDefault.spec.js +0 -72
- package/dist/engine/permissions/permissionMergeDefault.spec.js.map +0 -1
- package/dist/engine/permissions/permissionTagsApply.d.ts +0 -7
- package/dist/engine/permissions/permissionTagsApply.d.ts.map +0 -1
- package/dist/engine/permissions/permissionTagsApply.js +0 -16
- package/dist/engine/permissions/permissionTagsApply.js.map +0 -1
- package/dist/engine/permissions/permissionTagsApply.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionTagsApply.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionTagsApply.spec.js +0 -22
- package/dist/engine/permissions/permissionTagsApply.spec.js.map +0 -1
- package/dist/engine/permissions/permissionTagsNormalize.d.ts +0 -6
- package/dist/engine/permissions/permissionTagsNormalize.d.ts.map +0 -1
- package/dist/engine/permissions/permissionTagsNormalize.js +0 -43
- package/dist/engine/permissions/permissionTagsNormalize.js.map +0 -1
- package/dist/engine/permissions/permissionTagsNormalize.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionTagsNormalize.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionTagsNormalize.spec.js +0 -19
- package/dist/engine/permissions/permissionTagsNormalize.spec.js.map +0 -1
- package/dist/engine/permissions/permissionTagsValidate.d.ts +0 -9
- package/dist/engine/permissions/permissionTagsValidate.d.ts.map +0 -1
- package/dist/engine/permissions/permissionTagsValidate.js +0 -18
- package/dist/engine/permissions/permissionTagsValidate.js.map +0 -1
- package/dist/engine/permissions/permissionTagsValidate.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionTagsValidate.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionTagsValidate.spec.js +0 -96
- package/dist/engine/permissions/permissionTagsValidate.spec.js.map +0 -1
- package/dist/engine/permissions/permissionWorkspaceGranted.d.ts +0 -7
- package/dist/engine/permissions/permissionWorkspaceGranted.d.ts.map +0 -1
- package/dist/engine/permissions/permissionWorkspaceGranted.js +0 -12
- package/dist/engine/permissions/permissionWorkspaceGranted.js.map +0 -1
- package/dist/engine/permissions/permissionWorkspaceGranted.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionWorkspaceGranted.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionWorkspaceGranted.spec.js +0 -35
- package/dist/engine/permissions/permissionWorkspaceGranted.spec.js.map +0 -1
- package/dist/engine/permissions/permissionWorkspacePathResolve.d.ts +0 -7
- package/dist/engine/permissions/permissionWorkspacePathResolve.d.ts.map +0 -1
- package/dist/engine/permissions/permissionWorkspacePathResolve.js +0 -42
- package/dist/engine/permissions/permissionWorkspacePathResolve.js.map +0 -1
- package/dist/engine/permissions/permissionWorkspacePathResolve.spec.d.ts +0 -2
- package/dist/engine/permissions/permissionWorkspacePathResolve.spec.d.ts.map +0 -1
- package/dist/engine/permissions/permissionWorkspacePathResolve.spec.js +0 -36
- package/dist/engine/permissions/permissionWorkspacePathResolve.spec.js.map +0 -1
- package/dist/engine/scheduling/execGateCheck.d.ts +0 -20
- package/dist/engine/scheduling/execGateCheck.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateCheck.js +0 -137
- package/dist/engine/scheduling/execGateCheck.js.map +0 -1
- package/dist/engine/scheduling/execGateNormalize.d.ts +0 -7
- package/dist/engine/scheduling/execGateNormalize.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateNormalize.js +0 -74
- package/dist/engine/scheduling/execGateNormalize.js.map +0 -1
- package/dist/engine/scheduling/execGateNormalize.spec.d.ts +0 -2
- package/dist/engine/scheduling/execGateNormalize.spec.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateNormalize.spec.js +0 -31
- package/dist/engine/scheduling/execGateNormalize.spec.js.map +0 -1
- package/dist/engine/scheduling/execGateOutputAppend.d.ts +0 -7
- package/dist/engine/scheduling/execGateOutputAppend.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateOutputAppend.js +0 -21
- package/dist/engine/scheduling/execGateOutputAppend.js.map +0 -1
- package/dist/engine/scheduling/execGateOutputAppend.spec.d.ts +0 -2
- package/dist/engine/scheduling/execGateOutputAppend.spec.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateOutputAppend.spec.js +0 -24
- package/dist/engine/scheduling/execGateOutputAppend.spec.js.map +0 -1
- package/dist/engine/scheduling/execGateTypes.d.ts +0 -15
- package/dist/engine/scheduling/execGateTypes.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateTypes.js +0 -2
- package/dist/engine/scheduling/execGateTypes.js.map +0 -1
- package/dist/engine/scheduling/gatePermissionRequest.d.ts +0 -21
- package/dist/engine/scheduling/gatePermissionRequest.d.ts.map +0 -1
- package/dist/engine/scheduling/gatePermissionRequest.js +0 -98
- package/dist/engine/scheduling/gatePermissionRequest.js.map +0 -1
- package/dist/engine/scheduling/gatePermissionRequest.spec.d.ts +0 -2
- package/dist/engine/scheduling/gatePermissionRequest.spec.d.ts.map +0 -1
- package/dist/engine/scheduling/gatePermissionRequest.spec.js +0 -126
- package/dist/engine/scheduling/gatePermissionRequest.spec.js.map +0 -1
- package/dist/engine/scheduling/gatePermissionsCheck.d.ts +0 -11
- package/dist/engine/scheduling/gatePermissionsCheck.d.ts.map +0 -1
- package/dist/engine/scheduling/gatePermissionsCheck.js +0 -58
- package/dist/engine/scheduling/gatePermissionsCheck.js.map +0 -1
- package/dist/engine/scheduling/gatePermissionsCheck.spec.d.ts +0 -2
- package/dist/engine/scheduling/gatePermissionsCheck.spec.d.ts.map +0 -1
- package/dist/engine/scheduling/gatePermissionsCheck.spec.js +0 -67
- package/dist/engine/scheduling/gatePermissionsCheck.spec.js.map +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/page-9df2c7b543034651.js +0 -1
- package/dist/prompts/CRON.md +0 -8
- /package/dist/plugins/dashboard/site/_next/static/{Qpa35HgGjxQYB6MqQG8XF → dkIRezLpmA4xSr6Bj5DQ6}/_buildManifest.js +0 -0
- /package/dist/plugins/dashboard/site/_next/static/{Qpa35HgGjxQYB6MqQG8XF → dkIRezLpmA4xSr6Bj5DQ6}/_ssgManifest.js +0 -0
- /package/dist/{engine/permissions → sandbox}/pathResolveSecure.d.ts +0 -0
- /package/dist/{engine/permissions → sandbox}/pathResolveSecure.js +0 -0
- /package/dist/{engine/permissions → sandbox}/pathResolveSecure.spec.d.ts +0 -0
- /package/dist/{engine/permissions → sandbox}/pathResolveSecure.spec.js +0 -0
- /package/dist/{engine/permissions → sandbox}/pathSanitize.d.ts +0 -0
- /package/dist/{engine/permissions → sandbox}/pathSanitize.js +0 -0
- /package/dist/{engine/permissions → sandbox}/pathSanitize.spec.d.ts +0 -0
|
@@ -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 +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 +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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"}
|
package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/page-9df2c7b543034651.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[371],{67969:function(e,t,a){Promise.resolve().then(a.bind(a,87268))},87268:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return k}});var s=a(27573),n=a(7653),r=a(86742),l=a(2470),i=a(50027),c=a(50326);let o=(0,c.Z)("HeartPulse",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]),d=(0,c.Z)("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);var u=a(20942);let m=(0,c.Z)("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);var x=a(94883),f=a(87164),h=a(74997);let g=(0,c.Z)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var p=a(75351),v=a(48157),j=a(82041),b=a(16273),N=a(26798),y=a(8807),w=a(90497);function k(){let[e,t]=(0,n.useState)([]),[a,c]=(0,n.useState)([]),[u,m]=(0,n.useState)(!1),[x,f]=(0,n.useState)(null),[h,g]=(0,n.useState)(null),p=(0,n.useCallback)(async()=>{m(!0),f(null);try{let[e,a]=await Promise.all([(0,w.fP)(),(0,w.sZ)()]);t(e),c(a),g(new Date)}catch(e){f(e instanceof Error?e.message:"Failed to load automations")}finally{m(!1)}},[]);(0,n.useEffect)(()=>{p()},[p]);let j=(0,n.useMemo)(()=>e.filter(e=>!e.deleteAfterRun).length,[e]),N=(0,n.useMemo)(()=>e.filter(e=>e.deleteAfterRun).length,[e]),k=(0,n.useMemo)(()=>e.filter(e=>e.gate).length+a.filter(e=>e.gate).length,[e,a]),M=e.length+a.length;return(0,s.jsx)(v.r,{title:"Automations",subtitle:"Cron schedules, heartbeat tasks, prompts, and execution details.",toolbar:(0,s.jsxs)(b.z,{onClick:()=>void p(),disabled:u,className:"gap-2",children:[(0,s.jsx)(r.Z,{className:u?"h-4 w-4 animate-spin":"h-4 w-4"}),"Refresh"]}),status:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:h?"Last synced ".concat(h.toLocaleTimeString()):"Awaiting first sync"}),x?(0,s.jsx)("span",{className:"rounded-full border border-destructive/40 bg-destructive/10 px-2.5 py-1 text-destructive",children:x}):(0,s.jsxs)("span",{children:[M," tasks registered"]})]}),children:(0,s.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-4 py-6 lg:px-6",children:[(0,s.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,s.jsx)(Z,{label:"Total tasks",value:M,detail:"Automations registered",icon:(0,s.jsx)(l.Z,{className:"h-5 w-5"}),tone:"primary"}),(0,s.jsx)(Z,{label:"Cron",value:e.length,detail:"".concat(j," recurring / ").concat(N," one-off"),icon:(0,s.jsx)(i.Z,{className:"h-5 w-5"}),tone:"amber"}),(0,s.jsx)(Z,{label:"Heartbeat",value:a.length,detail:"Batch interval tasks",icon:(0,s.jsx)(o,{className:"h-5 w-5"}),tone:"rose"}),(0,s.jsx)(Z,{label:"Gated",value:k,detail:"Tasks with gate conditions",icon:(0,s.jsx)(d,{className:"h-5 w-5"}),tone:"emerald"})]}),(0,s.jsxs)(y.mQ,{defaultValue:"cron",className:"flex flex-col gap-4",children:[(0,s.jsxs)(y.dr,{className:"self-start",children:[(0,s.jsxs)(y.SP,{value:"cron",className:"gap-2",children:[(0,s.jsx)(i.Z,{className:"h-3.5 w-3.5"}),"Cron tasks (",e.length,")"]}),(0,s.jsxs)(y.SP,{value:"heartbeat",className:"gap-2",children:[(0,s.jsx)(o,{className:"h-3.5 w-3.5"}),"Heartbeat tasks (",a.length,")"]})]}),(0,s.jsx)(y.nU,{value:"cron",className:"mt-0",children:e.length?(0,s.jsx)("div",{className:"grid gap-4",children:e.map((e,t)=>{var a;return(0,s.jsx)(C,{task:e},null!==(a=e.id)&&void 0!==a?a:"cron-".concat(t))})}):(0,s.jsx)(T,{icon:(0,s.jsx)(i.Z,{className:"h-8 w-8"}),label:"No cron tasks scheduled"})}),(0,s.jsx)(y.nU,{value:"heartbeat",className:"mt-0",children:a.length?(0,s.jsx)("div",{className:"grid gap-4",children:a.map(e=>(0,s.jsx)(R,{task:e},e.id))}):(0,s.jsx)(T,{icon:(0,s.jsx)(o,{className:"h-8 w-8"}),label:"No heartbeat tasks found"})})]})]})})}let M={primary:{bg:"bg-primary/10",text:"text-primary",gradient:"from-primary/10 via-card to-card"},amber:{bg:"bg-amber-500/10",text:"text-amber-600 dark:text-amber-400",gradient:"from-amber-500/10 via-card to-card"},rose:{bg:"bg-rose-500/10",text:"text-rose-600 dark:text-rose-400",gradient:"from-rose-500/10 via-card to-card"},emerald:{bg:"bg-emerald-500/10",text:"text-emerald-600 dark:text-emerald-400",gradient:"from-emerald-500/10 via-card to-card"}};function Z(e){let{label:t,value:a,detail:n,icon:r,tone:l}=e,i=M[l];return(0,s.jsxs)(N.Zb,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br ".concat(i.gradient)}),(0,s.jsxs)(N.Ol,{className:"relative flex flex-row items-center justify-between pb-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(N.SZ,{className:"text-xs",children:t}),(0,s.jsx)(N.ll,{className:"text-3xl font-semibold tabular-nums",children:a})]}),(0,s.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full ".concat(i.bg," ").concat(i.text),children:r})]}),(0,s.jsx)(N.aY,{className:"relative text-xs text-muted-foreground",children:n})]})}function C(e){var t,a,r,l;let{task:c}=e,[o,v]=(0,n.useState)(!1),b=!1===c.enabled;return(0,s.jsxs)(N.Zb,{className:"transition-shadow hover:shadow-md ".concat(b?"opacity-60":""),children:[(0,s.jsx)(N.Ol,{className:"cursor-pointer select-none",onClick:()=>v(e=>!e),children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 min-w-0",children:[(0,s.jsx)("div",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-amber-500/10 text-amber-600 dark:text-amber-400",children:(0,s.jsx)(i.Z,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(N.ll,{className:"text-base truncate",children:null!==(a=null!==(t=c.name)&&void 0!==t?t:c.id)&&void 0!==a?a:"Unnamed task"}),b&&(0,s.jsx)(j.C,{variant:"secondary",className:"text-[10px] uppercase",children:"disabled"})]}),c.description&&(0,s.jsx)(N.SZ,{className:"mt-0.5 line-clamp-2",children:c.description}),(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-xs text-muted-foreground",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5 font-mono",children:[(0,s.jsx)(u.Z,{className:"h-3 w-3"}),null!==(r=c.schedule)&&void 0!==r?r:"custom"]}),(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(m,{className:"h-3 w-3"}),c.deleteAfterRun?"Run once":"Recurring"]}),c.lastRunAt&&(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(x.Z,{className:"h-3 w-3"}),"Last run ",D(c.lastRunAt)]}),c.gate&&(0,s.jsxs)(j.C,{variant:"outline",className:"gap-1 text-[10px]",children:[(0,s.jsx)(d,{className:"h-2.5 w-2.5"})," Gated"]})]})]})]}),(0,s.jsx)("button",{className:"mt-1 shrink-0 rounded p-1 text-muted-foreground hover:bg-muted",children:o?(0,s.jsx)(f.Z,{className:"h-4 w-4"}):(0,s.jsx)(h.Z,{className:"h-4 w-4"})})]})}),o&&(0,s.jsxs)(N.aY,{className:"border-t pt-4 space-y-4",children:[c.prompt&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,s.jsx)(g,{className:"h-3.5 w-3.5"}),"Prompt"]}),(0,s.jsx)("pre",{className:"max-h-72 overflow-auto rounded-lg border bg-muted/50 p-4 text-xs leading-relaxed text-foreground whitespace-pre-wrap break-words font-mono",children:c.prompt})]}),(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:[(0,s.jsx)(A,{label:"Task ID",value:c.id,mono:!0}),(0,s.jsx)(A,{label:"Schedule",value:null!==(l=c.schedule)&&void 0!==l?l:"custom",mono:!0}),(0,s.jsx)(A,{label:"Mode",value:c.deleteAfterRun?"One-off (delete after run)":"Recurring"}),c.agentId&&(0,s.jsx)(A,{label:"Target agent",value:c.agentId,mono:!0}),c.lastRunAt&&(0,s.jsx)(A,{label:"Last run",value:V(c.lastRunAt)}),!1===c.enabled&&(0,s.jsx)(A,{label:"Enabled",value:"No"})]}),c.gate&&(0,s.jsx)(P,{gate:c.gate}),(c.taskPath||c.memoryPath||c.filesPath)&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,s.jsx)(p.Z,{className:"h-3.5 w-3.5"}),"File paths"]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[c.taskPath&&(0,s.jsx)(S,{label:"Task",value:c.taskPath}),c.memoryPath&&(0,s.jsx)(S,{label:"Memory",value:c.memoryPath}),c.filesPath&&(0,s.jsx)(S,{label:"Files",value:c.filesPath})]})]})]})]})}function R(e){let{task:t}=e,[a,r]=(0,n.useState)(!1);return(0,s.jsxs)(N.Zb,{className:"transition-shadow hover:shadow-md",children:[(0,s.jsx)(N.Ol,{className:"cursor-pointer select-none",onClick:()=>r(e=>!e),children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 min-w-0",children:[(0,s.jsx)("div",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-rose-500/10 text-rose-600 dark:text-rose-400",children:(0,s.jsx)(o,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)(N.ll,{className:"text-base truncate",children:t.title}),(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"font-mono",children:t.id}),t.lastRunAt?(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(x.Z,{className:"h-3 w-3"}),"Last run ",D(t.lastRunAt)]}):(0,s.jsx)("span",{className:"italic",children:"Never run"}),t.gate?(0,s.jsxs)(j.C,{variant:"outline",className:"gap-1 text-[10px]",children:[(0,s.jsx)(d,{className:"h-2.5 w-2.5"})," Gated"]}):(0,s.jsx)(j.C,{variant:"outline",className:"text-[10px]",children:"Always"})]})]})]}),(0,s.jsx)("button",{className:"mt-1 shrink-0 rounded p-1 text-muted-foreground hover:bg-muted",children:a?(0,s.jsx)(f.Z,{className:"h-4 w-4"}):(0,s.jsx)(h.Z,{className:"h-4 w-4"})})]})}),a&&(0,s.jsxs)(N.aY,{className:"border-t pt-4 space-y-4",children:[t.prompt&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,s.jsx)(g,{className:"h-3.5 w-3.5"}),"Prompt"]}),(0,s.jsx)("pre",{className:"max-h-72 overflow-auto rounded-lg border bg-muted/50 p-4 text-xs leading-relaxed text-foreground whitespace-pre-wrap break-words font-mono",children:t.prompt})]}),(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:[(0,s.jsx)(A,{label:"Task ID",value:t.id,mono:!0}),t.lastRunAt&&(0,s.jsx)(A,{label:"Last run",value:V(t.lastRunAt)}),t.filePath&&(0,s.jsx)(A,{label:"File",value:t.filePath,mono:!0})]}),t.gate&&(0,s.jsx)(P,{gate:t.gate})]})]})}function P(e){let{gate:t}=e;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,s.jsx)(d,{className:"h-3.5 w-3.5"}),"Gate condition"]}),(0,s.jsxs)("div",{className:"rounded-lg border bg-muted/30 p-3 space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Command:"}),(0,s.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 font-mono text-foreground",children:t.command})]}),t.cwd&&(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Working directory:"}),(0,s.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 font-mono text-foreground",children:t.cwd})]}),t.timeoutMs&&(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Timeout:"}),(0,s.jsxs)("span",{children:[t.timeoutMs,"ms"]})]}),t.permissions&&t.permissions.length>0&&(0,s.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Permissions:"}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:t.permissions.map(e=>(0,s.jsx)(j.C,{variant:"outline",className:"text-[10px] font-mono",children:e},e))})]})]})]})}function A(e){let{label:t,value:a,mono:n}=e;return(0,s.jsxs)("div",{className:"rounded-lg border bg-background/60 px-3 py-2.5",children:[(0,s.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-wider text-muted-foreground",children:t}),(0,s.jsx)("div",{className:"mt-0.5 text-sm text-foreground truncate ".concat(n?"font-mono":""),children:a})]})}function S(e){let{label:t,value:a}=e;return(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsxs)("span",{className:"w-16 shrink-0 text-muted-foreground",children:[t,":"]}),(0,s.jsx)("code",{className:"truncate rounded bg-muted px-2 py-0.5 font-mono text-foreground",children:a})]})}function T(e){let{icon:t,label:a}=e;return(0,s.jsx)(N.Zb,{children:(0,s.jsxs)(N.aY,{className:"flex flex-col items-center justify-center gap-3 py-16 text-muted-foreground",children:[(0,s.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-full bg-muted/50",children:t}),(0,s.jsx)("span",{className:"text-sm",children:a})]})})}function V(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function D(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let a=Math.floor((Date.now()-t.getTime())/6e4);if(a<1)return"just now";if(a<60)return"".concat(a,"m ago");let s=Math.floor(a/60);return s<24?"".concat(s,"h ago"):"".concat(Math.floor(s/24),"d ago")}},82041:function(e,t,a){"use strict";a.d(t,{C:function(){return i}});var s=a(27573);a(7653);var n=a(49289),r=a(19369);let l=(0,n.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:t,variant:a,...n}=e;return(0,s.jsx)("div",{className:(0,r.cn)(l({variant:a}),t),...n})}},8807:function(e,t,a){"use strict";a.d(t,{mQ:function(){return P},nU:function(){return T},dr:function(){return A},SP:function(){return S}});var s=a(27573),n=a(7653),r=a(46196),l=a(99933),i=a(48684),c=a(65622),o=a(78378),d=a(21004),u=a(47178),m=a(17321),x="Tabs",[f,h]=(0,l.b)(x,[i.Pc]),g=(0,i.Pc)(),[p,v]=f(x),j=n.forwardRef((e,t)=>{let{__scopeTabs:a,value:n,onValueChange:r,defaultValue:l,orientation:i="horizontal",dir:c,activationMode:f="automatic",...h}=e,g=(0,d.gm)(c),[v,j]=(0,u.T)({prop:n,onChange:r,defaultProp:null!=l?l:"",caller:x});return(0,s.jsx)(p,{scope:a,baseId:(0,m.M)(),value:v,onValueChange:j,orientation:i,dir:g,activationMode:f,children:(0,s.jsx)(o.WV.div,{dir:g,"data-orientation":i,...h,ref:t})})});j.displayName=x;var b="TabsList",N=n.forwardRef((e,t)=>{let{__scopeTabs:a,loop:n=!0,...r}=e,l=v(b,a),c=g(a);return(0,s.jsx)(i.fC,{asChild:!0,...c,orientation:l.orientation,dir:l.dir,loop:n,children:(0,s.jsx)(o.WV.div,{role:"tablist","aria-orientation":l.orientation,...r,ref:t})})});N.displayName=b;var y="TabsTrigger",w=n.forwardRef((e,t)=>{let{__scopeTabs:a,value:n,disabled:l=!1,...c}=e,d=v(y,a),u=g(a),m=Z(d.baseId,n),x=C(d.baseId,n),f=n===d.value;return(0,s.jsx)(i.ck,{asChild:!0,...u,focusable:!l,active:f,children:(0,s.jsx)(o.WV.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":x,"data-state":f?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:m,...c,ref:t,onMouseDown:(0,r.Mj)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(n)}),onKeyDown:(0,r.Mj)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(n)}),onFocus:(0,r.Mj)(e.onFocus,()=>{let e="manual"!==d.activationMode;f||l||!e||d.onValueChange(n)})})})});w.displayName=y;var k="TabsContent",M=n.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,forceMount:l,children:i,...d}=e,u=v(k,a),m=Z(u.baseId,r),x=C(u.baseId,r),f=r===u.value,h=n.useRef(f);return n.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,s.jsx)(c.z,{present:l||f,children:a=>{let{present:n}=a;return(0,s.jsx)(o.WV.div,{"data-state":f?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!n,id:x,tabIndex:0,...d,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:n&&i})}})});function Z(e,t){return"".concat(e,"-trigger-").concat(t)}function C(e,t){return"".concat(e,"-content-").concat(t)}M.displayName=k;var R=a(19369);let P=j,A=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(N,{ref:t,className:(0,R.cn)("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...n})});A.displayName=N.displayName;let S=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(w,{ref:t,className:(0,R.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",a),...n})});S.displayName=w.displayName;let T=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(M,{ref:t,className:(0,R.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...n})});T.displayName=M.displayName},90497:function(e,t,a){"use strict";async function s(e){let t=await fetch(e);if(!t.ok)throw Error("Request failed: ".concat(t.status));return await t.json()}async function n(){var e;return null!==(e=(await s("/api/v1/engine/status")).status)&&void 0!==e?e:{}}async function r(){var e;return null!==(e=(await s("/api/v1/engine/cron/tasks")).tasks)&&void 0!==e?e:[]}async function l(){var e;return null!==(e=(await s("/api/v1/engine/heartbeat/tasks")).tasks)&&void 0!==e?e:[]}async function i(){var e;return null!==(e=(await s("/api/v1/engine/processes")).processes)&&void 0!==e?e:[]}async function c(e){let t=await fetch("/api/v1/engine/signals/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await t.json();if(!t.ok||!a.ok){var s;throw Error(null!==(s=a.error)&&void 0!==s?s:"Request failed: ".concat(t.status))}return a.signal}async function o(){var e;return null!==(e=(await s("/api/v1/engine/signals/subscriptions")).subscriptions)&&void 0!==e?e:[]}async function d(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,a=new URLSearchParams({limit:String(t)});return null!==(e=(await s("/api/v1/engine/signals/events?".concat(a))).events)&&void 0!==e?e:[]}async function u(){var e;return null!==(e=(await s("/api/v1/engine/agents/background")).agents)&&void 0!==e?e:[]}async function m(){var e;return null!==(e=(await s("/api/v1/engine/agents")).agents)&&void 0!==e?e:[]}async function x(e){var t;let a=encodeURIComponent(e);return null!==(t=(await s("/api/v1/engine/agents/".concat(a,"/history"))).records)&&void 0!==t?t:[]}a.d(t,{Ip:function(){return d},Sj:function(){return m},Sk:function(){return o},ab:function(){return x},fP:function(){return r},jg:function(){return n},oI:function(){return u},sB:function(){return c},sZ:function(){return l},x3:function(){return i}})},2470:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(50326).Z)("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]])},20942:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(50326).Z)("Cable",[["path",{d:"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1",key:"10bnsj"}],["path",{d:"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9",key:"1eqmu1"}],["path",{d:"M21 21v-2h-4",key:"14zm7j"}],["path",{d:"M3 5h4V3",key:"z442eg"}],["path",{d:"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3",key:"ebdjd7"}]])},87164:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(50326).Z)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},94883:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(50326).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])}},function(e){e.O(0,[315,668,293,528,744],function(){return e(e.s=67969)}),_N_E=e.O()}]);
|
package/dist/prompts/CRON.md
DELETED
|
@@ -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.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|