diff --git a/opencode/packages/opencode/src/session/compaction.ts b/opencode/packages/opencode/src/session/compaction.ts index 81998b0..333dc67 100644 --- a/opencode/packages/opencode/src/session/compaction.ts +++ b/opencode/packages/opencode/src/session/compaction.ts @@ -188,9 +188,9 @@ export namespace SessionCompaction { }, }) } - if (processor.message.error) return "stop" + if (processor.message.error) return { status: "stop" as const, singleStepTools: result.singleStepTools } Bus.publish(Event.Compacted, { sessionID: input.sessionID }) - return "continue" + return { status: "continue" as const, singleStepTools: result.singleStepTools } } export const create = fn( diff --git a/opencode/packages/opencode/src/session/prompt.ts b/opencode/packages/opencode/src/session/prompt.ts index 4daf1e7..8992322 100644 --- a/opencode/packages/opencode/src/session/prompt.ts +++ b/opencode/packages/opencode/src/session/prompt.ts @@ -504,7 +504,7 @@ export namespace SessionPrompt { sessionID, auto: task.auto, }) - if (result === "stop") break + if (result.status === "stop") break continue } diff --git a/opencode/packages/opencode/src/session/system.ts b/opencode/packages/opencode/src/session/system.ts index 0a0d67f..9c8fe03 100644 --- a/opencode/packages/opencode/src/session/system.ts +++ b/opencode/packages/opencode/src/session/system.ts @@ -34,6 +34,21 @@ export namespace SystemPrompt { return false } + // All plugins from the builder are WordPress plugins + // Builder workspaces are typically under /apps/ or similar patterns + const project = Instance.project + const isBuilderWorkspace = !project.vcs && ( + cwd.includes('/apps/') || + cwd.includes('\\apps\\') || + cwd.includes('/home/web/data/apps/') + ) + + if (isBuilderWorkspace) { + wordpressDetectionCache = true + wordpressDetectionCacheTime = now + return true + } + const isWordPress = await detectWordPressInDirectory(cwd) wordpressDetectionCache = isWordPress