mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
refactor: move attachment metadata schema to shared protocol package
This commit is contained in:
+17
-14
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user