summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/testing/session-composer.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/testing/session-composer.ts')
-rw-r--r--packages/app/src/testing/session-composer.ts84
1 files changed, 0 insertions, 84 deletions
diff --git a/packages/app/src/testing/session-composer.ts b/packages/app/src/testing/session-composer.ts
deleted file mode 100644
index 01c809e4c..000000000
--- a/packages/app/src/testing/session-composer.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import type { Todo } from "@opencode-ai/sdk/v2"
-
-export const composerEvent = "opencode:e2e:composer"
-
-export type ComposerDriverState = {
- live?: boolean
- todos?: Array<Pick<Todo, "content" | "status" | "priority">>
-}
-
-export type ComposerProbeState = {
- mounted: boolean
- collapsed: boolean
- hidden: boolean
- count: number
- states: Todo["status"][]
-}
-
-type ComposerState = {
- driver?: ComposerDriverState
- probe?: ComposerProbeState
-}
-
-export type ComposerWindow = Window & {
- __opencode_e2e?: {
- composer?: {
- enabled?: boolean
- sessions?: Record<string, ComposerState>
- }
- }
-}
-
-const clone = (driver: ComposerDriverState) => ({
- live: driver.live,
- todos: driver.todos?.map((todo) => ({ ...todo })),
-})
-
-export const composerEnabled = () => {
- if (typeof window === "undefined") return false
- return (window as ComposerWindow).__opencode_e2e?.composer?.enabled === true
-}
-
-const root = () => {
- if (!composerEnabled()) return
- const state = (window as ComposerWindow).__opencode_e2e?.composer
- if (!state) return
- state.sessions ??= {}
- return state.sessions
-}
-
-export const composerDriver = (sessionID?: string) => {
- if (!sessionID) return
- const state = root()?.[sessionID]?.driver
- if (!state) return
- return clone(state)
-}
-
-export const composerProbe = (sessionID?: string) => {
- const set = (next: ComposerProbeState) => {
- if (!sessionID) return
- const sessions = root()
- if (!sessions) return
- const prev = sessions[sessionID] ?? {}
- sessions[sessionID] = {
- ...prev,
- probe: {
- ...next,
- states: [...next.states],
- },
- }
- }
-
- return {
- set,
- drop() {
- set({
- mounted: false,
- collapsed: false,
- hidden: true,
- count: 0,
- states: [],
- })
- },
- }
-}