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,111 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from "node:fs";
|
|
2
|
-
import os from "node:os";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
-
import { permissionAccessAllows } from "./permissionAccessAllows.js";
|
|
6
|
-
describe("permissionAccessAllows", () => {
|
|
7
|
-
const tempDirs = [];
|
|
8
|
-
afterEach(async () => {
|
|
9
|
-
await Promise.all(tempDirs.map((dir) => fs.rm(dir, { recursive: true, force: true })));
|
|
10
|
-
tempDirs.length = 0;
|
|
11
|
-
});
|
|
12
|
-
it("allows network access when enabled", async () => {
|
|
13
|
-
const allowed = await permissionAccessAllows({ workingDir: "/tmp", writeDirs: [], readDirs: [], network: true, events: false }, { kind: "network" });
|
|
14
|
-
expect(allowed).toBe(true);
|
|
15
|
-
});
|
|
16
|
-
it("allows events access when enabled", async () => {
|
|
17
|
-
const allowed = await permissionAccessAllows({ workingDir: "/tmp", writeDirs: [], readDirs: [], network: false, events: true }, { kind: "events" });
|
|
18
|
-
expect(allowed).toBe(true);
|
|
19
|
-
});
|
|
20
|
-
it("allows workspace access when workspace dir is writable", async () => {
|
|
21
|
-
const workspace = await fs.mkdtemp(path.join(os.tmpdir(), "perm-workspace-access-"));
|
|
22
|
-
tempDirs.push(workspace);
|
|
23
|
-
const allowed = await permissionAccessAllows({
|
|
24
|
-
workspaceDir: workspace,
|
|
25
|
-
workingDir: workspace,
|
|
26
|
-
writeDirs: [workspace],
|
|
27
|
-
readDirs: [workspace],
|
|
28
|
-
network: false,
|
|
29
|
-
events: false
|
|
30
|
-
}, { kind: "workspace" });
|
|
31
|
-
expect(allowed).toBe(true);
|
|
32
|
-
});
|
|
33
|
-
it("denies workspace access for app sandbox by default", async () => {
|
|
34
|
-
const workspace = await fs.mkdtemp(path.join(os.tmpdir(), "perm-workspace-app-"));
|
|
35
|
-
tempDirs.push(workspace);
|
|
36
|
-
const appDataDir = path.join(workspace, "apps", "my-app", "data");
|
|
37
|
-
await fs.mkdir(appDataDir, { recursive: true });
|
|
38
|
-
const allowed = await permissionAccessAllows({
|
|
39
|
-
workspaceDir: workspace,
|
|
40
|
-
workingDir: appDataDir,
|
|
41
|
-
writeDirs: [appDataDir],
|
|
42
|
-
readDirs: [workspace],
|
|
43
|
-
network: false,
|
|
44
|
-
events: false
|
|
45
|
-
}, { kind: "workspace" });
|
|
46
|
-
expect(allowed).toBe(false);
|
|
47
|
-
});
|
|
48
|
-
it("allows read access within allowed directories", async () => {
|
|
49
|
-
const dir = await fs.mkdtemp(path.join(os.tmpdir(), "perm-allow-"));
|
|
50
|
-
tempDirs.push(dir);
|
|
51
|
-
const target = path.join(dir, "file.txt");
|
|
52
|
-
await fs.writeFile(target, "ok", "utf8");
|
|
53
|
-
const allowed = await permissionAccessAllows({ workingDir: dir, writeDirs: [], readDirs: [dir], network: false, events: false }, { kind: "read", path: target });
|
|
54
|
-
expect(allowed).toBe(true);
|
|
55
|
-
});
|
|
56
|
-
it("treats empty readDirs as unrestricted read access", async () => {
|
|
57
|
-
const workspaceDir = await fs.mkdtemp(path.join(os.tmpdir(), "perm-workspace-"));
|
|
58
|
-
const outsideDir = await fs.mkdtemp(path.join(os.tmpdir(), "perm-outside-"));
|
|
59
|
-
tempDirs.push(workspaceDir, outsideDir);
|
|
60
|
-
const outsideFile = path.join(outsideDir, "outside.txt");
|
|
61
|
-
await fs.writeFile(outsideFile, "ok", "utf8");
|
|
62
|
-
const allowed = await permissionAccessAllows({ workingDir: workspaceDir, writeDirs: [], readDirs: [], network: false, events: false }, { kind: "read", path: outsideFile });
|
|
63
|
-
expect(allowed).toBe(true);
|
|
64
|
-
});
|
|
65
|
-
it("denies write access outside allowed directories", async () => {
|
|
66
|
-
const dir = await fs.mkdtemp(path.join(os.tmpdir(), "perm-deny-"));
|
|
67
|
-
tempDirs.push(dir);
|
|
68
|
-
const target = path.join(dir, "elsewhere", "file.txt");
|
|
69
|
-
const allowed = await permissionAccessAllows({ workingDir: "/tmp", writeDirs: ["/tmp"], readDirs: [], network: false, events: false }, { kind: "write", path: target });
|
|
70
|
-
expect(allowed).toBe(false);
|
|
71
|
-
});
|
|
72
|
-
it("does not imply write access from workingDir", async () => {
|
|
73
|
-
const dir = await fs.mkdtemp(path.join(os.tmpdir(), "perm-working-dir-"));
|
|
74
|
-
tempDirs.push(dir);
|
|
75
|
-
const target = path.join(dir, "file.txt");
|
|
76
|
-
const allowed = await permissionAccessAllows({ workingDir: dir, writeDirs: [], readDirs: [], network: false, events: false }, { kind: "write", path: target });
|
|
77
|
-
expect(allowed).toBe(false);
|
|
78
|
-
});
|
|
79
|
-
it("allows write access when path is explicitly in writeDirs", async () => {
|
|
80
|
-
const dir = await fs.mkdtemp(path.join(os.tmpdir(), "perm-write-dir-"));
|
|
81
|
-
tempDirs.push(dir);
|
|
82
|
-
const target = path.join(dir, "file.txt");
|
|
83
|
-
const allowed = await permissionAccessAllows({ workingDir: "/tmp", writeDirs: [dir], readDirs: [], network: false, events: false }, { kind: "write", path: target });
|
|
84
|
-
expect(allowed).toBe(true);
|
|
85
|
-
});
|
|
86
|
-
it("denies writing app policy files from broad directory grants", async () => {
|
|
87
|
-
const workspace = await fs.mkdtemp(path.join(os.tmpdir(), "perm-app-policy-"));
|
|
88
|
-
tempDirs.push(workspace);
|
|
89
|
-
const appDir = path.join(workspace, "apps", "my-app");
|
|
90
|
-
await fs.mkdir(appDir, { recursive: true });
|
|
91
|
-
const target = path.join(appDir, "PERMISSIONS.md");
|
|
92
|
-
const allowed = await permissionAccessAllows({ workingDir: workspace, writeDirs: [workspace], readDirs: [], network: false, events: false }, { kind: "write", path: target });
|
|
93
|
-
expect(allowed).toBe(false);
|
|
94
|
-
});
|
|
95
|
-
it("allows writing app policy files only with explicit file grant", async () => {
|
|
96
|
-
const workspace = await fs.mkdtemp(path.join(os.tmpdir(), "perm-app-policy-explicit-"));
|
|
97
|
-
tempDirs.push(workspace);
|
|
98
|
-
const appDir = path.join(workspace, "apps", "my-app");
|
|
99
|
-
await fs.mkdir(appDir, { recursive: true });
|
|
100
|
-
const target = path.join(appDir, "APP.md");
|
|
101
|
-
const allowed = await permissionAccessAllows({
|
|
102
|
-
workingDir: workspace,
|
|
103
|
-
writeDirs: [workspace, target],
|
|
104
|
-
readDirs: [],
|
|
105
|
-
network: false,
|
|
106
|
-
events: false
|
|
107
|
-
}, { kind: "write", path: target });
|
|
108
|
-
expect(allowed).toBe(true);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
//# sourceMappingURL=permissionAccessAllows.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessAllows.spec.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessAllows.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { PermissionAccess, SessionPermissions } from "@/types";
|
|
2
|
-
/**
|
|
3
|
-
* Applies a permission access to a permissions object in place.
|
|
4
|
-
* Returns true when applied; false when invalid or unsupported.
|
|
5
|
-
*/
|
|
6
|
-
export declare function permissionAccessApply(permissions: SessionPermissions, access: PermissionAccess): boolean;
|
|
7
|
-
//# sourceMappingURL=permissionAccessApply.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessApply.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessApply.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIpE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAoDxG"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { pathSanitizeAndResolve } from "./pathSanitize.js";
|
|
3
|
-
import { permissionWorkspacePathResolve } from "./permissionWorkspacePathResolve.js";
|
|
4
|
-
/**
|
|
5
|
-
* Applies a permission access to a permissions object in place.
|
|
6
|
-
* Returns true when applied; false when invalid or unsupported.
|
|
7
|
-
*/
|
|
8
|
-
export function permissionAccessApply(permissions, access) {
|
|
9
|
-
if (access.kind === "network") {
|
|
10
|
-
permissions.network = true;
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
if (access.kind === "events") {
|
|
14
|
-
permissions.events = true;
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
if (access.kind === "workspace") {
|
|
18
|
-
const resolvedWorkspace = permissionWorkspacePathResolve(permissions);
|
|
19
|
-
const writeDirs = new Set(permissions.writeDirs);
|
|
20
|
-
writeDirs.add(resolvedWorkspace);
|
|
21
|
-
permissions.writeDirs = Array.from(writeDirs.values());
|
|
22
|
-
const readDirs = new Set(permissions.readDirs);
|
|
23
|
-
readDirs.add(resolvedWorkspace);
|
|
24
|
-
permissions.readDirs = Array.from(readDirs.values());
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
if (!path.isAbsolute(access.path)) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
let resolved;
|
|
31
|
-
try {
|
|
32
|
-
resolved = pathSanitizeAndResolve(access.path);
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
if (access.kind === "write") {
|
|
38
|
-
const writeDirs = new Set(permissions.writeDirs);
|
|
39
|
-
writeDirs.add(resolved);
|
|
40
|
-
permissions.writeDirs = Array.from(writeDirs.values());
|
|
41
|
-
// Write access requires read access to the same path.
|
|
42
|
-
const readDirs = new Set(permissions.readDirs);
|
|
43
|
-
readDirs.add(resolved);
|
|
44
|
-
permissions.readDirs = Array.from(readDirs.values());
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
if (access.kind === "read") {
|
|
48
|
-
const next = new Set(permissions.readDirs);
|
|
49
|
-
next.add(resolved);
|
|
50
|
-
permissions.readDirs = Array.from(next.values());
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=permissionAccessApply.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessApply.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessApply.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAA+B,EAAE,MAAwB;IAC3F,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAChC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACD,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAEvD,sDAAsD;QACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnB,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessApply.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessApply.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
import { permissionAccessApply } from "./permissionAccessApply.js";
|
|
4
|
-
describe("permissionAccessApply", () => {
|
|
5
|
-
const basePermissions = () => ({
|
|
6
|
-
workspaceDir: "/workspace",
|
|
7
|
-
workingDir: "/tmp",
|
|
8
|
-
writeDirs: [],
|
|
9
|
-
readDirs: [],
|
|
10
|
-
network: false,
|
|
11
|
-
events: false
|
|
12
|
-
});
|
|
13
|
-
it("applies network access", () => {
|
|
14
|
-
const permissions = basePermissions();
|
|
15
|
-
const applied = permissionAccessApply(permissions, { kind: "network" });
|
|
16
|
-
expect(applied).toBe(true);
|
|
17
|
-
expect(permissions.network).toBe(true);
|
|
18
|
-
});
|
|
19
|
-
it("applies events access", () => {
|
|
20
|
-
const permissions = basePermissions();
|
|
21
|
-
const applied = permissionAccessApply(permissions, { kind: "events" });
|
|
22
|
-
expect(applied).toBe(true);
|
|
23
|
-
expect(permissions.events).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
it("applies workspace access to the shared workspace root", () => {
|
|
26
|
-
const permissions = {
|
|
27
|
-
workspaceDir: "/workspace",
|
|
28
|
-
workingDir: "/workspace/apps/my-app/data",
|
|
29
|
-
writeDirs: ["/workspace/apps/my-app/data"],
|
|
30
|
-
readDirs: ["/workspace"],
|
|
31
|
-
network: false,
|
|
32
|
-
events: false
|
|
33
|
-
};
|
|
34
|
-
const applied = permissionAccessApply(permissions, { kind: "workspace" });
|
|
35
|
-
expect(applied).toBe(true);
|
|
36
|
-
expect(permissions.writeDirs).toContain("/workspace");
|
|
37
|
-
expect(permissions.readDirs).toContain("/workspace");
|
|
38
|
-
});
|
|
39
|
-
it("applies read/write paths", () => {
|
|
40
|
-
const permissions = basePermissions();
|
|
41
|
-
const readPath = path.resolve("/tmp/read");
|
|
42
|
-
const writePath = path.resolve("/tmp/write");
|
|
43
|
-
expect(permissionAccessApply(permissions, { kind: "read", path: readPath })).toBe(true);
|
|
44
|
-
expect(permissionAccessApply(permissions, { kind: "write", path: writePath })).toBe(true);
|
|
45
|
-
expect(permissions.readDirs).toContain(readPath);
|
|
46
|
-
expect(permissions.readDirs).toContain(writePath);
|
|
47
|
-
expect(permissions.writeDirs).toContain(writePath);
|
|
48
|
-
});
|
|
49
|
-
it("rejects non-absolute paths", () => {
|
|
50
|
-
const permissions = basePermissions();
|
|
51
|
-
const applied = permissionAccessApply(permissions, { kind: "read", path: "relative" });
|
|
52
|
-
expect(applied).toBe(false);
|
|
53
|
-
expect(permissions.readDirs).toHaveLength(0);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=permissionAccessApply.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessApply.spec.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessApply.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { PermissionAccess } from "@/types";
|
|
2
|
-
/**
|
|
3
|
-
* Parses a permission tag string into a PermissionAccess union.
|
|
4
|
-
* Expects: value is @network, @events, @workspace, @read:<path>, or @write:<path>.
|
|
5
|
-
*/
|
|
6
|
-
export declare function permissionAccessParse(value: string): PermissionAccess;
|
|
7
|
-
//# sourceMappingURL=permissionAccessParse.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessParse.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CA0BrE"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parses a permission tag string into a PermissionAccess union.
|
|
3
|
-
* Expects: value is @network, @events, @workspace, @read:<path>, or @write:<path>.
|
|
4
|
-
*/
|
|
5
|
-
export function permissionAccessParse(value) {
|
|
6
|
-
const trimmed = value.trim();
|
|
7
|
-
if (trimmed === "@network") {
|
|
8
|
-
return { kind: "network" };
|
|
9
|
-
}
|
|
10
|
-
if (trimmed === "@events") {
|
|
11
|
-
return { kind: "events" };
|
|
12
|
-
}
|
|
13
|
-
if (trimmed === "@workspace") {
|
|
14
|
-
return { kind: "workspace" };
|
|
15
|
-
}
|
|
16
|
-
if (trimmed.startsWith("@read:")) {
|
|
17
|
-
const pathValue = trimmed.slice("@read:".length).trim();
|
|
18
|
-
if (!pathValue) {
|
|
19
|
-
throw new Error("Read permission requires a path.");
|
|
20
|
-
}
|
|
21
|
-
return { kind: "read", path: pathValue };
|
|
22
|
-
}
|
|
23
|
-
if (trimmed.startsWith("@write:")) {
|
|
24
|
-
const pathValue = trimmed.slice("@write:".length).trim();
|
|
25
|
-
if (!pathValue) {
|
|
26
|
-
throw new Error("Write permission requires a path.");
|
|
27
|
-
}
|
|
28
|
-
return { kind: "write", path: pathValue };
|
|
29
|
-
}
|
|
30
|
-
throw new Error("Permission must be @network, @events, @workspace, @read:<path>, or @write:<path>.");
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=permissionAccessParse.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessParse.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessParse.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;AACzG,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessParse.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessParse.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { permissionAccessParse } from "./permissionAccessParse.js";
|
|
3
|
-
describe("permissionAccessParse", () => {
|
|
4
|
-
it("parses @network, @events, and @workspace", () => {
|
|
5
|
-
expect(permissionAccessParse("@network")).toEqual({ kind: "network" });
|
|
6
|
-
expect(permissionAccessParse("@events")).toEqual({ kind: "events" });
|
|
7
|
-
expect(permissionAccessParse("@workspace")).toEqual({ kind: "workspace" });
|
|
8
|
-
});
|
|
9
|
-
it("parses @read and @write paths", () => {
|
|
10
|
-
expect(permissionAccessParse("@read:/tmp")).toEqual({ kind: "read", path: "/tmp" });
|
|
11
|
-
expect(permissionAccessParse("@write:/var/log")).toEqual({ kind: "write", path: "/var/log" });
|
|
12
|
-
});
|
|
13
|
-
it("rejects invalid tags", () => {
|
|
14
|
-
expect(() => permissionAccessParse("read:/tmp")).toThrow("Permission must be");
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=permissionAccessParse.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionAccessParse.spec.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionAccessParse.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,MAAM,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionApply.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionApply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,wBAAgB,eAAe,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAOnG"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { permissionAccessApply } from "./permissionAccessApply.js";
|
|
2
|
-
export function permissionApply(permissions, decision) {
|
|
3
|
-
if (!decision.approved) {
|
|
4
|
-
return;
|
|
5
|
-
}
|
|
6
|
-
for (const permission of decision.permissions) {
|
|
7
|
-
permissionAccessApply(permissions, permission.access);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=permissionApply.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionApply.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionApply.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,UAAU,eAAe,CAAC,WAA+B,EAAE,QAA4B;IACzF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO;IACX,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionApply.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionApply.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
import { permissionApply } from "./permissionApply.js";
|
|
4
|
-
describe("permissionApply", () => {
|
|
5
|
-
const basePermissions = () => ({
|
|
6
|
-
workingDir: "/workspace",
|
|
7
|
-
writeDirs: [],
|
|
8
|
-
readDirs: [],
|
|
9
|
-
network: false,
|
|
10
|
-
events: false
|
|
11
|
-
});
|
|
12
|
-
it("ignores unapproved decisions", () => {
|
|
13
|
-
const permissions = basePermissions();
|
|
14
|
-
const decision = {
|
|
15
|
-
token: "token-1",
|
|
16
|
-
agentId: "agent-1",
|
|
17
|
-
approved: false,
|
|
18
|
-
permissions: [{ permission: "@network", access: { kind: "network" } }]
|
|
19
|
-
};
|
|
20
|
-
permissionApply(permissions, decision);
|
|
21
|
-
expect(permissions.network).toBe(false);
|
|
22
|
-
});
|
|
23
|
-
it("applies approved events access", () => {
|
|
24
|
-
const permissions = basePermissions();
|
|
25
|
-
const decision = {
|
|
26
|
-
token: "token-events",
|
|
27
|
-
agentId: "agent-1",
|
|
28
|
-
approved: true,
|
|
29
|
-
permissions: [{ permission: "@events", access: { kind: "events" } }]
|
|
30
|
-
};
|
|
31
|
-
permissionApply(permissions, decision);
|
|
32
|
-
expect(permissions.events).toBe(true);
|
|
33
|
-
});
|
|
34
|
-
it("adds approved write paths", () => {
|
|
35
|
-
const permissions = basePermissions();
|
|
36
|
-
const target = path.resolve("tmp", "write");
|
|
37
|
-
const decision = {
|
|
38
|
-
token: "token-2",
|
|
39
|
-
agentId: "agent-1",
|
|
40
|
-
approved: true,
|
|
41
|
-
permissions: [{ permission: `@write:${target}`, access: { kind: "write", path: target } }]
|
|
42
|
-
};
|
|
43
|
-
permissionApply(permissions, decision);
|
|
44
|
-
expect(permissions.writeDirs).toEqual(expect.arrayContaining([target]));
|
|
45
|
-
expect(permissions.readDirs).toEqual(expect.arrayContaining([target]));
|
|
46
|
-
});
|
|
47
|
-
it("skips relative paths", () => {
|
|
48
|
-
const permissions = basePermissions();
|
|
49
|
-
const decision = {
|
|
50
|
-
token: "token-3",
|
|
51
|
-
agentId: "agent-1",
|
|
52
|
-
approved: true,
|
|
53
|
-
permissions: [{ permission: "@read:relative/path", access: { kind: "read", path: "relative/path" } }]
|
|
54
|
-
};
|
|
55
|
-
permissionApply(permissions, decision);
|
|
56
|
-
expect(permissions.readDirs).toHaveLength(0);
|
|
57
|
-
});
|
|
58
|
-
it("rejects paths with null bytes", () => {
|
|
59
|
-
const permissions = basePermissions();
|
|
60
|
-
const decision = {
|
|
61
|
-
token: "token-4",
|
|
62
|
-
agentId: "agent-1",
|
|
63
|
-
approved: true,
|
|
64
|
-
permissions: [
|
|
65
|
-
{
|
|
66
|
-
permission: "@read:/etc/passwd\x00.txt",
|
|
67
|
-
access: { kind: "read", path: "/etc/passwd\x00.txt" }
|
|
68
|
-
}
|
|
69
|
-
]
|
|
70
|
-
};
|
|
71
|
-
permissionApply(permissions, decision);
|
|
72
|
-
// Path should be silently rejected
|
|
73
|
-
expect(permissions.readDirs).toHaveLength(0);
|
|
74
|
-
});
|
|
75
|
-
it("rejects paths with control characters", () => {
|
|
76
|
-
const permissions = basePermissions();
|
|
77
|
-
const decision = {
|
|
78
|
-
token: "token-5",
|
|
79
|
-
agentId: "agent-1",
|
|
80
|
-
approved: true,
|
|
81
|
-
permissions: [
|
|
82
|
-
{
|
|
83
|
-
permission: "@write:/home/user\x01file",
|
|
84
|
-
access: { kind: "write", path: "/home/user\x01file" }
|
|
85
|
-
}
|
|
86
|
-
]
|
|
87
|
-
};
|
|
88
|
-
permissionApply(permissions, decision);
|
|
89
|
-
expect(permissions.writeDirs).toHaveLength(0);
|
|
90
|
-
});
|
|
91
|
-
it("rejects excessively long paths", () => {
|
|
92
|
-
const permissions = basePermissions();
|
|
93
|
-
const longPath = "/" + "a".repeat(5000);
|
|
94
|
-
const decision = {
|
|
95
|
-
token: "token-6",
|
|
96
|
-
agentId: "agent-1",
|
|
97
|
-
approved: true,
|
|
98
|
-
permissions: [{ permission: `@read:${longPath}`, access: { kind: "read", path: longPath } }]
|
|
99
|
-
};
|
|
100
|
-
permissionApply(permissions, decision);
|
|
101
|
-
expect(permissions.readDirs).toHaveLength(0);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
//# sourceMappingURL=permissionApply.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionApply.spec.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionApply.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAI9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,MAAM,eAAe,GAAG,GAAuB,EAAE,CAAC,CAAC;QAC/C,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAuB;YACjC,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;SACzE,CAAC;QAEF,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAuB;YACjC,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;SACvE,CAAC;QAEF,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAuB;YACjC,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;SAC7F,CAAC;QAEF,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAuB;YACjC,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC;SACxG,CAAC;QAEF,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAuB;YACjC,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE;gBACT;oBACI,UAAU,EAAE,2BAA2B;oBACvC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE;iBACxD;aACJ;SACJ,CAAC;QAEF,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvC,mCAAmC;QACnC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAuB;YACjC,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE;gBACT;oBACI,UAAU,EAAE,2BAA2B;oBACvC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE;iBACxD;aACJ;SACJ,CAAC;QAEF,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAuB;YACjC,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC/F,CAAC;QAEF,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { SessionPermissions } from "../permissions.js";
|
|
2
|
-
/**
|
|
3
|
-
* Clones permissions so callers can mutate without affecting defaults.
|
|
4
|
-
* Expects: permissions.writeDirs/readDirs are treated as mutable arrays.
|
|
5
|
-
*/
|
|
6
|
-
export declare function permissionClone(permissions: SessionPermissions): SessionPermissions;
|
|
7
|
-
//# sourceMappingURL=permissionClone.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionClone.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionClone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,kBAAkB,CAMnF"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Clones permissions so callers can mutate without affecting defaults.
|
|
3
|
-
* Expects: permissions.writeDirs/readDirs are treated as mutable arrays.
|
|
4
|
-
*/
|
|
5
|
-
export function permissionClone(permissions) {
|
|
6
|
-
return {
|
|
7
|
-
...permissions,
|
|
8
|
-
writeDirs: [...permissions.writeDirs],
|
|
9
|
-
readDirs: [...permissions.readDirs]
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=permissionClone.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionClone.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionClone.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAA+B;IAC3D,OAAO;QACH,GAAG,WAAW;QACd,SAAS,EAAE,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC;QACrC,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;KACtC,CAAC;AACN,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionClone.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionClone.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { permissionClone } from "./permissionClone.js";
|
|
3
|
-
describe("permissionClone", () => {
|
|
4
|
-
it("clones arrays while preserving values", () => {
|
|
5
|
-
const permissions = {
|
|
6
|
-
workingDir: "/tmp/work",
|
|
7
|
-
writeDirs: ["/tmp/work"],
|
|
8
|
-
readDirs: ["/tmp/read"],
|
|
9
|
-
network: false,
|
|
10
|
-
events: false
|
|
11
|
-
};
|
|
12
|
-
const cloned = permissionClone(permissions);
|
|
13
|
-
expect(cloned).toEqual(permissions);
|
|
14
|
-
expect(cloned.writeDirs).not.toBe(permissions.writeDirs);
|
|
15
|
-
expect(cloned.readDirs).not.toBe(permissions.readDirs);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=permissionClone.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionClone.spec.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionClone.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,MAAM,WAAW,GAAuB;YACpC,UAAU,EAAE,WAAW;YACvB,SAAS,EAAE,CAAC,WAAW,CAAC;YACxB,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SAChB,CAAC;QAEF,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionDescribeDecision.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionDescribeDecision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAc3E"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function permissionDescribeDecision(access) {
|
|
2
|
-
if (access.kind === "network") {
|
|
3
|
-
return "network access";
|
|
4
|
-
}
|
|
5
|
-
if (access.kind === "events") {
|
|
6
|
-
return "events access";
|
|
7
|
-
}
|
|
8
|
-
if (access.kind === "workspace") {
|
|
9
|
-
return "workspace write access";
|
|
10
|
-
}
|
|
11
|
-
if (access.kind === "read") {
|
|
12
|
-
return `read access to ${access.path}`;
|
|
13
|
-
}
|
|
14
|
-
return `write access to ${access.path}`;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=permissionDescribeDecision.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionDescribeDecision.js","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionDescribeDecision.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CAAC,MAAwB;IAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO,wBAAwB,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,kBAAkB,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionDescribeDecision.spec.d.ts","sourceRoot":"","sources":["../../../sources/engine/permissions/permissionDescribeDecision.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { permissionDescribeDecision } from "./permissionDescribeDecision.js";
|
|
3
|
-
describe("permissionDescribeDecision", () => {
|
|
4
|
-
it("describes network access", () => {
|
|
5
|
-
expect(permissionDescribeDecision({ kind: "network" })).toBe("network access");
|
|
6
|
-
});
|
|
7
|
-
it("describes events access", () => {
|
|
8
|
-
expect(permissionDescribeDecision({ kind: "events" })).toBe("events access");
|
|
9
|
-
});
|
|
10
|
-
it("describes workspace access", () => {
|
|
11
|
-
expect(permissionDescribeDecision({ kind: "workspace" })).toBe("workspace write access");
|
|
12
|
-
});
|
|
13
|
-
it("describes read access", () => {
|
|
14
|
-
expect(permissionDescribeDecision({ kind: "read", path: "/tmp" })).toBe("read access to /tmp");
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=permissionDescribeDecision.spec.js.map
|