@ddlqhd/agent-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -0
- package/dist/chunk-5QMA2YBY.cjs +2880 -0
- package/dist/chunk-5QMA2YBY.cjs.map +1 -0
- package/dist/chunk-5Y56A64C.cjs +5 -0
- package/dist/chunk-5Y56A64C.cjs.map +1 -0
- package/dist/chunk-A3S3AGE3.js +3 -0
- package/dist/chunk-A3S3AGE3.js.map +1 -0
- package/dist/chunk-CNSGZVRN.cjs +152 -0
- package/dist/chunk-CNSGZVRN.cjs.map +1 -0
- package/dist/chunk-JF5AJQMU.cjs +2788 -0
- package/dist/chunk-JF5AJQMU.cjs.map +1 -0
- package/dist/chunk-NDSL7NPN.js +807 -0
- package/dist/chunk-NDSL7NPN.js.map +1 -0
- package/dist/chunk-OHXW2YM6.js +2708 -0
- package/dist/chunk-OHXW2YM6.js.map +1 -0
- package/dist/chunk-Q3SOMX26.js +2854 -0
- package/dist/chunk-Q3SOMX26.js.map +1 -0
- package/dist/chunk-WH3APNQ5.js +147 -0
- package/dist/chunk-WH3APNQ5.js.map +1 -0
- package/dist/chunk-X35MHWXE.cjs +817 -0
- package/dist/chunk-X35MHWXE.cjs.map +1 -0
- package/dist/cli/index.cjs +926 -0
- package/dist/cli/index.cjs.map +1 -0
- package/dist/cli/index.d.cts +24 -0
- package/dist/cli/index.d.ts +24 -0
- package/dist/cli/index.js +916 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index-DPsZ1zat.d.ts +447 -0
- package/dist/index-RTPmFjMp.d.cts +447 -0
- package/dist/index.cjs +508 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +664 -0
- package/dist/index.d.ts +664 -0
- package/dist/index.js +204 -0
- package/dist/index.js.map +1 -0
- package/dist/models/index.cjs +62 -0
- package/dist/models/index.cjs.map +1 -0
- package/dist/models/index.d.cts +165 -0
- package/dist/models/index.d.ts +165 -0
- package/dist/models/index.js +5 -0
- package/dist/models/index.js.map +1 -0
- package/dist/tools/index.cjs +207 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.cts +108 -0
- package/dist/tools/index.d.ts +108 -0
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types-C0aX_Qdp.d.cts +917 -0
- package/dist/types-C0aX_Qdp.d.ts +917 -0
- package/package.json +80 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/base.ts"],"names":[],"mappings":"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","file":"chunk-WH3APNQ5.js","sourcesContent":["import { z } from 'zod';\nimport type {\n ModelAdapter,\n ModelCapabilities,\n ModelParams,\n StreamChunk,\n CompletionResult,\n ToolDefinition,\n ToolSchema,\n TokenUsage\n} from '../core/types.js';\n\n/**\n * 将 Zod Schema 转换为 JSON Schema\n */\nexport function zodToJsonSchema(schema: z.ZodSchema): unknown {\n if (schema instanceof z.ZodObject) {\n const shape = schema.shape;\n const properties: Record<string, unknown> = {};\n const required: string[] = [];\n\n for (const [key, value] of Object.entries(shape)) {\n properties[key] = zodFieldToJsonSchema(value as z.ZodSchema);\n if (!(value as z.ZodSchema).isOptional()) {\n required.push(key);\n }\n }\n\n return {\n type: 'object',\n properties,\n required: required.length > 0 ? required : undefined,\n additionalProperties: false\n };\n }\n\n return zodFieldToJsonSchema(schema);\n}\n\n/**\n * 将单个 Zod 字段转换为 JSON Schema\n */\nfunction zodFieldToJsonSchema(schema: z.ZodSchema): unknown {\n // ZodDefault → unwrap inner type and extract default value\n if ((schema as any)._def?.typeName === 'ZodDefault') {\n const inner = zodFieldToJsonSchema((schema as any)._def.innerType);\n const defaultValue = (schema as any)._def.defaultValue();\n const desc = schema.description || (inner as Record<string, unknown>)?.description;\n const result: Record<string, unknown> = { ...(inner as Record<string, unknown>) };\n if (desc) result.description = desc;\n result.default = defaultValue;\n return result;\n }\n\n // ZodOptional → unwrap, preserve description from wrapper\n if (schema instanceof z.ZodOptional) {\n const inner = zodFieldToJsonSchema(schema.unwrap());\n const desc = schema.description || (inner as Record<string, unknown>)?.description;\n if (desc && (inner as Record<string, unknown>)?.description !== desc) {\n return { ...(inner as Record<string, unknown>), description: desc };\n }\n return inner;\n }\n\n // ZodNullable → unwrap, preserve description\n if (schema instanceof z.ZodNullable) {\n const inner = zodFieldToJsonSchema(schema.unwrap());\n const desc = schema.description || (inner as Record<string, unknown>)?.description;\n if (desc && (inner as Record<string, unknown>)?.description !== desc) {\n return { ...(inner as Record<string, unknown>), description: desc };\n }\n return inner;\n }\n\n // ZodString → add minLength/maxLength from checks\n if (schema instanceof z.ZodString) {\n const result: Record<string, unknown> = { type: 'string' };\n if (schema.description) result.description = schema.description;\n for (const check of (schema as any)._def.checks) {\n if (check.kind === 'min') result.minLength = check.value;\n if (check.kind === 'max') result.maxLength = check.value;\n }\n return result;\n }\n\n // ZodNumber → add int/minimum/maximum from checks\n if (schema instanceof z.ZodNumber) {\n const result: Record<string, unknown> = { type: 'number' };\n if (schema.description) result.description = schema.description;\n for (const check of (schema as any)._def.checks) {\n if (check.kind === 'int') result.type = 'integer';\n if (check.kind === 'min') {\n if (check.inclusive === false) result.exclusiveMinimum = check.value;\n else result.minimum = check.value;\n }\n if (check.kind === 'max') {\n if (check.inclusive === false) result.exclusiveMaximum = check.value;\n else result.maximum = check.value;\n }\n }\n return result;\n }\n\n // ZodBoolean\n if (schema instanceof z.ZodBoolean) {\n return { type: 'boolean', description: schema.description };\n }\n\n // ZodArray → add minItems/maxItems\n if (schema instanceof z.ZodArray) {\n const result: Record<string, unknown> = {\n type: 'array',\n items: zodFieldToJsonSchema(schema.element)\n };\n if (schema.description) result.description = schema.description;\n if ((schema as any)._def.minLength) result.minItems = (schema as any)._def.minLength.value;\n if ((schema as any)._def.maxLength) result.maxItems = (schema as any)._def.maxLength.value;\n return result;\n }\n\n // ZodEnum\n if (schema instanceof z.ZodEnum) {\n return {\n type: 'string',\n enum: schema.options,\n description: schema.description\n };\n }\n\n // Nested ZodObject\n if (schema instanceof z.ZodObject) {\n return zodToJsonSchema(schema);\n }\n\n return { type: 'string' };\n}\n\n/**\n * 将工具定义转换为模型工具 Schema\n */\nexport function toolsToModelSchema(tools: ToolDefinition[]): ToolSchema[] {\n return tools.map(tool => ({\n name: tool.name,\n description: tool.description,\n parameters: zodToJsonSchema(tool.parameters) as Record<string, unknown>\n }));\n}\n\n/**\n * 合并 Token 使用统计\n */\nexport function mergeTokenUsage(...usages: (TokenUsage | undefined)[]): TokenUsage {\n const merged: TokenUsage = {\n promptTokens: 0,\n completionTokens: 0,\n totalTokens: 0\n };\n\n for (const usage of usages) {\n if (usage) {\n merged.promptTokens += usage.promptTokens;\n merged.completionTokens += usage.completionTokens;\n merged.totalTokens += usage.totalTokens;\n }\n }\n\n return merged;\n}\n\n/**\n * 基础模型适配器抽象类\n */\nexport abstract class BaseModelAdapter implements ModelAdapter {\n abstract readonly name: string;\n\n /** 模型能力描述 */\n capabilities?: ModelCapabilities;\n\n abstract stream(params: ModelParams): AsyncIterable<StreamChunk>;\n abstract complete(params: ModelParams): Promise<CompletionResult>;\n\n /**\n * 转换消息格式\n */\n protected transformMessages(messages: ModelParams['messages']): unknown[] {\n return messages.map(msg => ({\n role: msg.role,\n content: msg.content,\n ...(msg.toolCalls && { tool_calls: msg.toolCalls.map(tc => ({\n id: tc.id,\n type: 'function',\n function: {\n name: tc.name,\n arguments: typeof tc.arguments === 'string' \n ? tc.arguments \n : JSON.stringify(tc.arguments)\n }\n }))}),\n ...(msg.toolCallId && { tool_call_id: msg.toolCallId })\n }));\n }\n}\n"]}
|