fix(opencode): scope reference readiness wait
This commit is contained in:
parent
ed75ce9ecc
commit
6ea3e6698a
@ -99,10 +99,12 @@ export const layer = Layer.effect(
|
|||||||
Effect.fn("Agent.state")(function* (ctx) {
|
Effect.fn("Agent.state")(function* (ctx) {
|
||||||
const cfg = yield* config.get()
|
const cfg = yield* config.get()
|
||||||
const skillDirs = yield* skill.dirs()
|
const skillDirs = yield* skill.dirs()
|
||||||
const referenceDirs = yield* Effect.gen(function* () {
|
const referenceDirs = Object.keys(cfg.references ?? cfg.reference ?? {}).length
|
||||||
yield* (yield* PluginV2.Service).wait(PluginV2.ID.make("core/config-reference"))
|
? yield* Effect.gen(function* () {
|
||||||
return (yield* (yield* Reference.Service).list()).map((reference) => reference.path)
|
yield* (yield* PluginV2.Service).wait(PluginV2.ID.make("core/config-reference"))
|
||||||
}).pipe(Effect.provide(locations.get(Location.Ref.make({ directory: AbsolutePath.make(ctx.directory) }))))
|
return (yield* (yield* Reference.Service).list()).map((reference) => reference.path)
|
||||||
|
}).pipe(Effect.provide(locations.get(Location.Ref.make({ directory: AbsolutePath.make(ctx.directory) }))))
|
||||||
|
: []
|
||||||
const whitelistedDirs = [
|
const whitelistedDirs = [
|
||||||
Truncate.GLOB,
|
Truncate.GLOB,
|
||||||
path.join(Global.Path.tmp, "*"),
|
path.join(Global.Path.tmp, "*"),
|
||||||
|
|||||||
@ -20,7 +20,6 @@ import { AbsolutePath } from "@opencode-ai/core/schema"
|
|||||||
import { Location } from "@opencode-ai/core/location"
|
import { Location } from "@opencode-ai/core/location"
|
||||||
import { LocationServiceMap } from "@opencode-ai/core/location-layer"
|
import { LocationServiceMap } from "@opencode-ai/core/location-layer"
|
||||||
import { Reference } from "@opencode-ai/core/reference"
|
import { Reference } from "@opencode-ai/core/reference"
|
||||||
import { PluginV2 } from "@opencode-ai/core/plugin"
|
|
||||||
|
|
||||||
export function provider(model: Provider.Model) {
|
export function provider(model: Provider.Model) {
|
||||||
if (model.api.id.includes("gpt-4") || model.api.id.includes("o1") || model.api.id.includes("o3"))
|
if (model.api.id.includes("gpt-4") || model.api.id.includes("o1") || model.api.id.includes("o3"))
|
||||||
@ -55,7 +54,6 @@ export const layer = Layer.effect(
|
|||||||
environment: Effect.fn("SystemPrompt.environment")(function* (model: Provider.Model) {
|
environment: Effect.fn("SystemPrompt.environment")(function* (model: Provider.Model) {
|
||||||
const ctx = yield* InstanceState.context
|
const ctx = yield* InstanceState.context
|
||||||
const references = yield* Effect.gen(function* () {
|
const references = yield* Effect.gen(function* () {
|
||||||
yield* (yield* PluginV2.Service).wait(PluginV2.ID.make("core/config-reference"))
|
|
||||||
return (yield* (yield* Reference.Service).list()).filter((reference) => reference.description !== undefined)
|
return (yield* (yield* Reference.Service).list()).filter((reference) => reference.description !== undefined)
|
||||||
}).pipe(Effect.provide(locations.get(Location.Ref.make({ directory: AbsolutePath.make(ctx.directory) }))))
|
}).pipe(Effect.provide(locations.get(Location.Ref.make({ directory: AbsolutePath.make(ctx.directory) }))))
|
||||||
return [
|
return [
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user