File size: 2,902 Bytes
4e23b01 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | import { z } from 'zod';
import { isoDateTimeSchema } from '@moonshot-ai/agent-core-v2/_base/utils/isoDateTime';
import { messageContentSchema } from './message';
import {
promptPermissionModeSchema,
promptThinkingSchema,
} from '@moonshot-ai/agent-core-v2/app/sessionLegacy/sessionProtocol';
export { promptPermissionModeSchema, promptThinkingSchema };
export type { PromptPermissionMode, PromptThinking } from '@moonshot-ai/agent-core-v2/app/sessionLegacy/sessionProtocol';
export const promptSkillActivationSchema = z.object({
name: z.string().min(1),
args: z.string().optional(),
});
export type PromptSkillActivation = z.infer<typeof promptSkillActivationSchema>;
export const promptSubmissionSchema = z.object({
content: z.array(messageContentSchema).min(1),
metadata: z.record(z.string(), z.unknown()).optional(),
agent_id: z.string().min(1).optional(),
profile: z.string().min(1).optional(),
model: z.string().min(1).optional(),
thinking: promptThinkingSchema.optional(),
permission_mode: promptPermissionModeSchema.optional(),
plan_mode: z.boolean().optional(),
swarm_mode: z.boolean().optional(),
goal_objective: z.string().optional(),
goal_control: z.enum(['pause', 'resume', 'cancel']).optional(),
disabled_tools: z.array(z.string()).optional(),
prompt_id: z.string().min(1).optional(),
skills: z.array(promptSkillActivationSchema).min(1).optional(),
});
export type PromptSubmission = z.infer<typeof promptSubmissionSchema>;
export const promptStatusSchema = z.enum(['running', 'queued', 'blocked']);
export type PromptStatus = z.infer<typeof promptStatusSchema>;
export const promptItemSchema = z.object({
prompt_id: z.string().min(1),
user_message_id: z.string().min(1),
status: promptStatusSchema,
content: z.array(messageContentSchema).min(1),
created_at: isoDateTimeSchema,
metadata: z.record(z.string(), z.unknown()).optional(),
});
export type PromptItem = z.infer<typeof promptItemSchema>;
export const promptListResponseSchema = z.object({
active: promptItemSchema.nullable(),
queued: z.array(promptItemSchema),
});
export type PromptListResponse = z.infer<typeof promptListResponseSchema>;
export const promptSubmitResultSchema = promptItemSchema;
export type PromptSubmitResult = z.infer<typeof promptSubmitResultSchema>;
export const promptSteerRequestSchema = z.object({
prompt_ids: z.array(z.string().min(1)).min(1),
});
export type PromptSteerRequest = z.infer<typeof promptSteerRequestSchema>;
export const promptSteerResultSchema = z.object({
steered: z.literal(true),
prompt_ids: z.array(z.string().min(1)).min(1),
});
export type PromptSteerResult = z.infer<typeof promptSteerResultSchema>;
export const promptAbortResponseSchema = z.object({
aborted: z.boolean(),
at_seq: z.number().int().nonnegative().optional(),
});
export type PromptAbortResponse = z.infer<typeof promptAbortResponseSchema>;
|