summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src')
-rw-r--r--packages/app/src/components/prompt-input/submit.ts3
-rw-r--r--packages/app/src/testing/prompt.ts27
-rw-r--r--packages/app/src/testing/terminal.ts1
3 files changed, 31 insertions, 0 deletions
diff --git a/packages/app/src/components/prompt-input/submit.ts b/packages/app/src/components/prompt-input/submit.ts
index ba299fe36..06b6c1e35 100644
--- a/packages/app/src/components/prompt-input/submit.ts
+++ b/packages/app/src/components/prompt-input/submit.ts
@@ -13,6 +13,7 @@ import { usePermission } from "@/context/permission"
import { type ContextItem, type ImageAttachmentPart, type Prompt, usePrompt } from "@/context/prompt"
import { useSDK } from "@/context/sdk"
import { useSync } from "@/context/sync"
+import { promptProbe } from "@/testing/prompt"
import { Identifier } from "@/utils/id"
import { Worktree as WorktreeState } from "@/utils/worktree"
import { buildRequestParts } from "./build-request-parts"
@@ -307,6 +308,7 @@ export function createPromptSubmit(input: PromptSubmitInput) {
input.addToHistory(currentPrompt, mode)
input.resetHistoryNavigation()
+ promptProbe.start()
const projectDirectory = sdk.directory
const isNewSession = !params.id
@@ -426,6 +428,7 @@ export function createPromptSubmit(input: PromptSubmitInput) {
return
}
+ promptProbe.submit({ sessionID: session.id, directory: sessionDirectory })
input.onSubmit?.()
if (mode === "shell") {
diff --git a/packages/app/src/testing/prompt.ts b/packages/app/src/testing/prompt.ts
index e11462f30..5102ed825 100644
--- a/packages/app/src/testing/prompt.ts
+++ b/packages/app/src/testing/prompt.ts
@@ -10,6 +10,13 @@ export type PromptProbeState = {
selects: number
}
+export type PromptSendState = {
+ started: number
+ count: number
+ sessionID?: string
+ directory?: string
+}
+
export const promptEnabled = () => {
if (typeof window === "undefined") return false
return (window as E2EWindow).__opencode_e2e?.prompt?.enabled === true
@@ -53,4 +60,24 @@ export const promptProbe = {
if (!state) return
state.current = undefined
},
+ start() {
+ const state = root()
+ if (!state) return
+ state.sent = {
+ started: (state.sent?.started ?? 0) + 1,
+ count: state.sent?.count ?? 0,
+ sessionID: state.sent?.sessionID,
+ directory: state.sent?.directory,
+ }
+ },
+ submit(input: { sessionID: string; directory: string }) {
+ const state = root()
+ if (!state) return
+ state.sent = {
+ started: state.sent?.started ?? 0,
+ count: (state.sent?.count ?? 0) + 1,
+ sessionID: input.sessionID,
+ directory: input.directory,
+ }
+ },
}
diff --git a/packages/app/src/testing/terminal.ts b/packages/app/src/testing/terminal.ts
index 2bca39b31..db8001ddf 100644
--- a/packages/app/src/testing/terminal.ts
+++ b/packages/app/src/testing/terminal.ts
@@ -23,6 +23,7 @@ export type E2EWindow = Window & {
prompt?: {
enabled?: boolean
current?: import("./prompt").PromptProbeState
+ sent?: import("./prompt").PromptSendState
}
terminal?: {
enabled?: boolean