refactor: move attachment metadata schema to shared protocol package

This commit is contained in:
weishu
2026-01-23 16:04:37 +08:00
parent 78f56ad0f7
commit 6f8f44a314
6 changed files with 33 additions and 43 deletions
+17 -14
View File
@@ -1,15 +1,29 @@
import { AgentStateSchema, MetadataSchema, ModelModeSchema, PermissionModeSchema, TodosSchema } from '@hapi/protocol/schemas'
import {
AgentStateSchema,
AttachmentMetadataSchema,
MetadataSchema,
ModelModeSchema,
PermissionModeSchema,
TodosSchema
} from '@hapi/protocol/schemas'
import type { ModelMode, PermissionMode } from '@hapi/protocol/types'
import { z } from 'zod'
import { UsageSchema } from '@/claude/types'
export type Usage = z.infer<typeof UsageSchema>
export type { AgentState, ClaudePermissionMode, CodexPermissionMode, Metadata, Session } from '@hapi/protocol/types'
export type {
AgentState,
AttachmentMetadata,
ClaudePermissionMode,
CodexPermissionMode,
Metadata,
Session
} from '@hapi/protocol/types'
export type SessionPermissionMode = PermissionMode
export type SessionModelMode = ModelMode
export { AgentStateSchema, MetadataSchema }
export { AgentStateSchema, AttachmentMetadataSchema, MetadataSchema }
export const MachineMetadataSchema = z.object({
host: z.string(),
@@ -109,17 +123,6 @@ export const MessageMetaSchema = z.object({
export type MessageMeta = z.infer<typeof MessageMetaSchema>
export const AttachmentMetadataSchema = z.object({
id: z.string(),
filename: z.string(),
mimeType: z.string(),
size: z.number(),
path: z.string(),
previewUrl: z.string().optional()
})
export type AttachmentMetadata = z.infer<typeof AttachmentMetadataSchema>
export const UserMessageSchema = z.object({
role: z.literal('user'),
content: z.object({