openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
126 lines (125 loc) • 4.81 kB
JavaScript
import { t as lazyCompile } from "./protocol-validator-DRYaCHvd.js";
import { Type } from "typebox";
//#region packages/gateway-protocol/src/schema/skill-library.ts
const SKILL_LIBRARY_MAX_FILES = 256;
const SKILL_LIBRARY_MAX_FILE_BYTES = 1048576;
const SKILL_LIBRARY_MAX_BUNDLE_BYTES = 8388608;
const SKILL_LIBRARY_MAX_SELECTIONS = 64;
const id = Type.String({ pattern: "^[a-f0-9-]{36}$" });
const revision = Type.String({ pattern: "^[a-f0-9]{64}$" });
const slug = Type.String({ pattern: "^[a-z0-9][a-z0-9-]{0,62}$" });
const sessionKey = Type.String({
minLength: 1,
maxLength: 512
});
const closed = { additionalProperties: false };
const SkillLibraryFileSchema = Type.Object({
path: Type.String({
minLength: 1,
maxLength: 512
}),
content: Type.String({ maxLength: Math.ceil(SKILL_LIBRARY_MAX_FILE_BYTES / 3) * 4 }),
encoding: Type.Optional(Type.Union([Type.Literal("utf8"), Type.Literal("base64")])),
executable: Type.Optional(Type.Boolean())
}, closed);
const SkillLibrarySelectionSchema = Type.Object({
skillId: id,
revision,
/** Persisted command identity: library collisions never shadow workspace names. */
name: Type.String({
minLength: 1,
maxLength: 128
}),
ownerProfileId: Type.Union([Type.String({ maxLength: 128 }), Type.Null()])
}, closed);
const SkillsLibraryListParamsSchema = Type.Object({
sessionKey: Type.Optional(sessionKey),
scope: Type.Optional(Type.Union([
Type.Literal("mine"),
Type.Literal("team"),
Type.Literal("all")
]))
}, closed);
const SkillsLibraryReadParamsSchema = Type.Object({
skillId: id,
revision: Type.Optional(revision),
sessionKey: Type.Optional(sessionKey)
}, closed);
const SkillsLibrarySaveParamsSchema = Type.Object({
skillId: Type.Optional(id),
expectedRevision: Type.Union([revision, Type.Null()]),
slug,
content: Type.String({
minLength: 1,
maxLength: SKILL_LIBRARY_MAX_FILE_BYTES
}),
files: Type.Optional(Type.Array(SkillLibraryFileSchema, { maxItems: 255 }))
}, closed);
const SkillsLibraryMutateParamsSchema = Type.Object({
skillId: id,
expectedRevision: revision,
action: Type.Union([
Type.Literal("share"),
Type.Literal("unshare"),
Type.Literal("transfer"),
Type.Literal("remove"),
Type.Literal("enable"),
Type.Literal("disable"),
Type.Literal("rollback")
]),
revision: Type.Optional(revision)
}, closed);
const SkillsLibraryActivateParamsSchema = Type.Object({
sessionKey,
action: Type.Union([
Type.Literal("attach"),
Type.Literal("detach"),
Type.Literal("refresh")
]),
skillId: Type.Optional(id),
revision: Type.Optional(revision)
}, closed);
const SkillsLibraryImportParamsSchema = Type.Object({
slug,
source: Type.Object({
kind: Type.Literal("clawhub"),
slug: Type.String({
minLength: 1,
maxLength: 256
}),
version: Type.Optional(Type.String({
minLength: 1,
maxLength: 128
}))
}, closed)
}, closed);
const SkillsLibraryUploadParamsSchema = Type.Union([
Type.Object({
action: Type.Literal("begin"),
slug,
sizeBytes: Type.Integer({
minimum: 1,
maximum: SKILL_LIBRARY_MAX_BUNDLE_BYTES
}),
sha256: revision
}, closed),
Type.Object({
action: Type.Literal("chunk"),
uploadId: id,
offset: Type.Integer({ minimum: 0 }),
data: Type.String({ maxLength: 35e4 })
}, closed),
Type.Object({
action: Type.Literal("commit"),
uploadId: id
}, closed)
]);
const validateSkillsLibraryListParams = /* @__PURE__ */ lazyCompile(SkillsLibraryListParamsSchema);
const validateSkillsLibraryReadParams = /* @__PURE__ */ lazyCompile(SkillsLibraryReadParamsSchema);
const validateSkillsLibrarySaveParams = /* @__PURE__ */ lazyCompile(SkillsLibrarySaveParamsSchema);
const validateSkillsLibraryMutateParams = /* @__PURE__ */ lazyCompile(SkillsLibraryMutateParamsSchema);
const validateSkillsLibraryActivateParams = /* @__PURE__ */ lazyCompile(SkillsLibraryActivateParamsSchema);
const validateSkillsLibraryImportParams = /* @__PURE__ */ lazyCompile(SkillsLibraryImportParamsSchema);
const validateSkillsLibraryUploadParams = /* @__PURE__ */ lazyCompile(SkillsLibraryUploadParamsSchema);
//#endregion
export { validateSkillsLibraryMutateParams as _, SkillLibraryFileSchema as a, validateSkillsLibraryUploadParams as b, SkillsLibraryImportParamsSchema as c, SkillsLibraryReadParamsSchema as d, SkillsLibrarySaveParamsSchema as f, validateSkillsLibraryListParams as g, validateSkillsLibraryImportParams as h, SKILL_LIBRARY_MAX_SELECTIONS as i, SkillsLibraryListParamsSchema as l, validateSkillsLibraryActivateParams as m, SKILL_LIBRARY_MAX_FILES as n, SkillLibrarySelectionSchema as o, SkillsLibraryUploadParamsSchema as p, SKILL_LIBRARY_MAX_FILE_BYTES as r, SkillsLibraryActivateParamsSchema as s, SKILL_LIBRARY_MAX_BUNDLE_BYTES as t, SkillsLibraryMutateParamsSchema as u, validateSkillsLibraryReadParams as v, validateSkillsLibrarySaveParams as y };