From 2ba2f8f5f7fed56aa2cc931e81d5c60e63c00030 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Fri, 3 Apr 2026 17:07:30 +0900 Subject: [PATCH] fix(shared): add task_system resolver Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- src/shared/index.ts | 1 + src/shared/task-system-enabled.test.ts | 44 ++++++++++++++++++++++++++ src/shared/task-system-enabled.ts | 9 ++++++ 3 files changed, 54 insertions(+) create mode 100644 src/shared/task-system-enabled.test.ts create mode 100644 src/shared/task-system-enabled.ts diff --git a/src/shared/index.ts b/src/shared/index.ts index da70aee2f..32f428cc8 100644 --- a/src/shared/index.ts +++ b/src/shared/index.ts @@ -72,3 +72,4 @@ export * from "./plugin-command-discovery" export { SessionCategoryRegistry } from "./session-category-registry" export * from "./plugin-identity" export * from "./log-legacy-plugin-startup-warning" +export * from "./task-system-enabled" diff --git a/src/shared/task-system-enabled.test.ts b/src/shared/task-system-enabled.test.ts new file mode 100644 index 000000000..45ef5fa0d --- /dev/null +++ b/src/shared/task-system-enabled.test.ts @@ -0,0 +1,44 @@ +import { describe, expect, test } from "bun:test" + +import { isTaskSystemEnabled } from "./task-system-enabled" + +describe("isTaskSystemEnabled", () => { + describe("#given experimental.task_system is omitted", () => { + test("#when resolving #then it defaults to false", () => { + // given + const config = {} + + // when + const result = isTaskSystemEnabled(config) + + // then + expect(result).toBe(false) + }) + }) + + describe("#given experimental.task_system is enabled", () => { + test("#when resolving #then it returns true", () => { + // given + const config = { experimental: { task_system: true } } + + // when + const result = isTaskSystemEnabled(config) + + // then + expect(result).toBe(true) + }) + }) + + describe("#given experimental.task_system is disabled", () => { + test("#when resolving #then it returns false", () => { + // given + const config = { experimental: { task_system: false } } + + // when + const result = isTaskSystemEnabled(config) + + // then + expect(result).toBe(false) + }) + }) +}) diff --git a/src/shared/task-system-enabled.ts b/src/shared/task-system-enabled.ts new file mode 100644 index 000000000..0c2b7f6c3 --- /dev/null +++ b/src/shared/task-system-enabled.ts @@ -0,0 +1,9 @@ +export interface TaskSystemConfig { + experimental?: { + task_system?: boolean + } +} + +export function isTaskSystemEnabled(config: TaskSystemConfig): boolean { + return config.experimental?.task_system ?? false +}