UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

345 lines (344 loc) 13 kB
/** * http-requests.ts — HTTP 路由请求 Zod Schemas * * 为 Express 路由提供运行时输入校验,覆盖: * - knowledge(CRUD + 生命周期) * - guardRules(规则管理 + 批量操作) * - search(统合搜索 + 上下文搜索) * - candidates(候选条目操作) * - guard(文件质量检查) * - skills(技能管理) * - task(统一任务分发) * - modules(模块扫描) * - ai(AI 配置、摘要、翻译、对话、Agent 工具/任务) * - extract(路径/文本提取) * - auth(登录) * - commands(文件读写) * - remote(远程指令、通知) * * @module shared/schemas/http-requests */ import { z } from 'zod'; export declare const CreateKnowledgeBody: z.ZodObject<{ title: z.ZodString; content: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>; description: z.ZodOptional<z.ZodString>; kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{ pattern: "pattern"; rule: "rule"; fact: "fact"; }>>>; language: z.ZodOptional<z.ZodString>; category: z.ZodOptional<z.ZodString>; knowledgeType: z.ZodOptional<z.ZodString>; complexity: z.ZodOptional<z.ZodNullable<z.ZodString>>; scope: z.ZodOptional<z.ZodNullable<z.ZodString>>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$loose>; export declare const UpdateKnowledgeBody: z.ZodObject<{ title: z.ZodOptional<z.ZodString>; description: z.ZodOptional<z.ZodString>; content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>; kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{ pattern: "pattern"; rule: "rule"; fact: "fact"; }>>>; language: z.ZodOptional<z.ZodString>; category: z.ZodOptional<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$loose>; export declare const DeprecateKnowledgeBody: z.ZodObject<{ reason: z.ZodString; }, z.core.$strip>; export declare const BatchPublishBody: z.ZodObject<{ ids: z.ZodArray<z.ZodString>; }, z.core.$strip>; export declare const BatchDeleteBody: z.ZodObject<{ ids: z.ZodArray<z.ZodString>; }, z.core.$strip>; export declare const BatchDeprecateBody: z.ZodObject<{ ids: z.ZodArray<z.ZodString>; reason: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const KnowledgeUsageBody: z.ZodObject<{ type: z.ZodDefault<z.ZodEnum<{ view: "view"; feedback: "feedback"; adoption: "adoption"; }>>; feedback: z.ZodOptional<z.ZodUnknown>; }, z.core.$strip>; export declare const KnowledgeListQuery: z.ZodObject<{ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>; limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>; lifecycle: z.ZodOptional<z.ZodString>; kind: z.ZodOptional<z.ZodString>; category: z.ZodOptional<z.ZodString>; language: z.ZodOptional<z.ZodString>; knowledgeType: z.ZodOptional<z.ZodString>; scope: z.ZodOptional<z.ZodString>; keyword: z.ZodOptional<z.ZodString>; tag: z.ZodOptional<z.ZodString>; source: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const CreateGuardRuleBody: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; ruleId: z.ZodOptional<z.ZodString>; description: z.ZodOptional<z.ZodString>; message: z.ZodOptional<z.ZodString>; pattern: z.ZodString; severity: z.ZodDefault<z.ZodEnum<{ error: "error"; info: "info"; warning: "warning"; }>>; category: z.ZodOptional<z.ZodString>; sourceRecipeId: z.ZodOptional<z.ZodString>; sourceReason: z.ZodOptional<z.ZodString>; note: z.ZodOptional<z.ZodString>; languages: z.ZodOptional<z.ZodArray<z.ZodString>>; dimension: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const BatchEnableBody: z.ZodObject<{ ids: z.ZodArray<z.ZodString>; }, z.core.$strip>; export declare const BatchDisableBody: z.ZodObject<{ ids: z.ZodArray<z.ZodString>; reason: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const DisableRuleBody: z.ZodObject<{ reason: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const CheckCodeBody: z.ZodObject<{ code: z.ZodString; language: z.ZodOptional<z.ZodString>; ruleIds: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strip>; export declare const ImportFromRecipeBody: z.ZodObject<{ recipeId: z.ZodString; rules: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip>; export declare const GuardRulesListQuery: z.ZodObject<{ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>; limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>; severity: z.ZodOptional<z.ZodString>; category: z.ZodOptional<z.ZodString>; sourceRecipe: z.ZodOptional<z.ZodString>; keyword: z.ZodOptional<z.ZodString>; enabled: z.ZodPipe<z.ZodOptional<z.ZodEnum<{ true: "true"; false: "false"; }>>, z.ZodTransform<boolean | undefined, "true" | "false" | undefined>>; }, z.core.$strip>; export declare const ComplianceQuery: z.ZodObject<{ path: z.ZodOptional<z.ZodString>; maxErrors: z.ZodDefault<z.ZodCoercedNumber<unknown>>; maxWarnings: z.ZodDefault<z.ZodCoercedNumber<unknown>>; minScore: z.ZodDefault<z.ZodCoercedNumber<unknown>>; maxFiles: z.ZodDefault<z.ZodCoercedNumber<unknown>>; }, z.core.$strip>; export declare const SearchQuery: z.ZodObject<{ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>; limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>; q: z.ZodString; type: z.ZodDefault<z.ZodEnum<{ rule: "rule"; candidate: "candidate"; recipe: "recipe"; all: "all"; solution: "solution"; }>>; mode: z.ZodDefault<z.ZodEnum<{ keyword: "keyword"; semantic: "semantic"; bm25: "bm25"; }>>; groupByKind: z.ZodPipe<z.ZodOptional<z.ZodEnum<{ true: "true"; false: "false"; }>>, z.ZodTransform<boolean, "true" | "false" | undefined>>; }, z.core.$strip>; export declare const ContextAwareSearchBody: z.ZodObject<{ keyword: z.ZodString; limit: z.ZodDefault<z.ZodNumber>; language: z.ZodOptional<z.ZodString>; sessionHistory: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; }, z.core.$strip>; export declare const SimilarityBody: z.ZodObject<{ code: z.ZodOptional<z.ZodString>; targetName: z.ZodOptional<z.ZodString>; candidateId: z.ZodOptional<z.ZodString>; candidate: z.ZodOptional<z.ZodObject<{ title: z.ZodOptional<z.ZodString>; summary: z.ZodOptional<z.ZodString>; code: z.ZodOptional<z.ZodString>; pattern: z.ZodOptional<z.ZodString>; usageGuide: z.ZodOptional<z.ZodString>; markdown: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; export declare const EnrichBody: z.ZodObject<{ candidateIds: z.ZodArray<z.ZodString>; }, z.core.$strip>; export declare const BootstrapRefineBody: z.ZodObject<{ candidateIds: z.ZodOptional<z.ZodArray<z.ZodString>>; userPrompt: z.ZodOptional<z.ZodString>; dryRun: z.ZodDefault<z.ZodBoolean>; }, z.core.$strip>; export declare const RefinePreviewBody: z.ZodObject<{ candidateId: z.ZodString; userPrompt: z.ZodString; }, z.core.$strip>; export declare const RefineApplyBody: z.ZodObject<{ candidateId: z.ZodString; userPrompt: z.ZodOptional<z.ZodString>; preview: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip>; export declare const GuardFileBody: z.ZodObject<{ filePath: z.ZodString; content: z.ZodOptional<z.ZodString>; language: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const GuardBatchBody: z.ZodObject<{ files: z.ZodArray<z.ZodObject<{ filePath: z.ZodString; content: z.ZodOptional<z.ZodString>; language: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; export declare const CreateSkillBody: z.ZodObject<{ name: z.ZodString; description: z.ZodString; content: z.ZodString; overwrite: z.ZodDefault<z.ZodBoolean>; createdBy: z.ZodDefault<z.ZodString>; }, z.core.$strip>; export declare const UpdateSkillBody: z.ZodObject<{ description: z.ZodOptional<z.ZodString>; content: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const TaskDispatchBody: z.ZodObject<{ operation: z.ZodString; }, z.core.$loose>; export declare const ScanFolderBody: z.ZodObject<{ path: z.ZodString; options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip>; export declare const ScanTargetBody: z.ZodObject<{ target: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; targetName: z.ZodOptional<z.ZodString>; options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip>; export declare const ScanProjectBody: z.ZodObject<{ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip>; export declare const ModuleBootstrapBody: z.ZodObject<{ maxFiles: z.ZodDefault<z.ZodNumber>; skipGuard: z.ZodDefault<z.ZodBoolean>; contentMaxLines: z.ZodDefault<z.ZodNumber>; }, z.core.$strip>; export declare const ModuleRescanBody: z.ZodObject<{ reason: z.ZodOptional<z.ZodString>; dimensions: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strip>; export declare const GraphQuery: z.ZodObject<{ nodeId: z.ZodString; nodeType: z.ZodString; relation: z.ZodOptional<z.ZodString>; direction: z.ZodDefault<z.ZodEnum<{ out: "out"; in: "in"; both: "both"; }>>; }, z.core.$strip>; export declare const GraphImpactQuery: z.ZodObject<{ nodeId: z.ZodString; nodeType: z.ZodString; maxDepth: z.ZodDefault<z.ZodCoercedNumber<unknown>>; }, z.core.$strip>; export declare const AiLangBody: z.ZodObject<{ lang: z.ZodEnum<{ en: "en"; zh: "zh"; }>; }, z.core.$strip>; export declare const AiConfigBody: z.ZodObject<{ provider: z.ZodString; model: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const AiSummarizeBody: z.ZodObject<{ code: z.ZodString; language: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const AiTranslateBody: z.ZodObject<{ summary: z.ZodOptional<z.ZodString>; usageGuide: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const AiChatBody: z.ZodObject<{ prompt: z.ZodString; history: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; lang: z.ZodOptional<z.ZodString>; conversationId: z.ZodOptional<z.ZodString>; sseSessionId: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const AiStreamBody: z.ZodObject<{ prompt: z.ZodString; history: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; lang: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const AiToolBody: z.ZodObject<{ tool: z.ZodString; params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip>; export declare const AiTaskBody: z.ZodObject<{ task: z.ZodString; params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip>; export declare const AiFormatUsageGuideBody: z.ZodObject<{ text: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const AiEnvConfigBody: z.ZodObject<{ provider: z.ZodString; model: z.ZodOptional<z.ZodString>; apiKey: z.ZodOptional<z.ZodString>; proxy: z.ZodOptional<z.ZodString>; embedProvider: z.ZodOptional<z.ZodString>; embedModel: z.ZodOptional<z.ZodString>; embedBaseUrl: z.ZodOptional<z.ZodString>; embedApiKey: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const ExtractPathBody: z.ZodObject<{ relativePath: z.ZodString; projectRoot: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const ExtractTextBody: z.ZodObject<{ text: z.ZodString; language: z.ZodOptional<z.ZodString>; relativePath: z.ZodOptional<z.ZodString>; projectRoot: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const AuthLoginBody: z.ZodObject<{ username: z.ZodString; password: z.ZodString; }, z.core.$strip>; export declare const FileReadQuery: z.ZodObject<{ path: z.ZodString; }, z.core.$strip>; export declare const FileSaveBody: z.ZodObject<{ path: z.ZodString; content: z.ZodString; }, z.core.$strip>; export declare const RemoteSendBody: z.ZodObject<{ command: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>; }, z.core.$strip>; export declare const RemoteNotifyBody: z.ZodObject<{ text: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>; }, z.core.$strip>; export declare const RemoteResultBody: z.ZodObject<{ result: z.ZodOptional<z.ZodString>; status: z.ZodDefault<z.ZodString>; }, z.core.$strip>; export declare const RemoteHistoryQuery: z.ZodObject<{ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>; }, z.core.$strip>;