mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-13 23:50:46 +00:00
36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
import { Type } from "typebox";
|
|
import {
|
|
MAX_PLUGIN_APPROVAL_TIMEOUT_MS,
|
|
PLUGIN_APPROVAL_DESCRIPTION_MAX_LENGTH,
|
|
PLUGIN_APPROVAL_TITLE_MAX_LENGTH,
|
|
} from "../../../infra/plugin-approvals.js";
|
|
import { NonEmptyString } from "./primitives.js";
|
|
|
|
export const PluginApprovalRequestParamsSchema = Type.Object(
|
|
{
|
|
pluginId: Type.Optional(NonEmptyString),
|
|
title: Type.String({ minLength: 1, maxLength: PLUGIN_APPROVAL_TITLE_MAX_LENGTH }),
|
|
description: Type.String({ minLength: 1, maxLength: PLUGIN_APPROVAL_DESCRIPTION_MAX_LENGTH }),
|
|
severity: Type.Optional(Type.String({ enum: ["info", "warning", "critical"] })),
|
|
toolName: Type.Optional(Type.String()),
|
|
toolCallId: Type.Optional(Type.String()),
|
|
agentId: Type.Optional(Type.String()),
|
|
sessionKey: Type.Optional(Type.String()),
|
|
turnSourceChannel: Type.Optional(Type.String()),
|
|
turnSourceTo: Type.Optional(Type.String()),
|
|
turnSourceAccountId: Type.Optional(Type.String()),
|
|
turnSourceThreadId: Type.Optional(Type.Union([Type.String(), Type.Number()])),
|
|
timeoutMs: Type.Optional(Type.Integer({ minimum: 1, maximum: MAX_PLUGIN_APPROVAL_TIMEOUT_MS })),
|
|
twoPhase: Type.Optional(Type.Boolean()),
|
|
},
|
|
{ additionalProperties: false },
|
|
);
|
|
|
|
export const PluginApprovalResolveParamsSchema = Type.Object(
|
|
{
|
|
id: NonEmptyString,
|
|
decision: NonEmptyString,
|
|
},
|
|
{ additionalProperties: false },
|
|
);
|