fix: ensure that openai oauth works for agent create cmd, use temporary hack (#21749)
Co-authored-by: OpeOginni <brightoginni123@gmail.com>
This commit is contained in:
@@ -341,6 +341,10 @@ export namespace Agent {
|
|||||||
)
|
)
|
||||||
const existing = yield* InstanceState.useEffect(state, (s) => s.list())
|
const existing = yield* InstanceState.useEffect(state, (s) => s.list())
|
||||||
|
|
||||||
|
// TODO: clean this up so provider specific logic doesnt bleed over
|
||||||
|
const authInfo = yield* auth.get(model.providerID).pipe(Effect.orDie)
|
||||||
|
const isOpenaiOauth = model.providerID === "openai" && authInfo?.type === "oauth"
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
experimental_telemetry: {
|
experimental_telemetry: {
|
||||||
isEnabled: cfg.experimental?.openTelemetry,
|
isEnabled: cfg.experimental?.openTelemetry,
|
||||||
@@ -350,12 +354,14 @@ export namespace Agent {
|
|||||||
},
|
},
|
||||||
temperature: 0.3,
|
temperature: 0.3,
|
||||||
messages: [
|
messages: [
|
||||||
...system.map(
|
...(isOpenaiOauth
|
||||||
(item): ModelMessage => ({
|
? []
|
||||||
role: "system",
|
: system.map(
|
||||||
content: item,
|
(item): ModelMessage => ({
|
||||||
}),
|
role: "system",
|
||||||
),
|
content: item,
|
||||||
|
}),
|
||||||
|
)),
|
||||||
{
|
{
|
||||||
role: "user",
|
role: "user",
|
||||||
content: `Create an agent configuration based on this request: \"${input.description}\".\n\nIMPORTANT: The following identifiers already exist and must NOT be used: ${existing.map((i) => i.name).join(", ")}\n Return ONLY the JSON object, no other text, do not wrap in backticks`,
|
content: `Create an agent configuration based on this request: \"${input.description}\".\n\nIMPORTANT: The following identifiers already exist and must NOT be used: ${existing.map((i) => i.name).join(", ")}\n Return ONLY the JSON object, no other text, do not wrap in backticks`,
|
||||||
@@ -369,13 +375,12 @@ export namespace Agent {
|
|||||||
}),
|
}),
|
||||||
} satisfies Parameters<typeof generateObject>[0]
|
} satisfies Parameters<typeof generateObject>[0]
|
||||||
|
|
||||||
// TODO: clean this up so provider specific logic doesnt bleed over
|
if (isOpenaiOauth) {
|
||||||
const authInfo = yield* auth.get(model.providerID).pipe(Effect.orDie)
|
|
||||||
if (model.providerID === "openai" && authInfo?.type === "oauth") {
|
|
||||||
return yield* Effect.promise(async () => {
|
return yield* Effect.promise(async () => {
|
||||||
const result = streamObject({
|
const result = streamObject({
|
||||||
...params,
|
...params,
|
||||||
providerOptions: ProviderTransform.providerOptions(resolved, {
|
providerOptions: ProviderTransform.providerOptions(resolved, {
|
||||||
|
instructions: system.join("\n"),
|
||||||
store: false,
|
store: false,
|
||||||
}),
|
}),
|
||||||
onError: () => {},
|
onError: () => {},
|
||||||
|
|||||||
Reference in New Issue
Block a user