fix: land sandbox binds (#790) (thanks @akonyer)
This commit is contained in:
@@ -29,6 +29,7 @@
|
|||||||
- Discord: add `discord.allowBots` to permit bot-authored messages (still ignores its own messages) with docs warning about bot loops. (#802) — thanks @zknicker.
|
- Discord: add `discord.allowBots` to permit bot-authored messages (still ignores its own messages) with docs warning about bot loops. (#802) — thanks @zknicker.
|
||||||
- CLI/Onboarding: `clawdbot dashboard` prints/copies the tokenized Control UI link and opens it; onboarding now auto-opens the dashboard with your token and keeps the link in the summary.
|
- CLI/Onboarding: `clawdbot dashboard` prints/copies the tokenized Control UI link and opens it; onboarding now auto-opens the dashboard with your token and keeps the link in the summary.
|
||||||
- Commands: native slash commands now default to `"auto"` (on for Discord/Telegram, off for Slack) with per-provider overrides (`discord/telegram/slack.commands.native`) and docs updated.
|
- Commands: native slash commands now default to `"auto"` (on for Discord/Telegram, off for Slack) with per-provider overrides (`discord/telegram/slack.commands.native`) and docs updated.
|
||||||
|
- Sandbox: allow Docker bind mounts via `docker.binds`; merges global + per-agent binds (per-agent ignored under shared scope) for custom host paths. (#790 — thanks @akonyer)
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
- Auto-reply: inline `/status` now honors allowlists (authorized stripped + replied inline; unauthorized leaves text for the agent) to match command gating tests.
|
- Auto-reply: inline `/status` now honors allowlists (authorized stripped + replied inline; unauthorized leaves text for the agent) to match command gating tests.
|
||||||
|
|||||||
@@ -241,6 +241,26 @@ const ExecutableTokenSchema = z
|
|||||||
.string()
|
.string()
|
||||||
.refine(isSafeExecutableValue, "expected safe executable name or path");
|
.refine(isSafeExecutableValue, "expected safe executable name or path");
|
||||||
|
|
||||||
|
const NativeCommandsSettingSchema = z.union([z.boolean(), z.literal("auto")]);
|
||||||
|
|
||||||
|
const ProviderCommandsSchema = z
|
||||||
|
.object({
|
||||||
|
native: NativeCommandsSettingSchema.optional(),
|
||||||
|
})
|
||||||
|
.optional();
|
||||||
|
|
||||||
|
const CommandsSchema = z
|
||||||
|
.object({
|
||||||
|
native: NativeCommandsSettingSchema.optional().default("auto"),
|
||||||
|
text: z.boolean().optional(),
|
||||||
|
config: z.boolean().optional(),
|
||||||
|
debug: z.boolean().optional(),
|
||||||
|
restart: z.boolean().optional(),
|
||||||
|
useAccessGroups: z.boolean().optional(),
|
||||||
|
})
|
||||||
|
.optional()
|
||||||
|
.default({ native: "auto" });
|
||||||
|
|
||||||
const ToolsAudioTranscriptionSchema = z
|
const ToolsAudioTranscriptionSchema = z
|
||||||
.object({
|
.object({
|
||||||
args: z.array(z.string()).optional(),
|
args: z.array(z.string()).optional(),
|
||||||
@@ -256,14 +276,6 @@ const TelegramTopicSchema = z.object({
|
|||||||
systemPrompt: z.string().optional(),
|
systemPrompt: z.string().optional(),
|
||||||
});
|
});
|
||||||
|
|
||||||
const NativeCommandsSettingSchema = z.union([z.boolean(), z.literal("auto")]);
|
|
||||||
|
|
||||||
const ProviderCommandsSchema = z
|
|
||||||
.object({
|
|
||||||
native: NativeCommandsSettingSchema.optional(),
|
|
||||||
})
|
|
||||||
.optional();
|
|
||||||
|
|
||||||
const TelegramGroupSchema = z.object({
|
const TelegramGroupSchema = z.object({
|
||||||
requireMention: z.boolean().optional(),
|
requireMention: z.boolean().optional(),
|
||||||
skills: z.array(z.string()).optional(),
|
skills: z.array(z.string()).optional(),
|
||||||
@@ -720,18 +732,6 @@ const MessagesSchema = z
|
|||||||
})
|
})
|
||||||
.optional();
|
.optional();
|
||||||
|
|
||||||
const CommandsSchema = z
|
|
||||||
.object({
|
|
||||||
native: NativeCommandsSettingSchema.optional().default("auto"),
|
|
||||||
text: z.boolean().optional(),
|
|
||||||
config: z.boolean().optional(),
|
|
||||||
debug: z.boolean().optional(),
|
|
||||||
restart: z.boolean().optional(),
|
|
||||||
useAccessGroups: z.boolean().optional(),
|
|
||||||
})
|
|
||||||
.optional()
|
|
||||||
.default({ native: "auto" });
|
|
||||||
|
|
||||||
const HeartbeatSchema = z
|
const HeartbeatSchema = z
|
||||||
.object({
|
.object({
|
||||||
every: z.string().optional(),
|
every: z.string().optional(),
|
||||||
|
|||||||
Reference in New Issue
Block a user