Files
openclaw/packages/gateway-protocol/src/schema/plugins.ts
Peter Steinberger b1117d9862 refactor: extract gateway client package (#87797)
* refactor: extract gateway client package

* chore: drop generated gateway package artifacts

* refactor: move gateway protocol package

* refactor: remove old gateway protocol tree

* test: keep auth compat split in run mode

* test: expose gateway wrapper options for internals

* fix: watch moved gateway package sources

* test: normalize slash command import guard

* chore: teach knip gateway package entries

* ci: route gateway client package checks

* fix: reuse ipaddr for gateway client hosts

* fix: sync gateway protocol usage schema
2026-05-29 02:23:42 +01:00

70 lines
2.0 KiB
TypeScript

import { Type } from "typebox";
import { NonEmptyString } from "./primitives.js";
export const PluginJsonValueSchema = Type.Unknown();
export const PluginControlUiDescriptorSchema = Type.Object(
{
id: NonEmptyString,
pluginId: NonEmptyString,
pluginName: Type.Optional(NonEmptyString),
surface: Type.Union([
Type.Literal("session"),
Type.Literal("tool"),
Type.Literal("run"),
Type.Literal("settings"),
]),
label: NonEmptyString,
description: Type.Optional(Type.String()),
placement: Type.Optional(Type.String()),
schema: Type.Optional(PluginJsonValueSchema),
requiredScopes: Type.Optional(Type.Array(NonEmptyString)),
},
{ additionalProperties: false },
);
export const PluginsUiDescriptorsParamsSchema = Type.Object({}, { additionalProperties: false });
export const PluginsUiDescriptorsResultSchema = Type.Object(
{
ok: Type.Literal(true),
descriptors: Type.Array(PluginControlUiDescriptorSchema),
},
{ additionalProperties: false },
);
export const PluginsSessionActionParamsSchema = Type.Object(
{
pluginId: NonEmptyString,
actionId: NonEmptyString,
sessionKey: Type.Optional(NonEmptyString),
payload: Type.Optional(PluginJsonValueSchema),
},
{ additionalProperties: false },
);
export const PluginsSessionActionSuccessResultSchema = Type.Object(
{
ok: Type.Literal(true),
result: Type.Optional(PluginJsonValueSchema),
continueAgent: Type.Optional(Type.Boolean()),
reply: Type.Optional(PluginJsonValueSchema),
},
{ additionalProperties: false },
);
export const PluginsSessionActionFailureResultSchema = Type.Object(
{
ok: Type.Literal(false),
error: Type.String(),
code: Type.Optional(Type.String()),
details: Type.Optional(PluginJsonValueSchema),
},
{ additionalProperties: false },
);
export const PluginsSessionActionResultSchema = Type.Union([
PluginsSessionActionSuccessResultSchema,
PluginsSessionActionFailureResultSchema,
]);