summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2026-01-16 11:39:17 -0600
committerAiden Cline <[email protected]>2026-01-16 11:39:22 -0600
commite1d0b2ba6edea54793953646341cf0ee9e8bd5e5 (patch)
tree844685941983b18b6017471eea9e5c703f7c311f
parentccc27e23dfcc93498e3cbb7ce50e35208ab8ce91 (diff)
downloadopencode-e1d0b2ba6edea54793953646341cf0ee9e8bd5e5.tar.gz
opencode-e1d0b2ba6edea54793953646341cf0ee9e8bd5e5.zip
fix: use dynamic import for session event in config.ts to avoid circular dep
-rw-r--r--packages/opencode/src/config/config.ts10
1 files changed, 6 insertions, 4 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index 6b625efce..355b3ba00 100644
--- a/packages/opencode/src/config/config.ts
+++ b/packages/opencode/src/config/config.ts
@@ -20,7 +20,6 @@ import { Installation } from "@/installation"
import { ConfigMarkdown } from "./markdown"
import { existsSync } from "fs"
import { Bus } from "@/bus"
-import { Session } from "@/session"
export namespace Config {
const log = Log.create({ service: "config" })
@@ -233,10 +232,11 @@ export namespace Config {
dot: true,
cwd: dir,
})) {
- const md = await ConfigMarkdown.parse(item).catch((err) => {
+ const md = await ConfigMarkdown.parse(item).catch(async (err) => {
const message = ConfigMarkdown.FrontmatterError.isInstance(err)
? err.data.message
: `Failed to parse command ${item}`
+ const { Session } = await import("@/session")
Bus.publish(Session.Event.Error, { error: new NamedError.Unknown({ message }).toObject() })
log.error("failed to load command", { command: item, err })
return undefined
@@ -272,10 +272,11 @@ export namespace Config {
dot: true,
cwd: dir,
})) {
- const md = await ConfigMarkdown.parse(item).catch((err) => {
+ const md = await ConfigMarkdown.parse(item).catch(async (err) => {
const message = ConfigMarkdown.FrontmatterError.isInstance(err)
? err.data.message
: `Failed to parse agent ${item}`
+ const { Session } = await import("@/session")
Bus.publish(Session.Event.Error, { error: new NamedError.Unknown({ message }).toObject() })
log.error("failed to load agent", { agent: item, err })
return undefined
@@ -310,10 +311,11 @@ export namespace Config {
dot: true,
cwd: dir,
})) {
- const md = await ConfigMarkdown.parse(item).catch((err) => {
+ const md = await ConfigMarkdown.parse(item).catch(async (err) => {
const message = ConfigMarkdown.FrontmatterError.isInstance(err)
? err.data.message
: `Failed to parse mode ${item}`
+ const { Session } = await import("@/session")
Bus.publish(Session.Event.Error, { error: new NamedError.Unknown({ message }).toObject() })
log.error("failed to load mode", { mode: item, err })
return undefined