74 lines
2.0 KiB
TypeScript
74 lines
2.0 KiB
TypeScript
import { Type } from "@sinclair/typebox";
|
|
|
|
import { NonEmptyString } from "./primitives.js";
|
|
|
|
export const LogsTailParamsSchema = Type.Object(
|
|
{
|
|
cursor: Type.Optional(Type.Integer({ minimum: 0 })),
|
|
limit: Type.Optional(Type.Integer({ minimum: 1, maximum: 5000 })),
|
|
maxBytes: Type.Optional(Type.Integer({ minimum: 1, maximum: 1_000_000 })),
|
|
},
|
|
{ additionalProperties: false },
|
|
);
|
|
|
|
export const LogsTailResultSchema = Type.Object(
|
|
{
|
|
file: NonEmptyString,
|
|
cursor: Type.Integer({ minimum: 0 }),
|
|
size: Type.Integer({ minimum: 0 }),
|
|
lines: Type.Array(Type.String()),
|
|
truncated: Type.Optional(Type.Boolean()),
|
|
reset: Type.Optional(Type.Boolean()),
|
|
},
|
|
{ additionalProperties: false },
|
|
);
|
|
|
|
// WebChat/WebSocket-native chat methods
|
|
export const ChatHistoryParamsSchema = Type.Object(
|
|
{
|
|
sessionKey: NonEmptyString,
|
|
limit: Type.Optional(Type.Integer({ minimum: 1, maximum: 1000 })),
|
|
},
|
|
{ additionalProperties: false },
|
|
);
|
|
|
|
export const ChatSendParamsSchema = Type.Object(
|
|
{
|
|
sessionKey: NonEmptyString,
|
|
message: NonEmptyString,
|
|
thinking: Type.Optional(Type.String()),
|
|
deliver: Type.Optional(Type.Boolean()),
|
|
attachments: Type.Optional(Type.Array(Type.Unknown())),
|
|
timeoutMs: Type.Optional(Type.Integer({ minimum: 0 })),
|
|
idempotencyKey: NonEmptyString,
|
|
},
|
|
{ additionalProperties: false },
|
|
);
|
|
|
|
export const ChatAbortParamsSchema = Type.Object(
|
|
{
|
|
sessionKey: NonEmptyString,
|
|
runId: Type.Optional(NonEmptyString),
|
|
},
|
|
{ additionalProperties: false },
|
|
);
|
|
|
|
export const ChatEventSchema = Type.Object(
|
|
{
|
|
runId: NonEmptyString,
|
|
sessionKey: NonEmptyString,
|
|
seq: Type.Integer({ minimum: 0 }),
|
|
state: Type.Union([
|
|
Type.Literal("delta"),
|
|
Type.Literal("final"),
|
|
Type.Literal("aborted"),
|
|
Type.Literal("error"),
|
|
]),
|
|
message: Type.Optional(Type.Unknown()),
|
|
errorMessage: Type.Optional(Type.String()),
|
|
usage: Type.Optional(Type.Unknown()),
|
|
stopReason: Type.Optional(Type.String()),
|
|
},
|
|
{ additionalProperties: false },
|
|
);
|