|
1 | 1 | import { Config } from "@/config/config" |
2 | | -import z from "zod" |
3 | 2 | import { Provider } from "@/provider/provider" |
4 | 3 | import { ModelID, ProviderID } from "../provider/schema" |
5 | 4 | import { generateObject, streamObject, type ModelMessage } from "ai" |
@@ -49,6 +48,12 @@ export const Info = Schema.Struct({ |
49 | 48 | }).annotate({ identifier: "Agent" }) |
50 | 49 | export type Info = DeepMutable<Schema.Schema.Type<typeof Info>> |
51 | 50 |
|
| 51 | +const GeneratedAgent = Schema.Struct({ |
| 52 | + identifier: Schema.String, |
| 53 | + whenToUse: Schema.String, |
| 54 | + systemPrompt: Schema.String, |
| 55 | +}) |
| 56 | + |
52 | 57 | export interface Interface { |
53 | 58 | readonly get: (agent: string) => Effect.Effect<Info> |
54 | 59 | readonly list: () => Effect.Effect<Info[]> |
@@ -405,11 +410,10 @@ export const layer = Layer.effect( |
405 | 410 | }, |
406 | 411 | ], |
407 | 412 | model: language, |
408 | | - schema: z.object({ |
409 | | - identifier: z.string(), |
410 | | - whenToUse: z.string(), |
411 | | - systemPrompt: z.string(), |
412 | | - }), |
| 413 | + schema: Object.assign( |
| 414 | + Schema.toStandardSchemaV1(GeneratedAgent), |
| 415 | + Schema.toStandardJSONSchemaV1(GeneratedAgent), |
| 416 | + ), |
413 | 417 | } satisfies Parameters<typeof generateObject>[0] |
414 | 418 |
|
415 | 419 | if (isOpenaiOauth) { |
|
0 commit comments