2026-02-01 16:47:50 +09:00
|
|
|
import type { PluginInput } from "@opencode-ai/plugin"
|
|
|
|
|
import type { BackgroundTask, LaunchInput } from "./types"
|
|
|
|
|
|
|
|
|
|
export const TASK_TTL_MS = 30 * 60 * 1000
|
2026-03-17 15:17:34 +09:00
|
|
|
export const TERMINAL_TASK_TTL_MS = 30 * 60 * 1000
|
2026-02-01 16:47:50 +09:00
|
|
|
export const MIN_STABILITY_TIME_MS = 10 * 1000
|
2026-03-23 20:49:43 +09:00
|
|
|
export const DEFAULT_STALE_TIMEOUT_MS = 2_700_000
|
|
|
|
|
export const DEFAULT_MESSAGE_STALENESS_TIMEOUT_MS = 3_600_000
|
2026-03-18 16:36:55 +09:00
|
|
|
export const DEFAULT_MAX_TOOL_CALLS = 4000
|
2026-03-18 14:32:27 +09:00
|
|
|
export const DEFAULT_CIRCUIT_BREAKER_CONSECUTIVE_THRESHOLD = 20
|
2026-03-17 13:29:06 -06:00
|
|
|
export const DEFAULT_CIRCUIT_BREAKER_ENABLED = true
|
2026-02-01 16:47:50 +09:00
|
|
|
export const MIN_RUNTIME_BEFORE_STALE_MS = 30_000
|
2026-03-27 15:43:01 +09:00
|
|
|
export const DEFAULT_SESSION_GONE_TIMEOUT_MS = 60_000
|
2026-02-01 16:47:50 +09:00
|
|
|
export const MIN_IDLE_TIME_MS = 5000
|
2026-02-01 19:01:30 +09:00
|
|
|
export const POLLING_INTERVAL_MS = 3000
|
|
|
|
|
export const TASK_CLEANUP_DELAY_MS = 10 * 60 * 1000
|
2026-02-01 16:47:50 +09:00
|
|
|
export const TMUX_CALLBACK_DELAY_MS = 200
|
|
|
|
|
|
|
|
|
|
export type ProcessCleanupEvent = NodeJS.Signals | "beforeExit" | "exit"
|
|
|
|
|
|
|
|
|
|
export type OpencodeClient = PluginInput["client"]
|
|
|
|
|
|
|
|
|
|
export interface MessagePartInfo {
|
|
|
|
|
sessionID?: string
|
|
|
|
|
type?: string
|
|
|
|
|
tool?: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface EventProperties {
|
|
|
|
|
sessionID?: string
|
|
|
|
|
info?: { id?: string }
|
|
|
|
|
[key: string]: unknown
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface BackgroundEvent {
|
|
|
|
|
type: string
|
|
|
|
|
properties?: EventProperties
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface Todo {
|
2026-02-14 17:41:40 +09:00
|
|
|
content: string;
|
|
|
|
|
status: string;
|
|
|
|
|
priority: string;
|
|
|
|
|
id?: string;
|
2026-02-01 16:47:50 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface QueueItem {
|
2026-04-28 15:27:35 +09:00
|
|
|
attemptID: string
|
2026-02-01 16:47:50 +09:00
|
|
|
task: BackgroundTask
|
|
|
|
|
input: LaunchInput
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface SubagentSessionCreatedEvent {
|
|
|
|
|
sessionID: string
|
|
|
|
|
parentID: string
|
|
|
|
|
title: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type OnSubagentSessionCreated = (event: SubagentSessionCreatedEvent) => Promise<void>
|