|
|
@@ -1,5 +1,4 @@
|
|
|
import { Config } from "@/config/config"
|
|
|
-import z from "zod"
|
|
|
import { Provider } from "@/provider/provider"
|
|
|
import { ModelID, ProviderID } from "../provider/schema"
|
|
|
import { generateObject, streamObject, type ModelMessage } from "ai"
|
|
|
@@ -49,6 +48,12 @@ export const Info = Schema.Struct({
|
|
|
}).annotate({ identifier: "Agent" })
|
|
|
export type Info = DeepMutable<Schema.Schema.Type<typeof Info>>
|
|
|
|
|
|
+const GeneratedAgent = Schema.Struct({
|
|
|
+ identifier: Schema.String,
|
|
|
+ whenToUse: Schema.String,
|
|
|
+ systemPrompt: Schema.String,
|
|
|
+})
|
|
|
+
|
|
|
export interface Interface {
|
|
|
readonly get: (agent: string) => Effect.Effect<Info>
|
|
|
readonly list: () => Effect.Effect<Info[]>
|
|
|
@@ -405,11 +410,10 @@ export const layer = Layer.effect(
|
|
|
},
|
|
|
],
|
|
|
model: language,
|
|
|
- schema: z.object({
|
|
|
- identifier: z.string(),
|
|
|
- whenToUse: z.string(),
|
|
|
- systemPrompt: z.string(),
|
|
|
- }),
|
|
|
+ schema: Object.assign(
|
|
|
+ Schema.toStandardSchemaV1(GeneratedAgent),
|
|
|
+ Schema.toStandardJSONSchemaV1(GeneratedAgent),
|
|
|
+ ),
|
|
|
} satisfies Parameters<typeof generateObject>[0]
|
|
|
|
|
|
if (isOpenaiOauth) {
|