Skip to content

Commit

Permalink
fix(schema): make content field optional in messageSchema to allow fl…
Browse files Browse the repository at this point in the history
…exibility in input

feat(schema): add refinement to messageSchema to ensure either content or content_path is provided for validation
  • Loading branch information
0xJord4n committed Dec 24, 2024
1 parent 56b441f commit a8d31a4
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
9 changes: 7 additions & 2 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,10 +143,15 @@ exports.providerOptionsSchema = zod.object({
base_url: zod.string().optional(),
headers: zod.record(zod.string(), zod.string()).optional(),
});
exports.messageSchema = zod.object({
exports.messageSchema = zod
.object({
role: zod.nativeEnum(types_1.Role),
content: zod.string(),
content: zod.string().optional(),
content_path: zod.string().optional(),
})
.refine((data) => data.content || data.content_path, {
message: "Either content or content_path must be provided",
path: ["content", "content_path"],
});
exports.inputSchema = zod.object({
provider: zod.nativeEnum(types_1.Provider),
Expand Down
15 changes: 10 additions & 5 deletions src/input.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,16 @@ export const providerOptionsSchema = zod.object({
headers: zod.record(zod.string(), zod.string()).optional(),
});

export const messageSchema = zod.object({
role: zod.nativeEnum(Role),
content: zod.string(),
content_path: zod.string().optional(),
});
export const messageSchema = zod
.object({
role: zod.nativeEnum(Role),
content: zod.string().optional(),
content_path: zod.string().optional(),
})
.refine((data) => data.content || data.content_path, {
message: "Either content or content_path must be provided",
path: ["content", "content_path"],
});

export const inputSchema = zod.object({
provider: zod.nativeEnum(Provider),
Expand Down

0 comments on commit a8d31a4

Please sign in to comment.