Spaces:
Paused
Paused
| import { Type } from "@sinclair/typebox"; | |
| import { NonEmptyString, SessionLabelString } from "./primitives.js"; | |
| export const SessionsListParamsSchema = Type.Object( | |
| { | |
| limit: Type.Optional(Type.Integer({ minimum: 1 })), | |
| activeMinutes: Type.Optional(Type.Integer({ minimum: 1 })), | |
| includeGlobal: Type.Optional(Type.Boolean()), | |
| includeUnknown: Type.Optional(Type.Boolean()), | |
| /** | |
| * Read first 8KB of each session transcript to derive title from first user message. | |
| * Performs a file read per session - use `limit` to bound result set on large stores. | |
| */ | |
| includeDerivedTitles: Type.Optional(Type.Boolean()), | |
| /** | |
| * Read last 16KB of each session transcript to extract most recent message preview. | |
| * Performs a file read per session - use `limit` to bound result set on large stores. | |
| */ | |
| includeLastMessage: Type.Optional(Type.Boolean()), | |
| label: Type.Optional(SessionLabelString), | |
| spawnedBy: Type.Optional(NonEmptyString), | |
| agentId: Type.Optional(NonEmptyString), | |
| search: Type.Optional(Type.String()), | |
| }, | |
| { additionalProperties: false }, | |
| ); | |
| export const SessionsPreviewParamsSchema = Type.Object( | |
| { | |
| keys: Type.Array(NonEmptyString, { minItems: 1 }), | |
| limit: Type.Optional(Type.Integer({ minimum: 1 })), | |
| maxChars: Type.Optional(Type.Integer({ minimum: 20 })), | |
| }, | |
| { additionalProperties: false }, | |
| ); | |
| export const SessionsResolveParamsSchema = Type.Object( | |
| { | |
| key: Type.Optional(NonEmptyString), | |
| sessionId: Type.Optional(NonEmptyString), | |
| label: Type.Optional(SessionLabelString), | |
| agentId: Type.Optional(NonEmptyString), | |
| spawnedBy: Type.Optional(NonEmptyString), | |
| includeGlobal: Type.Optional(Type.Boolean()), | |
| includeUnknown: Type.Optional(Type.Boolean()), | |
| }, | |
| { additionalProperties: false }, | |
| ); | |
| export const SessionsPatchParamsSchema = Type.Object( | |
| { | |
| key: NonEmptyString, | |
| label: Type.Optional(Type.Union([SessionLabelString, Type.Null()])), | |
| thinkingLevel: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| verboseLevel: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| reasoningLevel: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| responseUsage: Type.Optional( | |
| Type.Union([ | |
| Type.Literal("off"), | |
| Type.Literal("tokens"), | |
| Type.Literal("full"), | |
| // Backward compat with older clients/stores. | |
| Type.Literal("on"), | |
| Type.Null(), | |
| ]), | |
| ), | |
| elevatedLevel: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| execHost: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| execSecurity: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| execAsk: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| execNode: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| model: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| spawnedBy: Type.Optional(Type.Union([NonEmptyString, Type.Null()])), | |
| sendPolicy: Type.Optional( | |
| Type.Union([Type.Literal("allow"), Type.Literal("deny"), Type.Null()]), | |
| ), | |
| groupActivation: Type.Optional( | |
| Type.Union([Type.Literal("mention"), Type.Literal("always"), Type.Null()]), | |
| ), | |
| }, | |
| { additionalProperties: false }, | |
| ); | |
| export const SessionsResetParamsSchema = Type.Object( | |
| { key: NonEmptyString }, | |
| { additionalProperties: false }, | |
| ); | |
| export const SessionsDeleteParamsSchema = Type.Object( | |
| { | |
| key: NonEmptyString, | |
| deleteTranscript: Type.Optional(Type.Boolean()), | |
| }, | |
| { additionalProperties: false }, | |
| ); | |
| export const SessionsCompactParamsSchema = Type.Object( | |
| { | |
| key: NonEmptyString, | |
| maxLines: Type.Optional(Type.Integer({ minimum: 1 })), | |
| }, | |
| { additionalProperties: false }, | |
| ); | |