mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-12 06:10:44 +01:00
feat: add individual agent interaction permissions (#20411)
Add eleven sparse incoming and outgoing restrictions, human CLI/API administration, shared mutation enforcement, and pending-delivery checks. Preserve existing defaults, agent settings, and existing authorization boundaries. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
4158799d1b
commit
5bad074baa
97 files changed
+3590
-433
No files matched your search
@@ -11,6 +11,7 @@ import { envConfigSchema } from "./secret.js";
|
||||
import { trustAuthorizationPolicySchema, trustPresetSchema } from "./trust-policy.js";
|
||||
import { agentDesiredSkillSelectionSchema } from "./adapter-skills.js";
|
||||
import { objectWithoutDefaults } from "./partial.js";
|
||||
import { agentInteractionPermissionsSchema } from "../agent-interaction-permissions.js";
|
||||
|
||||
export const agentPermissionsSchema = z.object({
|
||||
// No schema default: the server derives the default (enabled unless the
|
||||
@@ -19,6 +20,7 @@ export const agentPermissionsSchema = z.object({
|
||||
canCreateSkills: z.boolean().optional().default(true),
|
||||
trustPreset: trustPresetSchema.optional(),
|
||||
authorizationPolicy: trustAuthorizationPolicySchema.optional(),
|
||||
interactions: agentInteractionPermissionsSchema.optional(),
|
||||
}).catchall(z.unknown());
|
||||
|
||||
export const agentInstructionsBundleModeSchema = z.enum(["managed", "external"]);
|
||||
@@ -320,6 +322,7 @@ export const updateAgentPermissionsSchema = z.object({
|
||||
canAssignTasks: z.boolean(),
|
||||
trustPreset: trustPresetSchema.optional(),
|
||||
authorizationPolicy: trustAuthorizationPolicySchema.optional(),
|
||||
interactions: z.never({ error: "Use /api/agents/:id/interaction-permissions to change interaction permissions" }).optional(),
|
||||
});
|
||||
|
||||
export type UpdateAgentPermissions = z.infer<typeof updateAgentPermissionsSchema>;
|
||||
|
||||
Reference in new issue
Block a user