File size: 1,120 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
import { z } from 'zod';

import { isoDateTimeSchema } from '@moonshot-ai/agent-core-v2/_base/utils/isoDateTime';

import { approvalRequestSchema, approvalResponseSchema } from './approval';

export const listPendingApprovalsQuerySchema = z.object({
  status: z.literal('pending'),
});
export type ListPendingApprovalsQuery = z.infer<typeof listPendingApprovalsQuerySchema>;

export const listPendingApprovalsResponseSchema = z.object({
  items: z.array(approvalRequestSchema),
});
export type ListPendingApprovalsResponse = z.infer<typeof listPendingApprovalsResponseSchema>;

export const approvalResolveRequestSchema = approvalResponseSchema;
export type ApprovalResolveRequest = z.infer<typeof approvalResolveRequestSchema>;

export const approvalResolveResultSchema = z.object({
  resolved: z.literal(true),
  resolved_at: isoDateTimeSchema,
});
export type ApprovalResolveResult = z.infer<typeof approvalResolveResultSchema>;

export const approvalAlreadyResolvedDataSchema = z.object({
  resolved: z.literal(false),
});
export type ApprovalAlreadyResolvedData = z.infer<typeof approvalAlreadyResolvedDataSchema>;