fix(schema): expose client-consumed events in the server manifest

This commit is contained in:
Dax Raad
2026-07-03 01:42:50 -04:00
parent ef2140d121
commit 0087dd56d9
3 changed files with 1701 additions and 3936 deletions
-172
View File
@@ -1,172 +0,0 @@
import { spawn } from "node:child_process"
import { readFile, rm } from "node:fs/promises"
import { homedir } from "node:os"
import { join } from "node:path"
// Everything a client needs to connect to an opencode server and to find or
// start the local background service.
//
// The service daemon advertises itself through a registration file in the
// user's state directory: url, pid, version, and the private password, with
// 0600 permissions. That file is the complete discovery contract — reading it
// is all a client needs to connect. The daemon's own configuration (port,
// persisted password) is CLI-owned and never read here.
export type Transport = {
readonly url: string
readonly headers?: RequestInit["headers"]
}
export type Discover = () => Promise<Transport | undefined>
export function basicAuth(password: string): RequestInit["headers"] {
return { authorization: "Basic " + btoa("opencode:" + password) }
}
export type Registration = {
readonly id?: string
readonly version?: string
readonly url: string
readonly pid: number
readonly password?: string
}
export type LocalService = {
readonly registration: Registration
readonly transport: Transport
}
export type ServiceOptions = {
// Absolute path to the service registration file. Defaults to
// opencode/service.json in the XDG state directory.
readonly file?: string
// When set, discovery only returns a server reporting this exact version,
// and start() replaces a healthy server whose version differs.
readonly version?: string
// Argv used to spawn the service. Defaults to ["opencode", "serve",
// "--service"] resolved from PATH.
readonly command?: ReadonlyArray<string>
readonly timeout?: number
}
export function defaultRegistrationFile(): string {
const state = process.env["XDG_STATE_HOME"] ?? join(homedir(), ".local", "state")
return join(state, "opencode", "service.json")
}
export async function readRegistration(file?: string): Promise<Registration | undefined> {
const text = await readFile(file ?? defaultRegistrationFile(), "utf8").catch(() => undefined)
if (text === undefined) return undefined
const value: unknown = JSON.parse(text)
if (typeof value !== "object" || value === null) return undefined
const record = value as Record<string, unknown>
if (typeof record.url !== "string") return undefined
if (typeof record.pid !== "number" || !Number.isInteger(record.pid) || record.pid <= 0) return undefined
return {
id: typeof record.id === "string" ? record.id : undefined,
version: typeof record.version === "string" ? record.version : undefined,
url: record.url,
pid: record.pid,
password: typeof record.password === "string" ? record.password : undefined,
}
}
// Read-only lookup: registration file plus health check and version gate.
// Never spawns; escalation to start() is the caller's policy.
export async function discover(options: ServiceOptions = {}): Promise<LocalService | undefined> {
const registration = await readRegistration(options.file).catch(() => undefined)
if (registration === undefined) return undefined
if (options.version !== undefined && registration.version !== options.version) return undefined
return await probe(registration, options)
}
async function probe(registration: Registration, options: ServiceOptions): Promise<LocalService | undefined> {
const headers = registration.password === undefined ? undefined : basicAuth(registration.password)
const healthy = await fetch(new URL("/api/health", registration.url), {
headers,
signal: AbortSignal.timeout(options.timeout ?? 2_000),
})
.then((response) => response.ok)
.catch(() => false)
if (!healthy) return undefined
return { registration, transport: { url: registration.url, headers } }
}
// Health-checked lookup without the version gate: lifecycle operations must be
// able to see (and replace or stop) a server from a different version.
async function anyService(options: ServiceOptions): Promise<LocalService | undefined> {
const registration = await readRegistration(options.file).catch(() => undefined)
if (registration === undefined) return undefined
return await probe(registration, options)
}
function signal(pid: number, name: "SIGTERM" | "SIGKILL" | 0): boolean {
try {
process.kill(pid, name)
return true
} catch {
return false
}
}
async function awaitStopped(pid: number, timeout: number): Promise<boolean> {
const deadline = Date.now() + timeout
while (Date.now() < deadline) {
if (!signal(pid, 0)) return true
await new Promise((resolve) => setTimeout(resolve, 50))
}
return !signal(pid, 0)
}
function sameRegistration(left: Registration, right: Registration) {
return left.id === right.id && left.version === right.version && left.url === right.url && left.pid === right.pid
}
async function stopProcess(info: Registration, options: ServiceOptions): Promise<void> {
// A stale registration may point at a PID that has since been reused by
// another process. Only signal the PID after authenticating the server.
const current = await anyService(options)
if (current === undefined || !sameRegistration(current.registration, info)) return
signal(info.pid, "SIGTERM")
if (await awaitStopped(info.pid, 5_000)) return
const latest = await anyService(options)
if (latest === undefined || !sameRegistration(latest.registration, info)) return
signal(info.pid, "SIGKILL")
await awaitStopped(info.pid, 5_000)
}
export async function stop(options: ServiceOptions = {}): Promise<void> {
const existing = await anyService(options)
if (existing !== undefined) await stopProcess(existing.registration, options)
await rm(options.file ?? defaultRegistrationFile(), { force: true }).catch(() => undefined)
}
// Idempotent ensure-running: reuses a healthy compatible server, replaces a
// version-mismatched one, and otherwise spawns the service command detached.
export async function start(options: ServiceOptions = {}): Promise<Transport> {
const compatible = await discover(options)
if (compatible !== undefined) return compatible.transport
const mismatched = await anyService(options)
if (mismatched !== undefined) await stopProcess(mismatched.registration, options).catch(() => undefined)
const [command, ...args] = options.command ?? ["opencode", "serve", "--service"]
if (command === undefined) throw new Error("Missing service command")
spawn(command, args, { detached: true, stdio: "ignore" }).unref()
const deadline = Date.now() + 5_000
while (Date.now() < deadline) {
const found = await discover(options)
if (found !== undefined) return found.transport
await new Promise((resolve) => setTimeout(resolve, 50))
}
throw new Error("Failed to start server")
}
// Default connection policy for the local service: discover, else start.
export async function connect(options: ServiceOptions = {}): Promise<Transport> {
const found = await discover(options)
if (found !== undefined) return found.transport
return await start(options)
}
+12
View File
@@ -66,6 +66,18 @@ export const ServerDefinitions = Event.inventory(
...foundationDefinitions,
...featureDefinitions,
...SessionTodo.Event.Definitions,
// Current events the TUI consumes from the public stream.
...SessionStatusEvent.Definitions,
...TuiEvent.Definitions,
...InstallationEvent.Definitions,
...VcsEvent.Definitions,
McpEvent.StatusChanged,
// Shared transitional: V1 contracts the current TUI still consumes during
// the migration (permission.asked/replied, question.asked, session.error).
// Remove when the TUI moves to the current permission/question surfaces.
...PermissionV1.Event.Definitions,
...QuestionV1.Event.Definitions,
SessionV1.Error,
)
export const Definitions = Event.inventory(
+1689 -3764
View File
@@ -74,9 +74,9 @@ export type Event =
| EventShellCreated
| EventShellExited
| EventShellDeleted
| EventQuestionV2Asked
| EventQuestionV2Replied
| EventQuestionV2Rejected
| EventFormCreated
| EventFormReplied
| EventFormCancelled
| EventTodoUpdated
| EventLspUpdated
| EventPermissionAsked
@@ -1447,32 +1447,26 @@ export type GlobalEvent = {
}
| {
id: string
type: "question.v2.asked"
type: "form.created"
properties: {
form: FormFormInfo | FormUrlInfo
}
}
| {
id: string
type: "form.replied"
properties: {
id: string
sessionID: string
/**
* Questions to ask
*/
questions: Array<QuestionV2Info>
tool?: QuestionV2Tool
answer: FormAnswer
}
}
| {
id: string
type: "question.v2.replied"
type: "form.cancelled"
properties: {
id: string
sessionID: string
requestID: string
answers: Array<QuestionV2Answer>
}
}
| {
id: string
type: "question.v2.rejected"
properties: {
sessionID: string
requestID: string
}
}
| {
@@ -2801,356 +2795,11 @@ export type WorkspaceWarpError = {
}
}
export type UnauthorizedError = {
_tag: "UnauthorizedError"
message: string
}
export type SessionWatermarks = {
[key: string]: unknown | number
}
export type SessionsResponse = {
data: Array<SessionV2Info>
watermarks: SessionWatermarks
cursor: {
previous?: string
next?: string
}
}
export type InvalidCursorError = {
_tag: "InvalidCursorError"
message: string
}
export type SessionActive = {
type: "running"
}
export type SessionNotFoundError = {
_tag: "SessionNotFoundError"
sessionID: string
message: string
}
export type MessageNotFoundError = {
_tag: "MessageNotFoundError"
sessionID: string
messageID: string
message: string
}
export type PromptInput = {
text: string
files?: Array<PromptInputFileAttachment>
agents?: Array<PromptAgentAttachment>
}
export type ConflictError = {
_tag: "ConflictError"
message: string
resource?: string
}
export type CommandNotFoundError = {
_tag: "CommandNotFoundError"
command: string
message: string
}
export type CommandEvaluationError = {
_tag: "CommandEvaluationError"
command: string
message: string
}
export type SkillNotFoundError = {
_tag: "SkillNotFoundError"
skill: string
message: string
}
export type ServiceUnavailableError = {
_tag: "ServiceUnavailableError"
message: string
service?: string
}
export type UnknownError1 = {
_tag: "UnknownError"
message: string
ref?: string
}
export type SessionDurableEvent =
| SessionNextAgentSwitched
| SessionNextModelSwitched
| SessionNextMoved
| SessionNextRenamed
| SessionNextForked
| SessionNextPrompted
| SessionNextPromptAdmitted
| SessionNextContextUpdated
| SessionNextSynthetic
| SessionNextSkillActivated
| SessionNextShellStarted
| SessionNextShellEnded
| SessionNextStepStarted
| SessionNextStepEnded
| SessionNextStepFailed
| SessionNextTextStarted
| SessionNextTextEnded
| SessionNextToolInputStarted
| SessionNextToolInputEnded
| SessionNextToolCalled
| SessionNextToolProgress
| SessionNextToolSuccess
| SessionNextToolFailed
| SessionNextReasoningStarted
| SessionNextReasoningEnded
| SessionNextRetried
| SessionNextCompactionStarted
| SessionNextCompactionEnded
| SessionNextRevertStaged
| SessionNextRevertCleared
| SessionNextRevertCommitted
export type SessionLogItem = SessionDurableEvent | EventLogSynced
export type SessionLogItemStream = string
export type SessionMessagesResponse = {
data: Array<SessionMessage>
watermark?: number
cursor: {
previous?: string
next?: string
}
}
export type GenerateTextResponse = {
data: {
text: string
}
}
export type ProviderNotFoundError = {
_tag: "ProviderNotFoundError"
providerID: string
message: string
}
export type OutputFormat1 =
| {
type: "text"
}
| {
type: "json_schema"
schema: JsonSchema
retryCount?: number
}
export type Shell1 = {
id: string
status: "running" | "exited" | "timeout" | "killed"
command: string
cwd: string
shell: string
file: string
pid?: number
exit?: number | "NaN" | "Infinity" | "-Infinity"
metadata: {
[key: string]: unknown
}
time: {
started: number | "NaN" | "Infinity" | "-Infinity"
completed?: number | "NaN" | "Infinity" | "-Infinity"
}
}
export type SessionStatus2 = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.status"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
status: SessionStatus
}
}
export type QuestionReplied2 = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.replied"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
requestID: string
answers: Array<QuestionAnswer>
}
}
export type QuestionRejected2 = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.rejected"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
requestID: string
}
}
export type V2Event =
| ModelsDevRefreshed
| IntegrationUpdated
| IntegrationConnectionUpdated
| CatalogUpdated
| AgentUpdated
| SessionCreated
| SessionUpdated
| SessionDeleted
| MessageUpdated
| MessageRemoved
| MessagePartUpdated
| MessagePartRemoved
| SessionNextAgentSwitched
| SessionNextModelSwitched
| SessionNextMoved
| SessionNextRenamed
| SessionNextForked
| SessionNextPrompted
| SessionNextPromptAdmitted
| SessionNextExecutionSettled
| SessionNextContextUpdated
| SessionNextSynthetic
| SessionNextSkillActivated
| SessionNextShellStarted
| SessionNextShellEnded
| SessionNextStepStarted
| SessionNextStepEnded
| SessionNextStepFailed
| SessionNextTextStarted
| SessionNextTextDelta
| SessionNextTextEnded
| SessionNextReasoningStarted
| SessionNextReasoningDelta
| SessionNextReasoningEnded
| SessionNextToolInputStarted
| SessionNextToolInputDelta
| SessionNextToolInputEnded
| SessionNextToolCalled
| SessionNextToolProgress
| SessionNextToolSuccess
| SessionNextToolFailed
| SessionNextRetried
| SessionNextCompactionStarted
| SessionNextCompactionDelta
| SessionNextCompactionEnded
| SessionNextRevertStaged
| SessionNextRevertCleared
| SessionNextRevertCommitted
| MessagePartDelta
| SessionDiff
| SessionError
| InstallationUpdated
| InstallationUpdateAvailable
| FileEdited
| ReferenceUpdated
| PermissionV2Asked
| PermissionV2Replied
| PluginAdded
| ProjectDirectoriesUpdated
| CommandUpdated
| SkillUpdated
| FileWatcherUpdated
| PtyCreated
| PtyUpdated
| PtyExited
| PtyDeleted
| ShellCreated
| ShellExited
| ShellDeleted
| QuestionV2Asked
| QuestionV2Replied
| QuestionV2Rejected
| TodoUpdated
| LspUpdated
| PermissionAsked
| PermissionReplied
| TuiPromptAppend
| TuiCommandExecute
| TuiToastShow
| TuiSessionSelect
| McpToolsChanged
| McpBrowserOpenFailed
| McpStatusChanged
| CommandExecuted
| ProjectUpdated
| SessionStatus2
| SessionIdle
| QuestionAsked
| QuestionReplied2
| QuestionRejected2
| SessionCompacted
| VcsBranchUpdated
| WorkspaceReady
| WorkspaceFailed
| WorkspaceStatus
| WorktreeReady
| WorktreeFailed
| ServerConnected
| GlobalDisposed
export type V2EventStream = string
export type ForbiddenError = {
_tag: "ForbiddenError"
message: string
}
export type ShellNotFoundError = {
_tag: "ShellNotFoundError"
id: string
message: string
}
export type ProjectCopyError = {
name: "ProjectCopyError"
data: {
message: string
forceRequired?: boolean
}
}
export type EffectHttpApiErrorForbidden = {
_tag: "Forbidden"
}
export type Shell2 = {
export type Shell1 = {
id: string
status: "running" | "exited" | "timeout" | "killed"
command: string
@@ -3335,40 +2984,120 @@ export type PermissionV2Source = {
export type PermissionV2Reply = "once" | "always" | "reject"
export type QuestionV2Option = {
/**
* Display text (1-5 words, concise)
*/
label: string
/**
* Explanation of choice
*/
description: string
export type FormMetadata = {
[key: string]: unknown
}
export type QuestionV2Info = {
/**
* Complete question
*/
question: string
/**
* Very short label (max 30 chars)
*/
header: string
/**
* Available choices
*/
options: Array<QuestionV2Option>
multiple?: boolean
export type FormWhen = {
key: string
op: "eq" | "neq"
value: string
}
export type FormOption = {
value: string
label: string
description?: string
}
export type FormStringField = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen
type: "string"
format?: "email" | "uri" | "date" | "date-time"
minLength?: number
maxLength?: number
pattern?: string
placeholder?: string
default?: string
options?: Array<FormOption>
custom?: boolean
}
export type QuestionV2Tool = {
messageID: string
callID: string
export type FormNumberField = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen
type: "number"
minimum?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
maximum?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
default?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
export type QuestionV2Answer = Array<string>
export type FormIntegerField = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen
type: "integer"
minimum?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
maximum?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
default?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
export type FormBooleanField = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen
type: "boolean"
default?: boolean
}
export type FormMultiselectField = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen
type: "multiselect"
options: Array<FormOption>
minItems?: number
maxItems?: number
custom?: boolean
default?: Array<string>
}
export type FormFormInfo = {
id: string
sessionID: string
title?: string
metadata?: FormMetadata
mode: "form"
fields: Array<FormStringField | FormNumberField | FormIntegerField | FormBooleanField | FormMultiselectField>
}
export type FormUrlInfo = {
id: string
sessionID: string
title?: string
metadata?: FormMetadata
mode: "url"
url: string
}
export type FormValue =
| string
| number
| "NaN"
| "Infinity"
| "-Infinity"
| "Infinity"
| "-Infinity"
| "NaN"
| boolean
| Array<string>
export type FormAnswer = {
[key: string]: FormValue
}
export type ProjectVcs = "git"
@@ -4124,2601 +3853,6 @@ export type WorkspaceEventConnectionStatus = {
status: "connected" | "connecting" | "disconnected" | "error"
}
export type LocationInfo = {
directory: string
workspaceID?: string
project: {
id: string
directory: string
}
}
export type ProviderSettings = {
[key: string]: unknown
}
export type ProviderRequest = {
settings: ProviderSettings
headers: {
[key: string]: string
}
body: {
[key: string]: unknown
}
}
export type AgentColor = string | "primary" | "secondary" | "accent" | "success" | "warning" | "error" | "info"
export type PermissionV2Effect = "allow" | "deny" | "ask"
export type PermissionV2Rule = {
action: string
resource: string
effect: PermissionV2Effect
}
export type PermissionV2Ruleset = Array<PermissionV2Rule>
export type AgentV2Info = {
id: string
model?: ModelRef
request: ProviderRequest
system?: string
description?: string
mode: "subagent" | "primary" | "all"
hidden: boolean
color?: AgentColor
steps?: number
permissions: PermissionV2Ruleset
}
export type PluginInfo = {
id: string
}
export type SessionV2Info = {
id: string
parentID?: string
projectID: string
agent?: string
model?: ModelRef
cost: number
tokens: {
input: number
output: number
reasoning: number
cache: {
read: number
write: number
}
}
time: {
created: number
updated: number
archived?: number
}
title: string
location: LocationRef
subpath?: string
revert?: RevertState
}
export type PromptInputFileAttachment = {
uri: string
name?: string
description?: string
source?: PromptSource
}
export type SessionInputAdmitted = {
admittedSeq: number
id: string
sessionID: string
prompt: Prompt
delivery: "steer" | "queue"
timeCreated: number
promotedSeq?: number
}
export type SessionMessageAgentSwitched = {
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
}
type: "agent-switched"
agent: string
}
export type SessionMessageModelSwitched = {
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
}
type: "model-switched"
model: ModelRef
}
export type SessionMessageUser = {
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
}
text: string
files?: Array<PromptFileAttachment>
agents?: Array<PromptAgentAttachment>
type: "user"
}
export type SessionMessageSynthetic = {
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
}
sessionID: string
text: string
description?: string
type: "synthetic"
}
export type SessionMessageSystem = {
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
}
type: "system"
text: string
}
export type SessionMessageSkill = {
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
}
type: "skill"
name: string
text: string
}
export type SessionMessageShell = {
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
completed?: number
}
type: "shell"
callID: string
command: string
output: string
}
export type SessionMessageAssistantText = {
type: "text"
id: string
text: string
}
export type SessionMessageAssistantReasoning = {
type: "reasoning"
id: string
text: string
providerMetadata?: LlmProviderMetadata
time?: {
created: number
completed?: number
}
}
export type SessionMessageToolStatePending = {
status: "pending"
input: string
}
export type SessionMessageToolStateRunning = {
status: "running"
input: {
[key: string]: unknown
}
structured: {
[key: string]: unknown
}
content: Array<LlmToolContent>
}
export type SessionMessageToolStateCompleted = {
status: "completed"
input: {
[key: string]: unknown
}
attachments?: Array<PromptFileAttachment>
content: Array<LlmToolContent>
outputPaths?: Array<string>
structured: {
[key: string]: unknown
}
result?: unknown
}
export type SessionMessageToolStateError = {
status: "error"
input: {
[key: string]: unknown
}
content: Array<LlmToolContent>
structured: {
[key: string]: unknown
}
error: SessionErrorUnknown
result?: unknown
}
export type SessionMessageAssistantTool = {
type: "tool"
id: string
name: string
provider?: {
executed: boolean
metadata?: LlmProviderMetadata
resultMetadata?: LlmProviderMetadata
}
state:
| SessionMessageToolStatePending
| SessionMessageToolStateRunning
| SessionMessageToolStateCompleted
| SessionMessageToolStateError
time: {
created: number
ran?: number
completed?: number
pruned?: number
}
}
export type SessionMessageAssistant = {
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
completed?: number
}
type: "assistant"
agent: string
model: ModelRef
content: Array<SessionMessageAssistantText | SessionMessageAssistantReasoning | SessionMessageAssistantTool>
snapshot?: {
start?: string
end?: string
files?: Array<string>
}
finish?: string
cost?: number
tokens?: {
input: number
output: number
reasoning: number
cache: {
read: number
write: number
}
}
error?: SessionErrorUnknown
}
export type SessionMessageCompaction = {
type: "compaction"
reason: "auto" | "manual"
summary: string
recent: string
id: string
metadata?: {
[key: string]: unknown
}
time: {
created: number
}
}
export type SessionMessage =
| SessionMessageAgentSwitched
| SessionMessageModelSwitched
| SessionMessageUser
| SessionMessageSynthetic
| SessionMessageSystem
| SessionMessageSkill
| SessionMessageShell
| SessionMessageAssistant
| SessionMessageCompaction
export type SessionContextEntryKey = string
export type SessionContextEntryInfo = {
key: SessionContextEntryKey
value: unknown
}
export type SessionNextAgentSwitched = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.agent.switched"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
agent: string
}
}
export type SessionNextModelSwitched = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.model.switched"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
model: ModelRef
}
}
export type SessionNextMoved = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.moved"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
location: LocationRef
subdirectory?: string
}
}
export type SessionNextRenamed = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.renamed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
title: string
}
}
export type SessionNextForked = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.forked"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
parentID: string
messageID?: string
}
}
export type SessionNextPrompted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.prompted"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
prompt: Prompt
delivery: "steer" | "queue"
}
}
export type SessionNextPromptAdmitted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.prompt.admitted"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
prompt: Prompt
delivery: "steer" | "queue"
}
}
export type SessionNextContextUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.context.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
text: string
}
}
export type SessionNextSynthetic = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.synthetic"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
text: string
description?: string
metadata?: {
[key: string]: unknown
}
}
}
export type SessionNextSkillActivated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.skill.activated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
name: string
text: string
}
}
export type SessionNextShellStarted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.shell.started"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
callID: string
command: string
}
}
export type SessionNextShellEnded = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.shell.ended"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
callID: string
output: string
}
}
export type SessionNextStepStarted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.step.started"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
agent: string
model: ModelRef
snapshot?: string
}
}
export type SessionNextStepEnded = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.step.ended"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
finish: string
cost: number
tokens: {
input: number
output: number
reasoning: number
cache: {
read: number
write: number
}
}
snapshot?: string
files?: Array<string>
}
}
export type SessionNextStepFailed = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.step.failed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
error: SessionErrorUnknown
}
}
export type SessionNextTextStarted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.text.started"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
textID: string
}
}
export type SessionNextTextEnded = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.text.ended"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
textID: string
text: string
}
}
export type SessionNextToolInputStarted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.tool.input.started"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
callID: string
name: string
}
}
export type SessionNextToolInputEnded = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.tool.input.ended"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
callID: string
text: string
}
}
export type SessionNextToolCalled = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.tool.called"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
callID: string
tool: string
input: {
[key: string]: unknown
}
provider: {
executed: boolean
metadata?: LlmProviderMetadata
}
}
}
export type SessionNextToolProgress = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.tool.progress"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
callID: string
structured: {
[key: string]: unknown
}
content: Array<LlmToolContent>
}
}
export type SessionNextToolSuccess = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.tool.success"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
callID: string
structured: {
[key: string]: unknown
}
content: Array<LlmToolContent>
outputPaths?: Array<string>
result?: unknown
provider: {
executed: boolean
metadata?: LlmProviderMetadata
}
}
}
export type SessionNextToolFailed = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.tool.failed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
callID: string
error: SessionErrorUnknown
result?: unknown
provider: {
executed: boolean
metadata?: LlmProviderMetadata
}
}
}
export type SessionNextReasoningStarted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.reasoning.started"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
reasoningID: string
providerMetadata?: LlmProviderMetadata
}
}
export type SessionNextReasoningEnded = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.reasoning.ended"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
reasoningID: string
text: string
providerMetadata?: LlmProviderMetadata
}
}
export type SessionNextRetried = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.retried"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
attempt: number
error: SessionNextRetryError
}
}
export type SessionNextCompactionStarted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.compaction.started"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
reason: "auto" | "manual"
}
}
export type SessionNextCompactionEnded = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.compaction.ended"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
reason: "auto" | "manual"
text: string
recent: string
}
}
export type SessionNextRevertStaged = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.revert.staged"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
revert: RevertState
}
}
export type SessionNextRevertCleared = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.revert.cleared"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
}
}
export type SessionNextRevertCommitted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.revert.committed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
}
}
export type EventLogSynced = {
type: "log.synced"
aggregateID: string
seq?: number
}
export type ModelApi =
| {
id: string
type: "aisdk"
package: string
url?: string
settings?: {
[key: string]: unknown
}
}
| {
id: string
type: "native"
url?: string
settings: {
[key: string]: unknown
}
}
export type ModelCapabilities = {
tools: boolean
input: Array<string>
output: Array<string>
}
export type ModelCost = {
tier?: {
type: "context"
size: number
}
input: number
output: number
cache: {
read: number
write: number
}
}
export type ModelV2Info = {
id: string
providerID: string
family?: string
name: string
api: ModelApi
capabilities: ModelCapabilities
request: {
settings: ProviderSettings
headers: {
[key: string]: string
}
body: {
[key: string]: unknown
}
variant?: string
}
variants: Array<{
id: string
settings: ProviderSettings
headers: {
[key: string]: string
}
body: {
[key: string]: unknown
}
}>
time: {
released: number
}
cost: Array<ModelCost>
status: "alpha" | "beta" | "deprecated" | "active"
enabled: boolean
limit: {
context: number
input?: number
output: number
}
}
export type ProviderAisdk = {
type: "aisdk"
package: string
url?: string
settings?: {
[key: string]: unknown
}
}
export type ProviderNative = {
type: "native"
url?: string
settings: {
[key: string]: unknown
}
}
export type ProviderApi = ProviderAisdk | ProviderNative
export type ProviderV2Info = {
id: string
integrationID?: string
name: string
disabled?: boolean
api: ProviderApi
request: ProviderRequest
}
export type IntegrationWhen = {
key: string
op: "eq" | "neq"
value: string
}
export type IntegrationTextPrompt = {
type: "text"
key: string
message: string
placeholder?: string
when?: IntegrationWhen
}
export type IntegrationSelectPrompt = {
type: "select"
key: string
message: string
options: Array<{
label: string
value: string
hint?: string
}>
when?: IntegrationWhen
}
export type IntegrationOAuthMethod = {
id: string
type: "oauth"
label: string
prompts?: Array<IntegrationTextPrompt | IntegrationSelectPrompt>
}
export type IntegrationKeyMethod = {
type: "key"
label?: string
}
export type IntegrationEnvMethod = {
type: "env"
names: Array<string>
}
export type ConnectionCredentialInfo = {
type: "credential"
id: string
label: string
}
export type ConnectionEnvInfo = {
type: "env"
name: string
}
export type ConnectionInfo = ConnectionCredentialInfo | ConnectionEnvInfo
export type IntegrationInfo = {
id: string
name: string
methods: Array<IntegrationMethod>
connections: Array<ConnectionInfo>
}
export type IntegrationAttempt = {
attemptID: string
url: string
instructions: string
mode: "auto" | "code"
time: {
created: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
expires: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
}
export type IntegrationAttemptStatus =
| {
status: "pending"
time: {
created: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
expires: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
}
| {
status: "complete"
time: {
created: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
expires: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
}
| {
status: "failed"
message: string
time: {
created: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
expires: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
}
| {
status: "expired"
time: {
created: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
expires: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
}
export type McpStatusConnected2 = {
status: "connected"
}
export type McpStatusDisconnected = {
status: "disconnected"
}
export type McpStatusDisabled2 = {
status: "disabled"
}
export type McpStatusFailed2 = {
status: "failed"
error: string
}
export type McpStatusNeedsAuth2 = {
status: "needs_auth"
}
export type McpStatusNeedsClientRegistration2 = {
status: "needs_client_registration"
error: string
}
export type McpServer = {
name: string
status:
| McpStatusConnected2
| McpStatusDisconnected
| McpStatusDisabled2
| McpStatusFailed2
| McpStatusNeedsAuth2
| McpStatusNeedsClientRegistration2
integrationID?: string
}
export type ProjectCurrent = {
id: string
directory: string
}
export type PermissionV2Request = {
id: string
sessionID: string
action: string
resources: Array<string>
save?: Array<string>
metadata?: {
[key: string]: unknown
}
source?: PermissionV2Source
}
export type PermissionSavedInfo = {
id: string
projectID: string
action: string
resource: string
}
export type FileSystemEntry = {
path: string
type: "file" | "directory"
}
export type CommandV2Info = {
name: string
template: string
description?: string
agent?: string
model?: ModelRef
subtask?: boolean
}
export type SkillV2Info = {
name: string
description?: string
slash?: boolean
autoinvoke?: boolean
location: string
content: string
}
export type ModelsDevRefreshed = {
id: string
metadata?: {
[key: string]: unknown
}
type: "models-dev.refreshed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type IntegrationUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "integration.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type IntegrationConnectionUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "integration.connection.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
integrationID: string
}
}
export type CatalogUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "catalog.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type AgentUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "agent.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type SessionCreated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.created"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
info: Session
}
}
export type SessionUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
info: Session
}
}
export type SessionDeleted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.deleted"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
info: Session
}
}
export type MessageUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "message.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
info: Message
}
}
export type MessageRemoved = {
id: string
metadata?: {
[key: string]: unknown
}
type: "message.removed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
messageID: string
}
}
export type MessagePartUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "message.part.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
part: Part
time: number
}
}
export type MessagePartRemoved = {
id: string
metadata?: {
[key: string]: unknown
}
type: "message.part.removed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
messageID: string
partID: string
}
}
export type SessionNextExecutionSettled = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.execution.settled"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
outcome: "success" | "failure" | "interrupted"
error?: SessionErrorUnknown
}
}
export type SessionNextTextDelta = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.text.delta"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
textID: string
delta: string
}
}
export type SessionNextReasoningDelta = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.reasoning.delta"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
reasoningID: string
delta: string
}
}
export type SessionNextToolInputDelta = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.tool.input.delta"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
assistantMessageID: string
callID: string
delta: string
}
}
export type SessionNextCompactionDelta = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.next.compaction.delta"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
timestamp: number
sessionID: string
messageID: string
text: string
}
}
export type MessagePartDelta = {
id: string
metadata?: {
[key: string]: unknown
}
type: "message.part.delta"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
messageID: string
partID: string
field: string
delta: string
}
}
export type SessionDiff = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.diff"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
diff: Array<SnapshotFileDiff>
}
}
export type SessionError = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.error"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID?: string
error?:
| ProviderAuthError
| UnknownError
| MessageOutputLengthError
| MessageAbortedError
| StructuredOutputError
| ContextOverflowError
| ContentFilterError
| ApiError
}
}
export type InstallationUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "installation.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
version: string
}
}
export type InstallationUpdateAvailable = {
id: string
metadata?: {
[key: string]: unknown
}
type: "installation.update-available"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
version: string
}
}
export type FileEdited = {
id: string
metadata?: {
[key: string]: unknown
}
type: "file.edited"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
file: string
}
}
export type ReferenceUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "reference.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type PermissionV2Asked = {
id: string
metadata?: {
[key: string]: unknown
}
type: "permission.v2.asked"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
sessionID: string
action: string
resources: Array<string>
save?: Array<string>
metadata?: {
[key: string]: unknown
}
source?: PermissionV2Source
}
}
export type PermissionV2Replied = {
id: string
metadata?: {
[key: string]: unknown
}
type: "permission.v2.replied"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
requestID: string
reply: PermissionV2Reply
}
}
export type PluginAdded = {
id: string
metadata?: {
[key: string]: unknown
}
type: "plugin.added"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
}
}
export type ProjectDirectoriesUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "project.directories.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
projectID: string
}
}
export type CommandUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "command.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type SkillUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "skill.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type FileWatcherUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "file.watcher.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
file: string
event: "add" | "change" | "unlink"
}
}
export type PtyCreated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "pty.created"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
info: Pty
}
}
export type PtyUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "pty.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
info: Pty
}
}
export type PtyExited = {
id: string
metadata?: {
[key: string]: unknown
}
type: "pty.exited"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
exitCode: number
}
}
export type PtyDeleted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "pty.deleted"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
}
}
export type ShellCreated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "shell.created"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
info: Shell1
}
}
export type ShellExited = {
id: string
metadata?: {
[key: string]: unknown
}
type: "shell.exited"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
exit?: number | "NaN" | "Infinity" | "-Infinity"
status: "running" | "exited" | "timeout" | "killed"
}
}
export type ShellDeleted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "shell.deleted"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
}
}
export type QuestionV2Asked = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.v2.asked"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
sessionID: string
/**
* Questions to ask
*/
questions: Array<QuestionV2Info>
tool?: QuestionV2Tool
}
}
export type QuestionV2Replied = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.v2.replied"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
requestID: string
answers: Array<QuestionV2Answer>
}
}
export type QuestionV2Rejected = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.v2.rejected"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
requestID: string
}
}
export type TodoUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "todo.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
todos: Array<Todo>
}
}
export type LspUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "lsp.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type PermissionAsked = {
id: string
metadata?: {
[key: string]: unknown
}
type: "permission.asked"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
sessionID: string
permission: string
patterns: Array<string>
metadata: {
[key: string]: unknown
}
always: Array<string>
tool?: {
messageID: string
callID: string
}
}
}
export type PermissionReplied = {
id: string
metadata?: {
[key: string]: unknown
}
type: "permission.replied"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
requestID: string
reply: "once" | "always" | "reject"
}
}
export type TuiPromptAppend = {
id: string
metadata?: {
[key: string]: unknown
}
type: "tui.prompt.append"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
text: string
}
}
export type TuiCommandExecute = {
id: string
metadata?: {
[key: string]: unknown
}
type: "tui.command.execute"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
command:
| "session.list"
| "session.new"
| "session.share"
| "session.interrupt"
| "session.background"
| "session.compact"
| "session.page.up"
| "session.page.down"
| "session.line.up"
| "session.line.down"
| "session.half.page.up"
| "session.half.page.down"
| "session.first"
| "session.last"
| "prompt.clear"
| "prompt.submit"
| "agent.cycle"
| string
}
}
export type TuiToastShow = {
id: string
metadata?: {
[key: string]: unknown
}
type: "tui.toast.show"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
title?: string
message: string
variant: "info" | "success" | "warning" | "error"
duration?: number
}
}
export type TuiSessionSelect = {
id: string
metadata?: {
[key: string]: unknown
}
type: "tui.session.select"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
/**
* Session ID to navigate to
*/
sessionID: string
}
}
export type McpToolsChanged = {
id: string
metadata?: {
[key: string]: unknown
}
type: "mcp.tools.changed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
server: string
}
}
export type McpBrowserOpenFailed = {
id: string
metadata?: {
[key: string]: unknown
}
type: "mcp.browser.open.failed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
mcpName: string
url: string
}
}
export type McpStatusChanged = {
id: string
metadata?: {
[key: string]: unknown
}
type: "mcp.status.changed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
server: string
}
}
export type CommandExecuted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "command.executed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
name: string
sessionID: string
arguments: string
messageID: string
}
}
export type ProjectUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "project.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
worktree: string
vcs?: ProjectVcs
name?: string
icon?: ProjectIcon
commands?: ProjectCommands
time: ProjectTime
sandboxes: Array<string>
}
}
export type SessionIdle = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.idle"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
}
}
export type QuestionAsked = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.asked"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
id: string
sessionID: string
/**
* Questions to ask
*/
questions: Array<QuestionInfo>
tool?: QuestionTool
}
}
export type SessionCompacted = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.compacted"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
sessionID: string
}
}
export type VcsBranchUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "vcs.branch.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
branch?: string
}
}
export type WorkspaceReady = {
id: string
metadata?: {
[key: string]: unknown
}
type: "workspace.ready"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
name: string
}
}
export type WorkspaceFailed = {
id: string
metadata?: {
[key: string]: unknown
}
type: "workspace.failed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
message: string
}
}
export type WorkspaceStatus = {
id: string
metadata?: {
[key: string]: unknown
}
type: "workspace.status"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
workspaceID: string
status: "connected" | "connecting" | "disconnected" | "error"
}
}
export type WorktreeReady = {
id: string
metadata?: {
[key: string]: unknown
}
type: "worktree.ready"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
name: string
branch?: string
}
}
export type WorktreeFailed = {
id: string
metadata?: {
[key: string]: unknown
}
type: "worktree.failed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
message: string
}
}
export type ServerConnected = {
id: string
metadata?: {
[key: string]: unknown
}
type: "server.connected"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type GlobalDisposed = {
id: string
metadata?: {
[key: string]: unknown
}
type: "global.disposed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef
data: {
[key: string]: unknown
}
}
export type EventLogHint = {
type: "log.hint"
aggregateID: string
seq: number
}
export type EventLogSweepRequired = {
type: "log.sweep_required"
}
export type EventLogChange = EventLogHint | EventLogSweepRequired
export type EventLogChangeStream = string
export type QuestionV2Request = {
id: string
sessionID: string
/**
* Questions to ask
*/
questions: Array<QuestionV2Info>
tool?: QuestionV2Tool
}
export type QuestionV2Reply = {
/**
* User answers in order of questions (each answer is an array of selected labels)
*/
answers: Array<QuestionV2Answer>
}
export type ReferenceLocalSource = {
type: "local"
path: string
description?: string
hidden?: boolean
}
export type ReferenceGitSource = {
type: "git"
repository: string
branch?: string
description?: string
hidden?: boolean
}
export type ReferenceSource = ReferenceLocalSource | ReferenceGitSource
export type ReferenceInfo = {
name: string
path: string
description?: string
hidden?: boolean
source: ReferenceSource
}
export type ProjectCopyCopy = {
directory: string
}
export type EventModelsDevRefreshed = {
id: string
type: "models-dev.refreshed"
@@ -7450,7 +4584,7 @@ export type EventShellCreated = {
id: string
type: "shell.created"
properties: {
info: Shell2
info: Shell1
}
}
@@ -7472,36 +4606,56 @@ export type EventShellDeleted = {
}
}
export type EventQuestionV2Asked = {
export type FormNumberField1 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen
type: "number"
minimum?: number | "NaN" | "Infinity" | "-Infinity"
maximum?: number | "NaN" | "Infinity" | "-Infinity"
default?: number | "NaN" | "Infinity" | "-Infinity"
}
export type FormIntegerField1 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen
type: "integer"
minimum?: number | "NaN" | "Infinity" | "-Infinity"
maximum?: number | "NaN" | "Infinity" | "-Infinity"
default?: number | "NaN" | "Infinity" | "-Infinity"
}
export type EventFormCreated = {
id: string
type: "question.v2.asked"
type: "form.created"
properties: {
form: FormFormInfo | FormUrlInfo
}
}
export type FormValue1 = string | number | "NaN" | "Infinity" | "-Infinity" | boolean | Array<string>
export type EventFormReplied = {
id: string
type: "form.replied"
properties: {
id: string
sessionID: string
/**
* Questions to ask
*/
questions: Array<QuestionV2Info>
tool?: QuestionV2Tool
answer: FormAnswer
}
}
export type EventQuestionV2Replied = {
export type EventFormCancelled = {
id: string
type: "question.v2.replied"
type: "form.cancelled"
properties: {
id: string
sessionID: string
requestID: string
answers: Array<QuestionV2Answer>
}
}
export type EventQuestionV2Rejected = {
id: string
type: "question.v2.rejected"
properties: {
sessionID: string
requestID: string
}
}
@@ -7745,6 +4899,49 @@ export type CredentialKey = {
}
}
export type IntegrationWhen = {
key: string
op: "eq" | "neq"
value: string
}
export type IntegrationTextPrompt = {
type: "text"
key: string
message: string
placeholder?: string
when?: IntegrationWhen
}
export type IntegrationSelectPrompt = {
type: "select"
key: string
message: string
options: Array<{
label: string
value: string
hint?: string
}>
when?: IntegrationWhen
}
export type IntegrationOAuthMethod = {
id: string
type: "oauth"
label: string
prompts?: Array<IntegrationTextPrompt | IntegrationSelectPrompt>
}
export type IntegrationKeyMethod = {
type: "key"
label?: string
}
export type IntegrationEnvMethod = {
type: "env"
names: Array<string>
}
export type SkillV2DirectorySource = {
type: "directory"
path: string
@@ -7755,6 +4952,15 @@ export type SkillV2UrlSource = {
url: string
}
export type SkillV2Info = {
name: string
description?: string
slash?: boolean
autoinvoke?: boolean
location: string
content: string
}
export type SkillV2EmbeddedSource = {
type: "embedded"
skill: SkillV2Info
@@ -7768,7 +4974,7 @@ export type BadRequestError = {
}
}
export type UnauthorizedErrorV2 = {
export type UnauthorizedError = {
_tag: "UnauthorizedError"
message: string
}
@@ -7780,7 +4986,7 @@ export type InvalidRequestErrorV2 = {
field?: string | null
}
export type LocationInfo2 = {
export type LocationInfo = {
directory: string
workspaceID?: string
project: {
@@ -7795,12 +5001,12 @@ export type ModelRef2 = {
variant?: string
}
export type ProviderSettings2 = {
export type ProviderSettings = {
[key: string]: unknown
}
export type ProviderRequest2 = {
settings: ProviderSettings2
export type ProviderRequest = {
settings: ProviderSettings
headers: {
[key: string]: string
}
@@ -7809,32 +5015,32 @@ export type ProviderRequest2 = {
}
}
export type AgentColor2 = string | "primary" | "secondary" | "accent" | "success" | "warning" | "error" | "info"
export type AgentColor = string | "primary" | "secondary" | "accent" | "success" | "warning" | "error" | "info"
export type PermissionV2Effect2 = "allow" | "deny" | "ask"
export type PermissionV2Effect = "allow" | "deny" | "ask"
export type PermissionV2Rule2 = {
export type PermissionV2Rule = {
action: string
resource: string
effect: PermissionV2Effect2
effect: PermissionV2Effect
}
export type PermissionV2Ruleset2 = Array<PermissionV2Rule2>
export type PermissionV2Ruleset = Array<PermissionV2Rule>
export type AgentV2Info2 = {
export type AgentV2Info = {
id: string
model?: ModelRef2
request: ProviderRequest2
request: ProviderRequest
system?: string
description?: string
mode: "subagent" | "primary" | "all"
hidden: boolean
color?: AgentColor2
color?: AgentColor
steps?: number
permissions: PermissionV2Ruleset2
permissions: PermissionV2Ruleset
}
export type PluginInfo2 = {
export type PluginInfo = {
id: string
}
@@ -7859,7 +5065,7 @@ export type RevertState2 = {
files?: Array<FileDiff2>
}
export type SessionV2Info2 = {
export type SessionV2Info = {
id: string
parentID?: string
projectID: string
@@ -7889,20 +5095,20 @@ export type SessionV2Info2 = {
/**
* Durable log seq each session's snapshot was computed at. Attach a live log read after the watermark to compose fetch and stream gap-free; apply a snapshot only where its watermark is at or beyond already-applied events. Sessions without durable events are absent.
*/
export type SessionWatermarksV2 = {
export type SessionWatermarks = {
[key: string]: unknown | number
}
export type SessionsResponseV2 = {
data: Array<SessionV2Info2>
watermarks: SessionWatermarksV2
export type SessionsResponse = {
data: Array<SessionV2Info>
watermarks: SessionWatermarks
cursor: {
previous?: string | null
next?: string | null
}
}
export type InvalidCursorErrorV2 = {
export type InvalidCursorError = {
_tag: "InvalidCursorError"
message: string
}
@@ -7914,17 +5120,17 @@ export type InvalidRequestError1 = {
field?: string | null
}
export type SessionActiveV2 = {
export type SessionActive = {
type: "running"
}
export type SessionNotFoundErrorV2 = {
export type SessionNotFoundError = {
_tag: "SessionNotFoundError"
sessionID: string
message: string
}
export type MessageNotFoundErrorV2 = {
export type MessageNotFoundError = {
_tag: "MessageNotFoundError"
sessionID: string
messageID: string
@@ -7937,7 +5143,7 @@ export type PromptSource2 = {
text: string
}
export type PromptInputFileAttachment2 = {
export type PromptInputFileAttachment = {
uri: string
name?: string
description?: string
@@ -7949,9 +5155,9 @@ export type PromptAgentAttachment2 = {
source?: PromptSource2
}
export type PromptInputV2 = {
export type PromptInput = {
text: string
files?: Array<PromptInputFileAttachment2>
files?: Array<PromptInputFileAttachment>
agents?: Array<PromptAgentAttachment2>
}
@@ -7969,7 +5175,7 @@ export type PromptV2 = {
agents?: Array<PromptAgentAttachment2>
}
export type SessionInputAdmitted2 = {
export type SessionInputAdmitted = {
admittedSeq: number
id: string
sessionID: string
@@ -7979,25 +5185,25 @@ export type SessionInputAdmitted2 = {
promotedSeq?: number
}
export type ConflictErrorV2 = {
export type ConflictError = {
_tag: "ConflictError"
message: string
resource?: string | null
}
export type CommandNotFoundErrorV2 = {
export type CommandNotFoundError = {
_tag: "CommandNotFoundError"
command: string
message: string
}
export type CommandEvaluationErrorV2 = {
export type CommandEvaluationError = {
_tag: "CommandEvaluationError"
command: string
message: string
}
export type SkillNotFoundErrorV2 = {
export type SkillNotFoundError = {
_tag: "SkillNotFoundError"
skill: string
message: string
@@ -8009,7 +5215,7 @@ export type SessionBusyErrorV2 = {
message: string
}
export type ServiceUnavailableErrorV2 = {
export type ServiceUnavailableError = {
_tag: "ServiceUnavailableError"
message: string
service?: string | null
@@ -8021,7 +5227,7 @@ export type UnknownErrorV2 = {
ref?: string | null
}
export type SessionMessageAgentSwitched2 = {
export type SessionMessageAgentSwitched = {
id: string
metadata?: {
[key: string]: unknown
@@ -8033,7 +5239,7 @@ export type SessionMessageAgentSwitched2 = {
agent: string
}
export type SessionMessageModelSwitched2 = {
export type SessionMessageModelSwitched = {
id: string
metadata?: {
[key: string]: unknown
@@ -8045,7 +5251,7 @@ export type SessionMessageModelSwitched2 = {
model: ModelRef2
}
export type SessionMessageUser2 = {
export type SessionMessageUser = {
id: string
metadata?: {
[key: string]: unknown
@@ -8059,7 +5265,7 @@ export type SessionMessageUser2 = {
type: "user"
}
export type SessionMessageSynthetic2 = {
export type SessionMessageSynthetic = {
id: string
metadata?: {
[key: string]: unknown
@@ -8073,7 +5279,7 @@ export type SessionMessageSynthetic2 = {
type: "synthetic"
}
export type SessionMessageSystem2 = {
export type SessionMessageSystem = {
id: string
metadata?: {
[key: string]: unknown
@@ -8085,7 +5291,7 @@ export type SessionMessageSystem2 = {
text: string
}
export type SessionMessageSkill2 = {
export type SessionMessageSkill = {
id: string
metadata?: {
[key: string]: unknown
@@ -8098,7 +5304,7 @@ export type SessionMessageSkill2 = {
text: string
}
export type SessionMessageShell2 = {
export type SessionMessageShell = {
id: string
metadata?: {
[key: string]: unknown
@@ -8113,7 +5319,7 @@ export type SessionMessageShell2 = {
output: string
}
export type SessionMessageAssistantText2 = {
export type SessionMessageAssistantText = {
type: "text"
id: string
text: string
@@ -8125,7 +5331,7 @@ export type LlmProviderMetadata2 = {
}
}
export type SessionMessageAssistantReasoning2 = {
export type SessionMessageAssistantReasoning = {
type: "reasoning"
id: string
text: string
@@ -8136,7 +5342,7 @@ export type SessionMessageAssistantReasoning2 = {
}
}
export type SessionMessageToolStatePending2 = {
export type SessionMessageToolStatePending = {
status: "pending"
input: string
}
@@ -8155,7 +5361,7 @@ export type ToolFileContent2 = {
export type LlmToolContent2 = ToolTextContent2 | ToolFileContent2
export type SessionMessageToolStateRunning2 = {
export type SessionMessageToolStateRunning = {
status: "running"
input: {
[key: string]: unknown
@@ -8166,7 +5372,7 @@ export type SessionMessageToolStateRunning2 = {
content: Array<LlmToolContent2>
}
export type SessionMessageToolStateCompleted2 = {
export type SessionMessageToolStateCompleted = {
status: "completed"
input: {
[key: string]: unknown
@@ -8185,7 +5391,7 @@ export type SessionErrorUnknown2 = {
message: string
}
export type SessionMessageToolStateError2 = {
export type SessionMessageToolStateError = {
status: "error"
input: {
[key: string]: unknown
@@ -8198,7 +5404,7 @@ export type SessionMessageToolStateError2 = {
result?: unknown
}
export type SessionMessageAssistantTool2 = {
export type SessionMessageAssistantTool = {
type: "tool"
id: string
name: string
@@ -8208,10 +5414,10 @@ export type SessionMessageAssistantTool2 = {
resultMetadata?: LlmProviderMetadata2
}
state:
| SessionMessageToolStatePending2
| SessionMessageToolStateRunning2
| SessionMessageToolStateCompleted2
| SessionMessageToolStateError2
| SessionMessageToolStatePending
| SessionMessageToolStateRunning
| SessionMessageToolStateCompleted
| SessionMessageToolStateError
time: {
created: number
ran?: number
@@ -8220,7 +5426,7 @@ export type SessionMessageAssistantTool2 = {
}
}
export type SessionMessageAssistant2 = {
export type SessionMessageAssistant = {
id: string
metadata?: {
[key: string]: unknown
@@ -8232,7 +5438,7 @@ export type SessionMessageAssistant2 = {
type: "assistant"
agent: string
model: ModelRef2
content: Array<SessionMessageAssistantText2 | SessionMessageAssistantReasoning2 | SessionMessageAssistantTool2>
content: Array<SessionMessageAssistantText | SessionMessageAssistantReasoning | SessionMessageAssistantTool>
snapshot?: {
start?: string
end?: string
@@ -8252,7 +5458,7 @@ export type SessionMessageAssistant2 = {
error?: SessionErrorUnknown2
}
export type SessionMessageCompaction2 = {
export type SessionMessageCompaction = {
type: "compaction"
reason: "auto" | "manual"
summary: string
@@ -8266,28 +5472,28 @@ export type SessionMessageCompaction2 = {
}
}
export type SessionMessage2 =
| SessionMessageAgentSwitched2
| SessionMessageModelSwitched2
| SessionMessageUser2
| SessionMessageSynthetic2
| SessionMessageSystem2
| SessionMessageSkill2
| SessionMessageShell2
| SessionMessageAssistant2
| SessionMessageCompaction2
export type SessionMessage =
| SessionMessageAgentSwitched
| SessionMessageModelSwitched
| SessionMessageUser
| SessionMessageSynthetic
| SessionMessageSystem
| SessionMessageSkill
| SessionMessageShell
| SessionMessageAssistant
| SessionMessageCompaction
/**
* Context entry key (lowercase alphanumerics plus . _ -)
*/
export type SessionContextEntryKey2 = string
export type SessionContextEntryKey = string
export type SessionContextEntryInfo2 = {
key: SessionContextEntryKey2
export type SessionContextEntryInfo = {
key: SessionContextEntryKey
value: unknown
}
export type SessionNextAgentSwitched2 = {
export type SessionNextAgentSwitched = {
id: string
metadata?: {
[key: string]: unknown
@@ -8307,7 +5513,7 @@ export type SessionNextAgentSwitched2 = {
}
}
export type SessionNextModelSwitched2 = {
export type SessionNextModelSwitched = {
id: string
metadata?: {
[key: string]: unknown
@@ -8327,7 +5533,7 @@ export type SessionNextModelSwitched2 = {
}
}
export type SessionNextMoved2 = {
export type SessionNextMoved = {
id: string
metadata?: {
[key: string]: unknown
@@ -8347,7 +5553,7 @@ export type SessionNextMoved2 = {
}
}
export type SessionNextRenamed2 = {
export type SessionNextRenamed = {
id: string
metadata?: {
[key: string]: unknown
@@ -8366,7 +5572,7 @@ export type SessionNextRenamed2 = {
}
}
export type SessionNextForked2 = {
export type SessionNextForked = {
id: string
metadata?: {
[key: string]: unknown
@@ -8386,7 +5592,7 @@ export type SessionNextForked2 = {
}
}
export type SessionNextPrompted2 = {
export type SessionNextPrompted = {
id: string
metadata?: {
[key: string]: unknown
@@ -8407,7 +5613,7 @@ export type SessionNextPrompted2 = {
}
}
export type SessionNextPromptAdmitted2 = {
export type SessionNextPromptAdmitted = {
id: string
metadata?: {
[key: string]: unknown
@@ -8428,7 +5634,7 @@ export type SessionNextPromptAdmitted2 = {
}
}
export type SessionNextContextUpdated2 = {
export type SessionNextContextUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -8448,7 +5654,7 @@ export type SessionNextContextUpdated2 = {
}
}
export type SessionNextSynthetic2 = {
export type SessionNextSynthetic = {
id: string
metadata?: {
[key: string]: unknown
@@ -8472,7 +5678,7 @@ export type SessionNextSynthetic2 = {
}
}
export type SessionNextSkillActivated2 = {
export type SessionNextSkillActivated = {
id: string
metadata?: {
[key: string]: unknown
@@ -8493,7 +5699,7 @@ export type SessionNextSkillActivated2 = {
}
}
export type SessionNextShellStarted2 = {
export type SessionNextShellStarted = {
id: string
metadata?: {
[key: string]: unknown
@@ -8514,7 +5720,7 @@ export type SessionNextShellStarted2 = {
}
}
export type SessionNextShellEnded2 = {
export type SessionNextShellEnded = {
id: string
metadata?: {
[key: string]: unknown
@@ -8534,7 +5740,7 @@ export type SessionNextShellEnded2 = {
}
}
export type SessionNextStepStarted2 = {
export type SessionNextStepStarted = {
id: string
metadata?: {
[key: string]: unknown
@@ -8556,7 +5762,7 @@ export type SessionNextStepStarted2 = {
}
}
export type SessionNextStepEnded2 = {
export type SessionNextStepEnded = {
id: string
metadata?: {
[key: string]: unknown
@@ -8588,7 +5794,7 @@ export type SessionNextStepEnded2 = {
}
}
export type SessionNextStepFailed2 = {
export type SessionNextStepFailed = {
id: string
metadata?: {
[key: string]: unknown
@@ -8608,7 +5814,7 @@ export type SessionNextStepFailed2 = {
}
}
export type SessionNextTextStarted2 = {
export type SessionNextTextStarted = {
id: string
metadata?: {
[key: string]: unknown
@@ -8628,7 +5834,7 @@ export type SessionNextTextStarted2 = {
}
}
export type SessionNextTextEnded2 = {
export type SessionNextTextEnded = {
id: string
metadata?: {
[key: string]: unknown
@@ -8649,7 +5855,7 @@ export type SessionNextTextEnded2 = {
}
}
export type SessionNextToolInputStarted2 = {
export type SessionNextToolInputStarted = {
id: string
metadata?: {
[key: string]: unknown
@@ -8670,7 +5876,7 @@ export type SessionNextToolInputStarted2 = {
}
}
export type SessionNextToolInputEnded2 = {
export type SessionNextToolInputEnded = {
id: string
metadata?: {
[key: string]: unknown
@@ -8697,7 +5903,7 @@ export type LlmProviderMetadata3 = {
}
}
export type SessionNextToolCalled2 = {
export type SessionNextToolCalled = {
id: string
metadata?: {
[key: string]: unknown
@@ -8725,7 +5931,7 @@ export type SessionNextToolCalled2 = {
}
}
export type SessionNextToolProgress2 = {
export type SessionNextToolProgress = {
id: string
metadata?: {
[key: string]: unknown
@@ -8755,7 +5961,7 @@ export type LlmProviderMetadata4 = {
}
}
export type SessionNextToolSuccess2 = {
export type SessionNextToolSuccess = {
id: string
metadata?: {
[key: string]: unknown
@@ -8791,7 +5997,7 @@ export type LlmProviderMetadata5 = {
}
}
export type SessionNextToolFailed2 = {
export type SessionNextToolFailed = {
id: string
metadata?: {
[key: string]: unknown
@@ -8823,7 +6029,7 @@ export type LlmProviderMetadata6 = {
}
}
export type SessionNextReasoningStarted2 = {
export type SessionNextReasoningStarted = {
id: string
metadata?: {
[key: string]: unknown
@@ -8850,7 +6056,7 @@ export type LlmProviderMetadata7 = {
}
}
export type SessionNextReasoningEnded2 = {
export type SessionNextReasoningEnded = {
id: string
metadata?: {
[key: string]: unknown
@@ -8885,7 +6091,7 @@ export type SessionNextRetryError2 = {
}
}
export type SessionNextRetried2 = {
export type SessionNextRetried = {
id: string
metadata?: {
[key: string]: unknown
@@ -8905,7 +6111,7 @@ export type SessionNextRetried2 = {
}
}
export type SessionNextCompactionStarted2 = {
export type SessionNextCompactionStarted = {
id: string
metadata?: {
[key: string]: unknown
@@ -8925,7 +6131,7 @@ export type SessionNextCompactionStarted2 = {
}
}
export type SessionNextCompactionEnded2 = {
export type SessionNextCompactionEnded = {
id: string
metadata?: {
[key: string]: unknown
@@ -8947,7 +6153,7 @@ export type SessionNextCompactionEnded2 = {
}
}
export type SessionNextRevertStaged2 = {
export type SessionNextRevertStaged = {
id: string
metadata?: {
[key: string]: unknown
@@ -8966,7 +6172,7 @@ export type SessionNextRevertStaged2 = {
}
}
export type SessionNextRevertCleared2 = {
export type SessionNextRevertCleared = {
id: string
metadata?: {
[key: string]: unknown
@@ -8984,7 +6190,7 @@ export type SessionNextRevertCleared2 = {
}
}
export type SessionNextRevertCommitted2 = {
export type SessionNextRevertCommitted = {
id: string
metadata?: {
[key: string]: unknown
@@ -9003,54 +6209,54 @@ export type SessionNextRevertCommitted2 = {
}
}
export type SessionDurableEventV2 =
| SessionNextAgentSwitched2
| SessionNextModelSwitched2
| SessionNextMoved2
| SessionNextRenamed2
| SessionNextForked2
| SessionNextPrompted2
| SessionNextPromptAdmitted2
| SessionNextContextUpdated2
| SessionNextSynthetic2
| SessionNextSkillActivated2
| SessionNextShellStarted2
| SessionNextShellEnded2
| SessionNextStepStarted2
| SessionNextStepEnded2
| SessionNextStepFailed2
| SessionNextTextStarted2
| SessionNextTextEnded2
| SessionNextToolInputStarted2
| SessionNextToolInputEnded2
| SessionNextToolCalled2
| SessionNextToolProgress2
| SessionNextToolSuccess2
| SessionNextToolFailed2
| SessionNextReasoningStarted2
| SessionNextReasoningEnded2
| SessionNextRetried2
| SessionNextCompactionStarted2
| SessionNextCompactionEnded2
| SessionNextRevertStaged2
| SessionNextRevertCleared2
| SessionNextRevertCommitted2
export type SessionDurableEvent =
| SessionNextAgentSwitched
| SessionNextModelSwitched
| SessionNextMoved
| SessionNextRenamed
| SessionNextForked
| SessionNextPrompted
| SessionNextPromptAdmitted
| SessionNextContextUpdated
| SessionNextSynthetic
| SessionNextSkillActivated
| SessionNextShellStarted
| SessionNextShellEnded
| SessionNextStepStarted
| SessionNextStepEnded
| SessionNextStepFailed
| SessionNextTextStarted
| SessionNextTextEnded
| SessionNextToolInputStarted
| SessionNextToolInputEnded
| SessionNextToolCalled
| SessionNextToolProgress
| SessionNextToolSuccess
| SessionNextToolFailed
| SessionNextReasoningStarted
| SessionNextReasoningEnded
| SessionNextRetried
| SessionNextCompactionStarted
| SessionNextCompactionEnded
| SessionNextRevertStaged
| SessionNextRevertCleared
| SessionNextRevertCommitted
/**
* Marker emitted once when a log read reaches its captured watermark. The reader holds every event committed at or below seq.
*/
export type EventLogSynced2 = {
export type EventLogSynced = {
type: "log.synced"
aggregateID: string
seq?: number
}
export type SessionLogItemV2 = SessionDurableEventV2 | EventLogSynced2
export type SessionLogItem = SessionDurableEvent | EventLogSynced
export type SessionLogItemStreamV2 = string
export type SessionLogItemStream = string
export type SessionMessagesResponseV2 = {
data: Array<SessionMessage2>
export type SessionMessagesResponse = {
data: Array<SessionMessage>
watermark?: number
cursor: {
previous?: string | null
@@ -9058,7 +6264,7 @@ export type SessionMessagesResponseV2 = {
}
}
export type ModelApi2 =
export type ModelApi =
| {
id: string
type: "aisdk"
@@ -9077,13 +6283,13 @@ export type ModelApi2 =
}
}
export type ModelCapabilities2 = {
export type ModelCapabilities = {
tools: boolean
input: Array<string>
output: Array<string>
}
export type ModelCost2 = {
export type ModelCost = {
tier?: {
type: "context"
size: number
@@ -9096,15 +6302,15 @@ export type ModelCost2 = {
}
}
export type ModelV2Info2 = {
export type ModelV2Info = {
id: string
providerID: string
family?: string
name: string
api: ModelApi2
capabilities: ModelCapabilities2
api: ModelApi
capabilities: ModelCapabilities
request: {
settings: ProviderSettings2
settings: ProviderSettings
headers: {
[key: string]: string
}
@@ -9115,7 +6321,7 @@ export type ModelV2Info2 = {
}
variants: Array<{
id: string
settings: ProviderSettings2
settings: ProviderSettings
headers: {
[key: string]: string
}
@@ -9126,7 +6332,7 @@ export type ModelV2Info2 = {
time: {
released: number
}
cost: Array<ModelCost2>
cost: Array<ModelCost>
status: "alpha" | "beta" | "deprecated" | "active"
enabled: boolean
limit: {
@@ -9136,13 +6342,13 @@ export type ModelV2Info2 = {
}
}
export type GenerateTextResponseV2 = {
export type GenerateTextResponse = {
data: {
text: string
}
}
export type ProviderAisdk2 = {
export type ProviderAisdk = {
type: "aisdk"
package: string
url?: string
@@ -9151,7 +6357,7 @@ export type ProviderAisdk2 = {
}
}
export type ProviderNative2 = {
export type ProviderNative = {
type: "native"
url?: string
settings: {
@@ -9159,18 +6365,18 @@ export type ProviderNative2 = {
}
}
export type ProviderApi2 = ProviderAisdk2 | ProviderNative2
export type ProviderApi = ProviderAisdk | ProviderNative
export type ProviderV2Info2 = {
export type ProviderV2Info = {
id: string
integrationID?: string
name: string
disabled?: boolean
api: ProviderApi2
request: ProviderRequest2
api: ProviderApi
request: ProviderRequest
}
export type ProviderNotFoundErrorV2 = {
export type ProviderNotFoundError = {
_tag: "ProviderNotFoundError"
providerID: string
message: string
@@ -9221,27 +6427,27 @@ export type IntegrationEnvMethod2 = {
export type IntegrationMethod2 = IntegrationOAuthMethod2 | IntegrationKeyMethod2 | IntegrationEnvMethod2
export type ConnectionCredentialInfo2 = {
export type ConnectionCredentialInfo = {
type: "credential"
id: string
label: string
}
export type ConnectionEnvInfo2 = {
export type ConnectionEnvInfo = {
type: "env"
name: string
}
export type ConnectionInfo2 = ConnectionCredentialInfo2 | ConnectionEnvInfo2
export type ConnectionInfo = ConnectionCredentialInfo | ConnectionEnvInfo
export type IntegrationInfo2 = {
export type IntegrationInfo = {
id: string
name: string
methods: Array<IntegrationMethod2>
connections: Array<ConnectionInfo2>
connections: Array<ConnectionInfo>
}
export type IntegrationAttempt2 = {
export type IntegrationAttempt = {
attemptID: string
url: string
instructions: string
@@ -9252,7 +6458,7 @@ export type IntegrationAttempt2 = {
}
}
export type IntegrationAttemptStatus2 =
export type IntegrationAttemptStatus =
| {
status: "pending"
time: {
@@ -9283,45 +6489,45 @@ export type IntegrationAttemptStatus2 =
}
}
export type McpStatusConnected3 = {
export type McpStatusConnected2 = {
status: "connected"
}
export type McpStatusDisconnected2 = {
export type McpStatusDisconnected = {
status: "disconnected"
}
export type McpStatusDisabled3 = {
export type McpStatusDisabled2 = {
status: "disabled"
}
export type McpStatusFailed3 = {
export type McpStatusFailed2 = {
status: "failed"
error: string
}
export type McpStatusNeedsAuth3 = {
export type McpStatusNeedsAuth2 = {
status: "needs_auth"
}
export type McpStatusNeedsClientRegistration3 = {
export type McpStatusNeedsClientRegistration2 = {
status: "needs_client_registration"
error: string
}
export type McpServer2 = {
export type McpServer = {
name: string
status:
| McpStatusConnected3
| McpStatusDisconnected2
| McpStatusDisabled3
| McpStatusFailed3
| McpStatusNeedsAuth3
| McpStatusNeedsClientRegistration3
| McpStatusConnected2
| McpStatusDisconnected
| McpStatusDisabled2
| McpStatusFailed2
| McpStatusNeedsAuth2
| McpStatusNeedsClientRegistration2
integrationID?: string
}
export type ProjectCurrent2 = {
export type ProjectCurrent = {
id: string
directory: string
}
@@ -9333,13 +6539,173 @@ export type ProjectDirectory2 = {
export type ProjectDirectories2 = Array<ProjectDirectory2>
export type FormMetadata2 = {
[key: string]: unknown
}
export type FormWhen2 = {
key: string
op: "eq" | "neq"
value: string
}
export type FormOption2 = {
value: string
label: string
description?: string
}
export type FormStringField2 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen2
type: "string"
format?: "email" | "uri" | "date" | "date-time"
minLength?: number
maxLength?: number
pattern?: string
placeholder?: string
default?: string
options?: Array<FormOption2>
custom?: boolean
}
export type FormNumberField2 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen2
type: "number"
minimum?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
maximum?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
default?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
export type FormIntegerField2 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen2
type: "integer"
minimum?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
maximum?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
default?: number | "NaN" | "Infinity" | "-Infinity" | "Infinity" | "-Infinity" | "NaN"
}
export type FormBooleanField2 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen2
type: "boolean"
default?: boolean
}
export type FormMultiselectField2 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen2
type: "multiselect"
options: Array<FormOption2>
minItems?: number
maxItems?: number
custom?: boolean
default?: Array<string>
}
export type FormFormInfo2 = {
id: string
sessionID: string
title?: string
metadata?: FormMetadata2
mode: "form"
fields: Array<FormStringField2 | FormNumberField2 | FormIntegerField2 | FormBooleanField2 | FormMultiselectField2>
}
export type FormUrlInfo2 = {
id: string
sessionID: string
title?: string
metadata?: FormMetadata2
mode: "url"
url: string
}
export type FormCreatePayload = {
id?: string | null
title?: string
metadata?: FormMetadata2
mode: "form" | "url"
fields?: Array<
FormStringField2 | FormNumberField2 | FormIntegerField2 | FormBooleanField2 | FormMultiselectField2
> | null
url?: string | null
}
export type FormNotFoundError = {
_tag: "FormNotFoundError"
id: string
message: string
}
export type FormValue2 =
| string
| number
| "NaN"
| "Infinity"
| "-Infinity"
| "Infinity"
| "-Infinity"
| "NaN"
| boolean
| Array<string>
export type FormAnswer2 = {
[key: string]: FormValue2
}
export type FormState =
| {
status: "pending"
}
| {
status: "answered"
answer: FormAnswer2
}
| {
status: "cancelled"
}
export type FormReply = {
answer: FormAnswer2
}
export type FormAlreadySettledError = {
_tag: "FormAlreadySettledError"
id: string
message: string
}
export type FormInvalidAnswerError = {
_tag: "FormInvalidAnswerError"
id: string
message: string
}
export type PermissionV2Source2 = {
type: "tool"
messageID: string
callID: string
}
export type PermissionV2Request2 = {
export type PermissionV2Request = {
id: string
sessionID: string
action: string
@@ -9351,7 +6717,7 @@ export type PermissionV2Request2 = {
source?: PermissionV2Source2
}
export type PermissionSavedInfo2 = {
export type PermissionSavedInfo = {
id: string
projectID: string
action: string
@@ -9366,12 +6732,12 @@ export type PermissionNotFoundErrorV2 = {
export type PermissionV2Reply2 = "once" | "always" | "reject"
export type FileSystemEntry2 = {
export type FileSystemEntry = {
path: string
type: "file" | "directory"
}
export type CommandV2Info2 = {
export type CommandV2Info = {
name: string
template: string
description?: string
@@ -9389,7 +6755,7 @@ export type SkillV2Info2 = {
content: string
}
export type ModelsDevRefreshed2 = {
export type ModelsDevRefreshed = {
id: string
metadata?: {
[key: string]: unknown
@@ -9408,7 +6774,7 @@ export type ModelsDevRefreshed2 = {
| Array<unknown>
}
export type IntegrationUpdated2 = {
export type IntegrationUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -9427,7 +6793,7 @@ export type IntegrationUpdated2 = {
| Array<unknown>
}
export type IntegrationConnectionUpdated2 = {
export type IntegrationConnectionUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -9444,7 +6810,7 @@ export type IntegrationConnectionUpdated2 = {
}
}
export type CatalogUpdated2 = {
export type CatalogUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -9463,7 +6829,7 @@ export type CatalogUpdated2 = {
| Array<unknown>
}
export type AgentUpdated2 = {
export type AgentUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -9553,7 +6919,7 @@ export type SessionV2 = {
}
}
export type SessionCreated2 = {
export type SessionCreated = {
id: string
metadata?: {
[key: string]: unknown
@@ -9571,7 +6937,7 @@ export type SessionCreated2 = {
}
}
export type SessionUpdated2 = {
export type SessionUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -9589,7 +6955,7 @@ export type SessionUpdated2 = {
}
}
export type SessionDeleted2 = {
export type SessionDeleted = {
id: string
metadata?: {
[key: string]: unknown
@@ -9654,7 +7020,7 @@ export type ProviderAuthErrorV2 = {
}
}
export type UnknownError1V2 = {
export type UnknownError1 = {
name: "UnknownError"
data: {
message: string
@@ -9727,7 +7093,7 @@ export type AssistantMessageV2 = {
}
error?:
| ProviderAuthErrorV2
| UnknownError1V2
| UnknownError1
| MessageOutputLengthErrorV2
| MessageAbortedErrorV2
| StructuredOutputErrorV2
@@ -9763,7 +7129,7 @@ export type AssistantMessageV2 = {
export type MessageV2 = UserMessageV2 | AssistantMessageV2
export type MessageUpdated2 = {
export type MessageUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -9781,7 +7147,7 @@ export type MessageUpdated2 = {
}
}
export type MessageRemoved2 = {
export type MessageRemoved = {
id: string
metadata?: {
[key: string]: unknown
@@ -10062,7 +7428,7 @@ export type PartV2 =
| RetryPartV2
| CompactionPartV2
export type MessagePartUpdated2 = {
export type MessagePartUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10081,7 +7447,7 @@ export type MessagePartUpdated2 = {
}
}
export type MessagePartRemoved2 = {
export type MessagePartRemoved = {
id: string
metadata?: {
[key: string]: unknown
@@ -10100,7 +7466,7 @@ export type MessagePartRemoved2 = {
}
}
export type SessionNextExecutionSettled2 = {
export type SessionNextExecutionSettled = {
id: string
metadata?: {
[key: string]: unknown
@@ -10120,7 +7486,7 @@ export type SessionNextExecutionSettled2 = {
}
}
export type SessionNextTextDelta2 = {
export type SessionNextTextDelta = {
id: string
metadata?: {
[key: string]: unknown
@@ -10141,7 +7507,7 @@ export type SessionNextTextDelta2 = {
}
}
export type SessionNextReasoningDelta2 = {
export type SessionNextReasoningDelta = {
id: string
metadata?: {
[key: string]: unknown
@@ -10162,7 +7528,7 @@ export type SessionNextReasoningDelta2 = {
}
}
export type SessionNextToolInputDelta2 = {
export type SessionNextToolInputDelta = {
id: string
metadata?: {
[key: string]: unknown
@@ -10183,7 +7549,7 @@ export type SessionNextToolInputDelta2 = {
}
}
export type SessionNextCompactionDelta2 = {
export type SessionNextCompactionDelta = {
id: string
metadata?: {
[key: string]: unknown
@@ -10203,7 +7569,7 @@ export type SessionNextCompactionDelta2 = {
}
}
export type FileEdited2 = {
export type FileEdited = {
id: string
metadata?: {
[key: string]: unknown
@@ -10220,7 +7586,7 @@ export type FileEdited2 = {
}
}
export type ReferenceUpdated2 = {
export type ReferenceUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10239,7 +7605,7 @@ export type ReferenceUpdated2 = {
| Array<unknown>
}
export type PermissionV2Asked2 = {
export type PermissionV2Asked = {
id: string
metadata?: {
[key: string]: unknown
@@ -10264,7 +7630,7 @@ export type PermissionV2Asked2 = {
}
}
export type PermissionV2Replied2 = {
export type PermissionV2Replied = {
id: string
metadata?: {
[key: string]: unknown
@@ -10283,7 +7649,7 @@ export type PermissionV2Replied2 = {
}
}
export type PluginAdded2 = {
export type PluginAdded = {
id: string
metadata?: {
[key: string]: unknown
@@ -10300,7 +7666,7 @@ export type PluginAdded2 = {
}
}
export type ProjectDirectoriesUpdated2 = {
export type ProjectDirectoriesUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10317,7 +7683,7 @@ export type ProjectDirectoriesUpdated2 = {
}
}
export type CommandUpdated2 = {
export type CommandUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10336,7 +7702,7 @@ export type CommandUpdated2 = {
| Array<unknown>
}
export type SkillUpdated2 = {
export type SkillUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10355,7 +7721,7 @@ export type SkillUpdated2 = {
| Array<unknown>
}
export type FileWatcherUpdated2 = {
export type FileWatcherUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10384,7 +7750,7 @@ export type PtyV2 = {
exitCode?: number
}
export type PtyCreated2 = {
export type PtyCreated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10401,7 +7767,7 @@ export type PtyCreated2 = {
}
}
export type PtyUpdated2 = {
export type PtyUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10418,7 +7784,7 @@ export type PtyUpdated2 = {
}
}
export type PtyExited2 = {
export type PtyExited = {
id: string
metadata?: {
[key: string]: unknown
@@ -10436,7 +7802,7 @@ export type PtyExited2 = {
}
}
export type PtyDeleted2 = {
export type PtyDeleted = {
id: string
metadata?: {
[key: string]: unknown
@@ -10471,7 +7837,7 @@ export type ShellV2 = {
}
}
export type ShellCreated2 = {
export type ShellCreated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10488,7 +7854,7 @@ export type ShellCreated2 = {
}
}
export type ShellExited2 = {
export type ShellExited = {
id: string
metadata?: {
[key: string]: unknown
@@ -10507,7 +7873,7 @@ export type ShellExited2 = {
}
}
export type ShellDeleted2 = {
export type ShellDeleted = {
id: string
metadata?: {
[key: string]: unknown
@@ -10524,45 +7890,81 @@ export type ShellDeleted2 = {
}
}
export type QuestionV2Option2 = {
/**
* Display text (1-5 words, concise)
*/
label: string
/**
* Explanation of choice
*/
description: string
export type FormMetadata1 = {
[key: string]: unknown
}
export type QuestionV2Info2 = {
/**
* Complete question
*/
question: string
/**
* Very short label (max 30 chars)
*/
header: string
/**
* Available choices
*/
options: Array<QuestionV2Option2>
multiple?: boolean
custom?: boolean
export type FormNumberField12 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen2
type: "number"
minimum?: number | "NaN" | "Infinity" | "-Infinity"
maximum?: number | "NaN" | "Infinity" | "-Infinity"
default?: number | "NaN" | "Infinity" | "-Infinity"
}
export type QuestionV2Tool2 = {
messageID: string
callID: string
export type FormIntegerField12 = {
key: string
title?: string
description?: string
required?: boolean
when?: FormWhen2
type: "integer"
minimum?: number | "NaN" | "Infinity" | "-Infinity"
maximum?: number | "NaN" | "Infinity" | "-Infinity"
default?: number | "NaN" | "Infinity" | "-Infinity"
}
export type QuestionV2Asked2 = {
export type FormFormInfo1 = {
id: string
sessionID: string
title?: string
metadata?: FormMetadata1
mode: "form"
fields: Array<FormStringField2 | FormNumberField12 | FormIntegerField12 | FormBooleanField2 | FormMultiselectField2>
}
export type FormUrlInfo1 = {
id: string
sessionID: string
title?: string
metadata?: FormMetadata1
mode: "url"
url: string
}
export type FormCreated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.v2.asked"
type: "form.created"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
form: FormFormInfo1 | FormUrlInfo1
}
}
export type FormValue12 = string | number | "NaN" | "Infinity" | "-Infinity" | boolean | Array<string>
export type FormAnswer1 = {
[key: string]: FormValue12
}
export type FormReplied = {
id: string
metadata?: {
[key: string]: unknown
}
type: "form.replied"
durable?: {
aggregateID: string
seq: number
@@ -10572,22 +7974,16 @@ export type QuestionV2Asked2 = {
data: {
id: string
sessionID: string
/**
* Questions to ask
*/
questions: Array<QuestionV2Info2>
tool?: QuestionV2Tool2
answer: FormAnswer1
}
}
export type QuestionV2Answer2 = Array<string>
export type QuestionV2Replied2 = {
export type FormCancelled = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.v2.replied"
type: "form.cancelled"
durable?: {
aggregateID: string
seq: number
@@ -10595,27 +7991,8 @@ export type QuestionV2Replied2 = {
}
location?: LocationRef2
data: {
id: string
sessionID: string
requestID: string
answers: Array<QuestionV2Answer2>
}
}
export type QuestionV2Rejected2 = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.v2.rejected"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
sessionID: string
requestID: string
}
}
@@ -10634,7 +8011,7 @@ export type TodoV2 = {
priority: string
}
export type TodoUpdated2 = {
export type TodoUpdated = {
id: string
metadata?: {
[key: string]: unknown
@@ -10652,6 +8029,398 @@ export type TodoUpdated2 = {
}
}
export type SessionStatusV2 =
| {
type: "idle"
}
| {
type: "retry"
attempt: number
message: string
action?: {
reason: string
provider: string
title: string
message: string
label: string
link?: string
}
next: number
}
| {
type: "busy"
}
export type SessionStatus2 = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.status"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
sessionID: string
status: SessionStatusV2
}
}
export type SessionIdle = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.idle"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
sessionID: string
}
}
export type TuiPromptAppend = {
id: string
metadata?: {
[key: string]: unknown
}
type: "tui.prompt.append"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
text: string
}
}
export type TuiCommandExecute = {
id: string
metadata?: {
[key: string]: unknown
}
type: "tui.command.execute"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
command:
| "session.list"
| "session.new"
| "session.share"
| "session.interrupt"
| "session.background"
| "session.compact"
| "session.page.up"
| "session.page.down"
| "session.line.up"
| "session.line.down"
| "session.half.page.up"
| "session.half.page.down"
| "session.first"
| "session.last"
| "prompt.clear"
| "prompt.submit"
| "agent.cycle"
| string
}
}
export type TuiToastShow = {
id: string
metadata?: {
[key: string]: unknown
}
type: "tui.toast.show"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
title?: string
message: string
variant: "info" | "success" | "warning" | "error"
duration?: number | null
}
}
export type TuiSessionSelect = {
id: string
metadata?: {
[key: string]: unknown
}
type: "tui.session.select"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
/**
* Session ID to navigate to
*/
sessionID: string
}
}
export type InstallationUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "installation.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
version: string
}
}
export type InstallationUpdateAvailable = {
id: string
metadata?: {
[key: string]: unknown
}
type: "installation.update-available"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
version: string
}
}
export type VcsBranchUpdated = {
id: string
metadata?: {
[key: string]: unknown
}
type: "vcs.branch.updated"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
branch?: string
}
}
export type McpStatusChanged = {
id: string
metadata?: {
[key: string]: unknown
}
type: "mcp.status.changed"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
server: string
}
}
export type PermissionAsked = {
id: string
metadata?: {
[key: string]: unknown
}
type: "permission.asked"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
id: string
sessionID: string
permission: string
patterns: Array<string>
metadata: {
[key: string]: unknown
}
always: Array<string>
tool?: {
messageID: string
callID: string
} | null
}
}
export type PermissionReplied = {
id: string
metadata?: {
[key: string]: unknown
}
type: "permission.replied"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
sessionID: string
requestID: string
reply: "once" | "always" | "reject"
}
}
export type QuestionOptionV2 = {
/**
* Display text (1-5 words, concise)
*/
label: string
/**
* Explanation of choice
*/
description: string
}
export type QuestionInfoV2 = {
/**
* Complete question
*/
question: string
/**
* Very short label (max 30 chars)
*/
header: string
/**
* Available choices
*/
options: Array<QuestionOptionV2>
/**
* Allow selecting multiple choices
*/
multiple?: boolean | null
/**
* Allow typing a custom answer (default: true)
*/
custom?: boolean | null
}
export type QuestionToolV2 = {
messageID: string
callID: string
}
export type QuestionAsked = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.asked"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
id: string
sessionID: string
/**
* Questions to ask
*/
questions: Array<QuestionInfoV2>
tool?: QuestionToolV2 | null
}
}
export type QuestionAnswerV2 = Array<string>
export type QuestionReplied2 = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.replied"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
sessionID: string
requestID: string
answers: Array<QuestionAnswerV2>
}
}
export type QuestionRejected2 = {
id: string
metadata?: {
[key: string]: unknown
}
type: "question.rejected"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
sessionID: string
requestID: string
}
}
export type SessionError = {
id: string
metadata?: {
[key: string]: unknown
}
type: "session.error"
durable?: {
aggregateID: string
seq: number
version: number
}
location?: LocationRef2
data: {
sessionID?: string | null
error?:
| ProviderAuthErrorV2
| UnknownError1
| MessageOutputLengthErrorV2
| MessageAbortedErrorV2
| StructuredOutputErrorV2
| ContextOverflowErrorV2
| ContentFilterErrorV2
| ApiErrorV2
| null
}
}
export type V2EventServerConnected = {
id: string
metadata?: {
@@ -10671,83 +8440,99 @@ export type V2EventServerConnected = {
| Array<unknown>
}
export type V2EventV2 =
| ModelsDevRefreshed2
| IntegrationUpdated2
| IntegrationConnectionUpdated2
| CatalogUpdated2
| AgentUpdated2
| SessionCreated2
| SessionUpdated2
| SessionDeleted2
| MessageUpdated2
| MessageRemoved2
| MessagePartUpdated2
| MessagePartRemoved2
| SessionNextAgentSwitched2
| SessionNextModelSwitched2
| SessionNextMoved2
| SessionNextRenamed2
| SessionNextForked2
| SessionNextPrompted2
| SessionNextPromptAdmitted2
| SessionNextExecutionSettled2
| SessionNextContextUpdated2
| SessionNextSynthetic2
| SessionNextSkillActivated2
| SessionNextShellStarted2
| SessionNextShellEnded2
| SessionNextStepStarted2
| SessionNextStepEnded2
| SessionNextStepFailed2
| SessionNextTextStarted2
| SessionNextTextDelta2
| SessionNextTextEnded2
| SessionNextReasoningStarted2
| SessionNextReasoningDelta2
| SessionNextReasoningEnded2
| SessionNextToolInputStarted2
| SessionNextToolInputDelta2
| SessionNextToolInputEnded2
| SessionNextToolCalled2
| SessionNextToolProgress2
| SessionNextToolSuccess2
| SessionNextToolFailed2
| SessionNextRetried2
| SessionNextCompactionStarted2
| SessionNextCompactionDelta2
| SessionNextCompactionEnded2
| SessionNextRevertStaged2
| SessionNextRevertCleared2
| SessionNextRevertCommitted2
| FileEdited2
| ReferenceUpdated2
| PermissionV2Asked2
| PermissionV2Replied2
| PluginAdded2
| ProjectDirectoriesUpdated2
| CommandUpdated2
| SkillUpdated2
| FileWatcherUpdated2
| PtyCreated2
| PtyUpdated2
| PtyExited2
| PtyDeleted2
| ShellCreated2
| ShellExited2
| ShellDeleted2
| QuestionV2Asked2
| QuestionV2Replied2
| QuestionV2Rejected2
| TodoUpdated2
export type V2Event =
| ModelsDevRefreshed
| IntegrationUpdated
| IntegrationConnectionUpdated
| CatalogUpdated
| AgentUpdated
| SessionCreated
| SessionUpdated
| SessionDeleted
| MessageUpdated
| MessageRemoved
| MessagePartUpdated
| MessagePartRemoved
| SessionNextAgentSwitched
| SessionNextModelSwitched
| SessionNextMoved
| SessionNextRenamed
| SessionNextForked
| SessionNextPrompted
| SessionNextPromptAdmitted
| SessionNextExecutionSettled
| SessionNextContextUpdated
| SessionNextSynthetic
| SessionNextSkillActivated
| SessionNextShellStarted
| SessionNextShellEnded
| SessionNextStepStarted
| SessionNextStepEnded
| SessionNextStepFailed
| SessionNextTextStarted
| SessionNextTextDelta
| SessionNextTextEnded
| SessionNextReasoningStarted
| SessionNextReasoningDelta
| SessionNextReasoningEnded
| SessionNextToolInputStarted
| SessionNextToolInputDelta
| SessionNextToolInputEnded
| SessionNextToolCalled
| SessionNextToolProgress
| SessionNextToolSuccess
| SessionNextToolFailed
| SessionNextRetried
| SessionNextCompactionStarted
| SessionNextCompactionDelta
| SessionNextCompactionEnded
| SessionNextRevertStaged
| SessionNextRevertCleared
| SessionNextRevertCommitted
| FileEdited
| ReferenceUpdated
| PermissionV2Asked
| PermissionV2Replied
| PluginAdded
| ProjectDirectoriesUpdated
| CommandUpdated
| SkillUpdated
| FileWatcherUpdated
| PtyCreated
| PtyUpdated
| PtyExited
| PtyDeleted
| ShellCreated
| ShellExited
| ShellDeleted
| FormCreated
| FormReplied
| FormCancelled
| TodoUpdated
| SessionStatus2
| SessionIdle
| TuiPromptAppend
| TuiCommandExecute
| TuiToastShow
| TuiSessionSelect
| InstallationUpdated
| InstallationUpdateAvailable
| VcsBranchUpdated
| McpStatusChanged
| PermissionAsked
| PermissionReplied
| QuestionAsked
| QuestionReplied2
| QuestionRejected2
| SessionError
| V2EventServerConnected
export type V2EventStreamV2 = string
export type V2EventStream = string
/**
* Payload-free change hint: the aggregate's durable log advanced to at least seq. Hints coalesce under backpressure (latest per aggregate) and are never a delivery guarantee.
*/
export type EventLogHint2 = {
export type EventLogHint = {
type: "log.hint"
aggregateID: string
seq: number
@@ -10756,13 +8541,13 @@ export type EventLogHint2 = {
/**
* Hints may have been lost; treat every aggregate as potentially dirty and recover via bounded sweep plus durable log reads. Emitted first on every (re)subscribe.
*/
export type EventLogSweepRequired2 = {
export type EventLogSweepRequired = {
type: "log.sweep_required"
}
export type EventLogChange2 = EventLogHint2 | EventLogSweepRequired2
export type EventLogChange = EventLogHint | EventLogSweepRequired
export type EventLogChangeStream2 = string
export type EventLogChangeStream = string
export type PtyNotFoundErrorV2 = {
_tag: "PtyNotFoundError"
@@ -10775,7 +8560,7 @@ export type PtyTicketConnectToken2 = {
expires_in: number
}
export type ForbiddenErrorV2 = {
export type ForbiddenError = {
_tag: "ForbiddenError"
message: string
}
@@ -10798,43 +8583,20 @@ export type Shell1V2 = {
}
}
export type ShellNotFoundErrorV2 = {
export type ShellNotFoundError = {
_tag: "ShellNotFoundError"
id: string
message: string
}
export type QuestionV2Request2 = {
id: string
sessionID: string
/**
* Questions to ask
*/
questions: Array<QuestionV2Info2>
tool?: QuestionV2Tool2
}
export type QuestionV2Reply2 = {
/**
* User answers in order of questions (each answer is an array of selected labels)
*/
answers: Array<QuestionV2Answer2>
}
export type QuestionNotFoundErrorV2 = {
_tag: "QuestionNotFoundError"
requestID: string
message: string
}
export type ReferenceLocalSource2 = {
export type ReferenceLocalSource = {
type: "local"
path: string
description?: string
hidden?: boolean
}
export type ReferenceGitSource2 = {
export type ReferenceGitSource = {
type: "git"
repository: string
branch?: string
@@ -10842,21 +8604,21 @@ export type ReferenceGitSource2 = {
hidden?: boolean
}
export type ReferenceSource2 = ReferenceLocalSource2 | ReferenceGitSource2
export type ReferenceSource = ReferenceLocalSource | ReferenceGitSource
export type ReferenceInfo2 = {
export type ReferenceInfo = {
name: string
path: string
description?: string
hidden?: boolean
source: ReferenceSource2
source: ReferenceSource
}
export type ProjectCopyCopy2 = {
export type ProjectCopyCopy = {
directory: string
}
export type ProjectCopyErrorV2 = {
export type ProjectCopyError = {
name: "ProjectCopyError"
data: {
message: string
@@ -14997,6 +12759,42 @@ export type ExperimentalWorkspaceWarpResponses = {
export type ExperimentalWorkspaceWarpResponse =
ExperimentalWorkspaceWarpResponses[keyof ExperimentalWorkspaceWarpResponses]
export type PtyConnectData = {
body?: never
path: {
ptyID: string
}
query?: {
directory?: string
workspace?: string
cursor?: string
ticket?: string
}
url: "/pty/{ptyID}/connect"
}
export type PtyConnectErrors = {
/**
* Forbidden
*/
403: EffectHttpApiErrorForbidden
/**
* Not found
*/
404: NotFoundError
}
export type PtyConnectError = PtyConnectErrors[keyof PtyConnectErrors]
export type PtyConnectResponses = {
/**
* Connected session
*/
200: boolean
}
export type PtyConnectResponse = PtyConnectResponses[keyof PtyConnectResponses]
export type V2HealthGetData = {
body?: never
path?: never
@@ -15012,7 +12810,7 @@ export type V2HealthGetErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2HealthGetError = V2HealthGetErrors[keyof V2HealthGetErrors]
@@ -15048,7 +12846,7 @@ export type V2LocationGetErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2LocationGetError = V2LocationGetErrors[keyof V2LocationGetErrors]
@@ -15057,7 +12855,7 @@ export type V2LocationGetResponses = {
/**
* Location.Info
*/
200: LocationInfo2
200: LocationInfo
}
export type V2LocationGetResponse = V2LocationGetResponses[keyof V2LocationGetResponses]
@@ -15082,7 +12880,7 @@ export type V2AgentListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2AgentListError = V2AgentListErrors[keyof V2AgentListErrors]
@@ -15092,8 +12890,8 @@ export type V2AgentListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<AgentV2Info2>
location: LocationInfo
data: Array<AgentV2Info>
}
}
@@ -15119,7 +12917,7 @@ export type V2PluginListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2PluginListError = V2PluginListErrors[keyof V2PluginListErrors]
@@ -15129,8 +12927,8 @@ export type V2PluginListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<PluginInfo2>
location: LocationInfo
data: Array<PluginInfo>
}
}
@@ -15144,7 +12942,7 @@ export type V2SessionListData = {
/**
* Maximum number of sessions to return. Defaults to the newest 50 sessions.
*/
limit?: number | null
limit?: string | null
/**
* Session order for the first page. Use desc for newest first or asc for oldest first.
*/
@@ -15163,11 +12961,11 @@ export type V2SessionListErrors = {
/**
* InvalidCursorError | InvalidRequestError
*/
400: InvalidCursorErrorV2 | InvalidRequestError1 | InvalidRequestErrorV2
400: InvalidCursorError | InvalidRequestError1 | InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2SessionListError = V2SessionListErrors[keyof V2SessionListErrors]
@@ -15176,7 +12974,7 @@ export type V2SessionListResponses = {
/**
* SessionsResponse
*/
200: SessionsResponseV2
200: SessionsResponse
}
export type V2SessionListResponse = V2SessionListResponses[keyof V2SessionListResponses]
@@ -15201,7 +12999,7 @@ export type V2SessionCreateErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2SessionCreateError = V2SessionCreateErrors[keyof V2SessionCreateErrors]
@@ -15211,7 +13009,7 @@ export type V2SessionCreateResponses = {
* Success
*/
200: {
data: SessionV2Info2
data: SessionV2Info
}
}
@@ -15232,7 +13030,7 @@ export type V2SessionActiveErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2SessionActiveError = V2SessionActiveErrors[keyof V2SessionActiveErrors]
@@ -15243,9 +13041,9 @@ export type V2SessionActiveResponses = {
*/
200: {
data: {
[key: string]: unknown | SessionActiveV2
[key: string]: unknown | SessionActive
}
watermarks: SessionWatermarksV2
watermarks: SessionWatermarks
}
}
@@ -15268,11 +13066,11 @@ export type V2SessionGetErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionGetError = V2SessionGetErrors[keyof V2SessionGetErrors]
@@ -15282,7 +13080,7 @@ export type V2SessionGetResponses = {
* Success
*/
200: {
data: SessionV2Info2
data: SessionV2Info
}
}
@@ -15307,11 +13105,11 @@ export type V2SessionForkErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError | MessageNotFoundError
*/
404: MessageNotFoundErrorV2 | SessionNotFoundErrorV2
404: MessageNotFoundError | SessionNotFoundError
}
export type V2SessionForkError = V2SessionForkErrors[keyof V2SessionForkErrors]
@@ -15321,7 +13119,7 @@ export type V2SessionForkResponses = {
* Success
*/
200: {
data: SessionV2Info2
data: SessionV2Info
}
}
@@ -15346,11 +13144,11 @@ export type V2SessionSwitchAgentErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionSwitchAgentError = V2SessionSwitchAgentErrors[keyof V2SessionSwitchAgentErrors]
@@ -15383,11 +13181,11 @@ export type V2SessionSwitchModelErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionSwitchModelError = V2SessionSwitchModelErrors[keyof V2SessionSwitchModelErrors]
@@ -15420,11 +13218,11 @@ export type V2SessionRenameErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionRenameError = V2SessionRenameErrors[keyof V2SessionRenameErrors]
@@ -15441,7 +13239,7 @@ export type V2SessionRenameResponse = V2SessionRenameResponses[keyof V2SessionRe
export type V2SessionPromptData = {
body: {
id?: string | null
prompt: PromptInputV2
prompt: PromptInput
delivery?: "steer" | "queue" | null
resume?: boolean | null
}
@@ -15460,15 +13258,15 @@ export type V2SessionPromptErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
/**
* ConflictError
*/
409: ConflictErrorV2
409: ConflictError
}
export type V2SessionPromptError = V2SessionPromptErrors[keyof V2SessionPromptErrors]
@@ -15478,7 +13276,7 @@ export type V2SessionPromptResponses = {
* Success
*/
200: {
data: SessionInputAdmitted2
data: SessionInputAdmitted
}
}
@@ -15491,7 +13289,7 @@ export type V2SessionCommandData = {
arguments?: string | null
agent?: string | null
model?: ModelRef2 | null
files?: Array<PromptInputFileAttachment2>
files?: Array<PromptInputFileAttachment>
agents?: Array<PromptAgentAttachment2>
delivery?: "steer" | "queue" | null
resume?: boolean | null
@@ -15511,19 +13309,19 @@ export type V2SessionCommandErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError | CommandNotFoundError
*/
404: CommandNotFoundErrorV2 | SessionNotFoundErrorV2
404: CommandNotFoundError | SessionNotFoundError
/**
* ConflictError
*/
409: ConflictErrorV2
409: ConflictError
/**
* CommandEvaluationError
*/
500: CommandEvaluationErrorV2
500: CommandEvaluationError
}
export type V2SessionCommandError = V2SessionCommandErrors[keyof V2SessionCommandErrors]
@@ -15533,7 +13331,7 @@ export type V2SessionCommandResponses = {
* Success
*/
200: {
data: SessionInputAdmitted2
data: SessionInputAdmitted
}
}
@@ -15560,11 +13358,11 @@ export type V2SessionSkillErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError | SkillNotFoundError
*/
404: SkillNotFoundErrorV2 | SessionNotFoundErrorV2
404: SkillNotFoundError | SessionNotFoundError
}
export type V2SessionSkillError = V2SessionSkillErrors[keyof V2SessionSkillErrors]
@@ -15601,11 +13399,11 @@ export type V2SessionSyntheticErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionSyntheticError = V2SessionSyntheticErrors[keyof V2SessionSyntheticErrors]
@@ -15636,11 +13434,11 @@ export type V2SessionCompactErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
/**
* SessionBusyError
*/
@@ -15652,7 +13450,7 @@ export type V2SessionCompactErrors = {
/**
* ServiceUnavailableError
*/
503: ServiceUnavailableErrorV2
503: ServiceUnavailableError
}
export type V2SessionCompactError = V2SessionCompactErrors[keyof V2SessionCompactErrors]
@@ -15683,15 +13481,15 @@ export type V2SessionWaitErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
/**
* ServiceUnavailableError
*/
503: ServiceUnavailableErrorV2
503: ServiceUnavailableError
}
export type V2SessionWaitError = V2SessionWaitErrors[keyof V2SessionWaitErrors]
@@ -15725,11 +13523,11 @@ export type V2SessionRevertStageErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* MessageNotFoundError | SessionNotFoundError
*/
404: MessageNotFoundErrorV2 | SessionNotFoundErrorV2
404: MessageNotFoundError | SessionNotFoundError
/**
* SessionBusyError
*/
@@ -15770,11 +13568,11 @@ export type V2SessionRevertClearErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
/**
* SessionBusyError
*/
@@ -15813,11 +13611,11 @@ export type V2SessionRevertCommitErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
/**
* SessionBusyError
*/
@@ -15852,11 +13650,11 @@ export type V2SessionContextErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
/**
* UnknownError
*/
@@ -15870,7 +13668,7 @@ export type V2SessionContextResponses = {
* Success
*/
200: {
data: Array<SessionMessage2>
data: Array<SessionMessage>
}
}
@@ -15893,11 +13691,11 @@ export type V2SessionContextEntryListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionContextEntryListError = V2SessionContextEntryListErrors[keyof V2SessionContextEntryListErrors]
@@ -15907,7 +13705,7 @@ export type V2SessionContextEntryListResponses = {
* Success
*/
200: {
data: Array<SessionContextEntryInfo2>
data: Array<SessionContextEntryInfo>
}
}
@@ -15918,7 +13716,7 @@ export type V2SessionContextEntryRemoveData = {
body?: never
path: {
sessionID: string
key: SessionContextEntryKey2
key: SessionContextEntryKey
}
query?: never
url: "/api/session/{sessionID}/context-entry/{key}"
@@ -15932,11 +13730,11 @@ export type V2SessionContextEntryRemoveErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionContextEntryRemoveError =
@@ -15958,7 +13756,7 @@ export type V2SessionContextEntryPutData = {
}
path: {
sessionID: string
key: SessionContextEntryKey2
key: SessionContextEntryKey
}
query?: never
url: "/api/session/{sessionID}/context-entry/{key}"
@@ -15972,11 +13770,11 @@ export type V2SessionContextEntryPutErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionContextEntryPutError = V2SessionContextEntryPutErrors[keyof V2SessionContextEntryPutErrors]
@@ -16011,11 +13809,11 @@ export type V2SessionLogErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionLogError = V2SessionLogErrors[keyof V2SessionLogErrors]
@@ -16027,7 +13825,7 @@ export type V2SessionLogResponses = {
200: {
id: string | null
event: string
data: SessionLogItemStreamV2
data: SessionLogItemStream
}
}
@@ -16050,11 +13848,11 @@ export type V2SessionInterruptErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionInterruptError = V2SessionInterruptErrors[keyof V2SessionInterruptErrors]
@@ -16085,11 +13883,11 @@ export type V2SessionBackgroundErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionBackgroundError = V2SessionBackgroundErrors[keyof V2SessionBackgroundErrors]
@@ -16121,11 +13919,11 @@ export type V2SessionMessageErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError | MessageNotFoundError
*/
404: MessageNotFoundErrorV2 | SessionNotFoundErrorV2
404: MessageNotFoundError | SessionNotFoundError
}
export type V2SessionMessageError = V2SessionMessageErrors[keyof V2SessionMessageErrors]
@@ -16135,7 +13933,7 @@ export type V2SessionMessageResponses = {
* Success
*/
200: {
data: SessionMessage2
data: SessionMessage
}
}
@@ -16150,7 +13948,7 @@ export type V2SessionMessagesData = {
/**
* Maximum number of messages to return. When omitted, the endpoint returns its default page size.
*/
limit?: number | null
limit?: string | null
/**
* Message order for the first page. Use desc for newest first or asc for oldest first.
*/
@@ -16164,15 +13962,15 @@ export type V2SessionMessagesErrors = {
/**
* InvalidCursorError | InvalidRequestError
*/
400: InvalidCursorErrorV2 | InvalidRequestErrorV2
400: InvalidCursorError | InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
/**
* UnknownError
*/
@@ -16185,7 +13983,7 @@ export type V2SessionMessagesResponses = {
/**
* SessionMessagesResponse
*/
200: SessionMessagesResponseV2
200: SessionMessagesResponse
}
export type V2SessionMessagesResponse = V2SessionMessagesResponses[keyof V2SessionMessagesResponses]
@@ -16210,11 +14008,11 @@ export type V2ModelListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ServiceUnavailableError
*/
503: ServiceUnavailableErrorV2
503: ServiceUnavailableError
}
export type V2ModelListError = V2ModelListErrors[keyof V2ModelListErrors]
@@ -16224,8 +14022,8 @@ export type V2ModelListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<ModelV2Info2>
location: LocationInfo
data: Array<ModelV2Info>
}
}
@@ -16251,11 +14049,11 @@ export type V2ModelDefaultErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ServiceUnavailableError
*/
503: ServiceUnavailableErrorV2
503: ServiceUnavailableError
}
export type V2ModelDefaultError = V2ModelDefaultErrors[keyof V2ModelDefaultErrors]
@@ -16265,8 +14063,8 @@ export type V2ModelDefaultResponses = {
* Success
*/
200: {
location: LocationInfo2
data: ModelV2Info2 | null
location: LocationInfo
data: ModelV2Info | null
}
}
@@ -16295,11 +14093,11 @@ export type V2GenerateTextErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ServiceUnavailableError
*/
503: ServiceUnavailableErrorV2
503: ServiceUnavailableError
}
export type V2GenerateTextError = V2GenerateTextErrors[keyof V2GenerateTextErrors]
@@ -16308,7 +14106,7 @@ export type V2GenerateTextResponses = {
/**
* GenerateTextResponse
*/
200: GenerateTextResponseV2
200: GenerateTextResponse
}
export type V2GenerateTextResponse = V2GenerateTextResponses[keyof V2GenerateTextResponses]
@@ -16333,11 +14131,11 @@ export type V2ProviderListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ServiceUnavailableError
*/
503: ServiceUnavailableErrorV2
503: ServiceUnavailableError
}
export type V2ProviderListError = V2ProviderListErrors[keyof V2ProviderListErrors]
@@ -16347,8 +14145,8 @@ export type V2ProviderListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<ProviderV2Info2>
location: LocationInfo
data: Array<ProviderV2Info>
}
}
@@ -16376,15 +14174,15 @@ export type V2ProviderGetErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ProviderNotFoundError
*/
404: ProviderNotFoundErrorV2
404: ProviderNotFoundError
/**
* ServiceUnavailableError
*/
503: ServiceUnavailableErrorV2
503: ServiceUnavailableError
}
export type V2ProviderGetError = V2ProviderGetErrors[keyof V2ProviderGetErrors]
@@ -16394,8 +14192,8 @@ export type V2ProviderGetResponses = {
* Success
*/
200: {
location: LocationInfo2
data: ProviderV2Info2
location: LocationInfo
data: ProviderV2Info
}
}
@@ -16421,7 +14219,7 @@ export type V2IntegrationListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2IntegrationListError = V2IntegrationListErrors[keyof V2IntegrationListErrors]
@@ -16431,8 +14229,8 @@ export type V2IntegrationListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<IntegrationInfo2>
location: LocationInfo
data: Array<IntegrationInfo>
}
}
@@ -16460,7 +14258,7 @@ export type V2IntegrationGetErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2IntegrationGetError = V2IntegrationGetErrors[keyof V2IntegrationGetErrors]
@@ -16470,8 +14268,8 @@ export type V2IntegrationGetResponses = {
* Success
*/
200: {
location: LocationInfo2
data: IntegrationInfo2 | null
location: LocationInfo
data: IntegrationInfo | null
}
}
@@ -16502,7 +14300,7 @@ export type V2IntegrationConnectKeyErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2IntegrationConnectKeyError = V2IntegrationConnectKeyErrors[keyof V2IntegrationConnectKeyErrors]
@@ -16544,7 +14342,7 @@ export type V2IntegrationConnectOauthErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2IntegrationConnectOauthError = V2IntegrationConnectOauthErrors[keyof V2IntegrationConnectOauthErrors]
@@ -16554,8 +14352,8 @@ export type V2IntegrationConnectOauthResponses = {
* Success
*/
200: {
location: LocationInfo2
data: IntegrationAttempt2
location: LocationInfo
data: IntegrationAttempt
}
}
@@ -16584,7 +14382,7 @@ export type V2IntegrationAttemptCancelErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2IntegrationAttemptCancelError = V2IntegrationAttemptCancelErrors[keyof V2IntegrationAttemptCancelErrors]
@@ -16621,7 +14419,7 @@ export type V2IntegrationAttemptStatusErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2IntegrationAttemptStatusError = V2IntegrationAttemptStatusErrors[keyof V2IntegrationAttemptStatusErrors]
@@ -16631,8 +14429,8 @@ export type V2IntegrationAttemptStatusResponses = {
* Success
*/
200: {
location: LocationInfo2
data: IntegrationAttemptStatus2
location: LocationInfo
data: IntegrationAttemptStatus
}
}
@@ -16663,7 +14461,7 @@ export type V2IntegrationAttemptCompleteErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2IntegrationAttemptCompleteError =
@@ -16699,7 +14497,7 @@ export type V2McpListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2McpListError = V2McpListErrors[keyof V2McpListErrors]
@@ -16709,8 +14507,8 @@ export type V2McpListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<McpServer2>
location: LocationInfo
data: Array<McpServer>
}
}
@@ -16738,7 +14536,7 @@ export type V2CredentialRemoveErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2CredentialRemoveError = V2CredentialRemoveErrors[keyof V2CredentialRemoveErrors]
@@ -16776,7 +14574,7 @@ export type V2CredentialUpdateErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2CredentialUpdateError = V2CredentialUpdateErrors[keyof V2CredentialUpdateErrors]
@@ -16810,7 +14608,7 @@ export type V2ProjectCurrentErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2ProjectCurrentError = V2ProjectCurrentErrors[keyof V2ProjectCurrentErrors]
@@ -16819,7 +14617,7 @@ export type V2ProjectCurrentResponses = {
/**
* Project.Current
*/
200: ProjectCurrent2
200: ProjectCurrent
}
export type V2ProjectCurrentResponse = V2ProjectCurrentResponses[keyof V2ProjectCurrentResponses]
@@ -16846,7 +14644,7 @@ export type V2ProjectDirectoriesErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2ProjectDirectoriesError = V2ProjectDirectoriesErrors[keyof V2ProjectDirectoriesErrors]
@@ -16860,6 +14658,311 @@ export type V2ProjectDirectoriesResponses = {
export type V2ProjectDirectoriesResponse = V2ProjectDirectoriesResponses[keyof V2ProjectDirectoriesResponses]
export type V2FormRequestListData = {
body?: never
path?: never
query?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
}
url: "/api/form/request"
}
export type V2FormRequestListErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedError
}
export type V2FormRequestListError = V2FormRequestListErrors[keyof V2FormRequestListErrors]
export type V2FormRequestListResponses = {
/**
* Success
*/
200: {
location: LocationInfo
data: Array<FormFormInfo2 | FormUrlInfo2>
}
}
export type V2FormRequestListResponse = V2FormRequestListResponses[keyof V2FormRequestListResponses]
export type V2SessionFormListData = {
body?: never
path: {
sessionID: string
}
query?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
}
url: "/api/session/{sessionID}/form"
}
export type V2SessionFormListErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundError
}
export type V2SessionFormListError = V2SessionFormListErrors[keyof V2SessionFormListErrors]
export type V2SessionFormListResponses = {
/**
* Success
*/
200: {
location: LocationInfo
data: Array<FormFormInfo2 | FormUrlInfo2>
}
}
export type V2SessionFormListResponse = V2SessionFormListResponses[keyof V2SessionFormListResponses]
export type V2SessionFormCreateData = {
body: FormCreatePayload
path: {
sessionID: string
}
query?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
}
url: "/api/session/{sessionID}/form"
}
export type V2SessionFormCreateErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestError1 | InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundError
/**
* ConflictError
*/
409: ConflictError
}
export type V2SessionFormCreateError = V2SessionFormCreateErrors[keyof V2SessionFormCreateErrors]
export type V2SessionFormCreateResponses = {
/**
* Success
*/
200: {
location: LocationInfo
data: FormFormInfo2 | FormUrlInfo2
}
}
export type V2SessionFormCreateResponse = V2SessionFormCreateResponses[keyof V2SessionFormCreateResponses]
export type V2SessionFormGetData = {
body?: never
path: {
sessionID: string
formID: string
}
query?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
}
url: "/api/session/{sessionID}/form/{formID}"
}
export type V2SessionFormGetErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedError
/**
* FormNotFoundError | SessionNotFoundError
*/
404: FormNotFoundError | SessionNotFoundError
}
export type V2SessionFormGetError = V2SessionFormGetErrors[keyof V2SessionFormGetErrors]
export type V2SessionFormGetResponses = {
/**
* Success
*/
200: {
location: LocationInfo
data: FormFormInfo2 | FormUrlInfo2
}
}
export type V2SessionFormGetResponse = V2SessionFormGetResponses[keyof V2SessionFormGetResponses]
export type V2SessionFormStateData = {
body?: never
path: {
sessionID: string
formID: string
}
query?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
}
url: "/api/session/{sessionID}/form/{formID}/state"
}
export type V2SessionFormStateErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedError
/**
* FormNotFoundError | SessionNotFoundError
*/
404: FormNotFoundError | SessionNotFoundError
}
export type V2SessionFormStateError = V2SessionFormStateErrors[keyof V2SessionFormStateErrors]
export type V2SessionFormStateResponses = {
/**
* Success
*/
200: {
location: LocationInfo
data: FormState
}
}
export type V2SessionFormStateResponse = V2SessionFormStateResponses[keyof V2SessionFormStateResponses]
export type V2SessionFormReplyData = {
body: FormReply
path: {
sessionID: string
formID: string
}
query?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
}
url: "/api/session/{sessionID}/form/{formID}/reply"
}
export type V2SessionFormReplyErrors = {
/**
* FormInvalidAnswerError | InvalidRequestError
*/
400: FormInvalidAnswerError | InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedError
/**
* FormNotFoundError | SessionNotFoundError
*/
404: FormNotFoundError | SessionNotFoundError
/**
* FormAlreadySettledError
*/
409: FormAlreadySettledError
}
export type V2SessionFormReplyError = V2SessionFormReplyErrors[keyof V2SessionFormReplyErrors]
export type V2SessionFormReplyResponses = {
/**
* <No Content>
*/
204: void
}
export type V2SessionFormReplyResponse = V2SessionFormReplyResponses[keyof V2SessionFormReplyResponses]
export type V2SessionFormCancelData = {
body?: never
path: {
sessionID: string
formID: string
}
query?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
}
url: "/api/session/{sessionID}/form/{formID}/cancel"
}
export type V2SessionFormCancelErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedError
/**
* FormNotFoundError | SessionNotFoundError
*/
404: FormNotFoundError | SessionNotFoundError
/**
* FormAlreadySettledError
*/
409: FormAlreadySettledError
}
export type V2SessionFormCancelError = V2SessionFormCancelErrors[keyof V2SessionFormCancelErrors]
export type V2SessionFormCancelResponses = {
/**
* <No Content>
*/
204: void
}
export type V2SessionFormCancelResponse = V2SessionFormCancelResponses[keyof V2SessionFormCancelResponses]
export type V2PermissionRequestListData = {
body?: never
path?: never
@@ -16880,7 +14983,7 @@ export type V2PermissionRequestListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2PermissionRequestListError = V2PermissionRequestListErrors[keyof V2PermissionRequestListErrors]
@@ -16890,8 +14993,8 @@ export type V2PermissionRequestListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<PermissionV2Request2>
location: LocationInfo
data: Array<PermissionV2Request>
}
}
@@ -16914,7 +15017,7 @@ export type V2PermissionSavedListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2PermissionSavedListError = V2PermissionSavedListErrors[keyof V2PermissionSavedListErrors]
@@ -16924,7 +15027,7 @@ export type V2PermissionSavedListResponses = {
* Success
*/
200: {
data: Array<PermissionSavedInfo2>
data: Array<PermissionSavedInfo>
}
}
@@ -16947,7 +15050,7 @@ export type V2PermissionSavedRemoveErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2PermissionSavedRemoveError = V2PermissionSavedRemoveErrors[keyof V2PermissionSavedRemoveErrors]
@@ -16978,11 +15081,11 @@ export type V2SessionPermissionListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionPermissionListError = V2SessionPermissionListErrors[keyof V2SessionPermissionListErrors]
@@ -16992,7 +15095,7 @@ export type V2SessionPermissionListResponses = {
* Success
*/
200: {
data: Array<PermissionV2Request2>
data: Array<PermissionV2Request>
}
}
@@ -17025,11 +15128,11 @@ export type V2SessionPermissionCreateErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
404: SessionNotFoundError
}
export type V2SessionPermissionCreateError = V2SessionPermissionCreateErrors[keyof V2SessionPermissionCreateErrors]
@@ -17041,7 +15144,7 @@ export type V2SessionPermissionCreateResponses = {
200: {
data: {
id: string
effect: PermissionV2Effect2
effect: PermissionV2Effect
}
}
}
@@ -17067,11 +15170,11 @@ export type V2SessionPermissionGetErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError | PermissionNotFoundError
*/
404: PermissionNotFoundErrorV2 | SessionNotFoundErrorV2
404: PermissionNotFoundErrorV2 | SessionNotFoundError
}
export type V2SessionPermissionGetError = V2SessionPermissionGetErrors[keyof V2SessionPermissionGetErrors]
@@ -17081,7 +15184,7 @@ export type V2SessionPermissionGetResponses = {
* Success
*/
200: {
data: PermissionV2Request2
data: PermissionV2Request
}
}
@@ -17108,11 +15211,11 @@ export type V2SessionPermissionReplyErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* SessionNotFoundError | PermissionNotFoundError
*/
404: PermissionNotFoundErrorV2 | SessionNotFoundErrorV2
404: PermissionNotFoundErrorV2 | SessionNotFoundError
}
export type V2SessionPermissionReplyError = V2SessionPermissionReplyErrors[keyof V2SessionPermissionReplyErrors]
@@ -17147,7 +15250,7 @@ export type V2FsReadErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2FsReadError = V2FsReadErrors[keyof V2FsReadErrors]
@@ -17182,7 +15285,7 @@ export type V2FsListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2FsListError = V2FsListErrors[keyof V2FsListErrors]
@@ -17192,8 +15295,8 @@ export type V2FsListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<FileSystemEntry2>
location: LocationInfo
data: Array<FileSystemEntry>
}
}
@@ -17222,7 +15325,7 @@ export type V2FsFindErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2FsFindError = V2FsFindErrors[keyof V2FsFindErrors]
@@ -17232,8 +15335,8 @@ export type V2FsFindResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<FileSystemEntry2>
location: LocationInfo
data: Array<FileSystemEntry>
}
}
@@ -17259,7 +15362,7 @@ export type V2CommandListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2CommandListError = V2CommandListErrors[keyof V2CommandListErrors]
@@ -17269,8 +15372,8 @@ export type V2CommandListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<CommandV2Info2>
location: LocationInfo
data: Array<CommandV2Info>
}
}
@@ -17296,7 +15399,7 @@ export type V2SkillListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2SkillListError = V2SkillListErrors[keyof V2SkillListErrors]
@@ -17306,7 +15409,7 @@ export type V2SkillListResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: Array<SkillV2Info2>
}
}
@@ -17328,7 +15431,7 @@ export type V2EventSubscribeErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2EventSubscribeError = V2EventSubscribeErrors[keyof V2EventSubscribeErrors]
@@ -17337,7 +15440,11 @@ export type V2EventSubscribeResponses = {
/**
* Success
*/
200: V2Event
200: {
id: string | null
event: string
data: V2EventStream
}
}
export type V2EventSubscribeResponse = V2EventSubscribeResponses[keyof V2EventSubscribeResponses]
@@ -17357,7 +15464,7 @@ export type V2EventChangesErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2EventChangesError = V2EventChangesErrors[keyof V2EventChangesErrors]
@@ -17369,7 +15476,7 @@ export type V2EventChangesResponses = {
200: {
id: string | null
event: string
data: EventLogChangeStream2
data: EventLogChangeStream
}
}
@@ -17395,7 +15502,7 @@ export type V2PtyListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2PtyListError = V2PtyListErrors[keyof V2PtyListErrors]
@@ -17405,7 +15512,7 @@ export type V2PtyListResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: Array<PtyV2>
}
}
@@ -17440,7 +15547,7 @@ export type V2PtyCreateErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2PtyCreateError = V2PtyCreateErrors[keyof V2PtyCreateErrors]
@@ -17450,7 +15557,7 @@ export type V2PtyCreateResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: PtyV2
}
}
@@ -17479,7 +15586,7 @@ export type V2PtyRemoveErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* PtyNotFoundError
*/
@@ -17519,7 +15626,7 @@ export type V2PtyGetErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* PtyNotFoundError
*/
@@ -17533,7 +15640,7 @@ export type V2PtyGetResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: PtyV2
}
}
@@ -17568,7 +15675,7 @@ export type V2PtyUpdateErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* PtyNotFoundError
*/
@@ -17582,7 +15689,7 @@ export type V2PtyUpdateResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: PtyV2
}
}
@@ -17611,11 +15718,11 @@ export type V2PtyConnectTokenErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ForbiddenError
*/
403: ForbiddenErrorV2
403: ForbiddenError
/**
* PtyNotFoundError
*/
@@ -17629,7 +15736,7 @@ export type V2PtyConnectTokenResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: PtyTicketConnectToken2
}
}
@@ -17658,11 +15765,11 @@ export type V2PtyConnectErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ForbiddenError
*/
403: ForbiddenErrorV2
403: ForbiddenError
/**
* PtyNotFoundError
*/
@@ -17700,7 +15807,7 @@ export type V2ShellListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2ShellListError = V2ShellListErrors[keyof V2ShellListErrors]
@@ -17710,7 +15817,7 @@ export type V2ShellListResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: Array<Shell1V2>
}
}
@@ -17744,7 +15851,7 @@ export type V2ShellCreateErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2ShellCreateError = V2ShellCreateErrors[keyof V2ShellCreateErrors]
@@ -17754,7 +15861,7 @@ export type V2ShellCreateResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: Shell1V2
}
}
@@ -17783,11 +15890,11 @@ export type V2ShellRemoveErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ShellNotFoundError
*/
404: ShellNotFoundErrorV2
404: ShellNotFoundError
}
export type V2ShellRemoveError = V2ShellRemoveErrors[keyof V2ShellRemoveErrors]
@@ -17823,11 +15930,11 @@ export type V2ShellGetErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ShellNotFoundError
*/
404: ShellNotFoundErrorV2
404: ShellNotFoundError
}
export type V2ShellGetError = V2ShellGetErrors[keyof V2ShellGetErrors]
@@ -17837,7 +15944,7 @@ export type V2ShellGetResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: Shell1V2
}
}
@@ -17868,11 +15975,11 @@ export type V2ShellOutputErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
/**
* ShellNotFoundError
*/
404: ShellNotFoundErrorV2
404: ShellNotFoundError
}
export type V2ShellOutputError = V2ShellOutputErrors[keyof V2ShellOutputErrors]
@@ -17882,7 +15989,7 @@ export type V2ShellOutputResponses = {
* Success
*/
200: {
location: LocationInfo2
location: LocationInfo
data: {
output: string
cursor: number
@@ -17894,152 +16001,6 @@ export type V2ShellOutputResponses = {
export type V2ShellOutputResponse = V2ShellOutputResponses[keyof V2ShellOutputResponses]
export type V2QuestionRequestListData = {
body?: never
path?: never
query?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
}
url: "/api/question/request"
}
export type V2QuestionRequestListErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
}
export type V2QuestionRequestListError = V2QuestionRequestListErrors[keyof V2QuestionRequestListErrors]
export type V2QuestionRequestListResponses = {
/**
* Success
*/
200: {
location: LocationInfo2
data: Array<QuestionV2Request2>
}
}
export type V2QuestionRequestListResponse = V2QuestionRequestListResponses[keyof V2QuestionRequestListResponses]
export type V2SessionQuestionListData = {
body?: never
path: {
sessionID: string
}
query?: never
url: "/api/session/{sessionID}/question"
}
export type V2SessionQuestionListErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
/**
* SessionNotFoundError
*/
404: SessionNotFoundErrorV2
}
export type V2SessionQuestionListError = V2SessionQuestionListErrors[keyof V2SessionQuestionListErrors]
export type V2SessionQuestionListResponses = {
/**
* Success
*/
200: {
data: Array<QuestionV2Request2>
}
}
export type V2SessionQuestionListResponse = V2SessionQuestionListResponses[keyof V2SessionQuestionListResponses]
export type V2SessionQuestionReplyData = {
body: QuestionV2Reply2
path: {
sessionID: string
requestID: string
}
query?: never
url: "/api/session/{sessionID}/question/{requestID}/reply"
}
export type V2SessionQuestionReplyErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
/**
* SessionNotFoundError | QuestionNotFoundError
*/
404: QuestionNotFoundErrorV2 | SessionNotFoundErrorV2
}
export type V2SessionQuestionReplyError = V2SessionQuestionReplyErrors[keyof V2SessionQuestionReplyErrors]
export type V2SessionQuestionReplyResponses = {
/**
* <No Content>
*/
204: void
}
export type V2SessionQuestionReplyResponse = V2SessionQuestionReplyResponses[keyof V2SessionQuestionReplyResponses]
export type V2SessionQuestionRejectData = {
body?: never
path: {
sessionID: string
requestID: string
}
query?: never
url: "/api/session/{sessionID}/question/{requestID}/reject"
}
export type V2SessionQuestionRejectErrors = {
/**
* InvalidRequestError
*/
400: InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
/**
* SessionNotFoundError | QuestionNotFoundError
*/
404: QuestionNotFoundErrorV2 | SessionNotFoundErrorV2
}
export type V2SessionQuestionRejectError = V2SessionQuestionRejectErrors[keyof V2SessionQuestionRejectErrors]
export type V2SessionQuestionRejectResponses = {
/**
* <No Content>
*/
204: void
}
export type V2SessionQuestionRejectResponse = V2SessionQuestionRejectResponses[keyof V2SessionQuestionRejectResponses]
export type V2ReferenceListData = {
body?: never
path?: never
@@ -18060,7 +16021,7 @@ export type V2ReferenceListErrors = {
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2ReferenceListError = V2ReferenceListErrors[keyof V2ReferenceListErrors]
@@ -18070,8 +16031,8 @@ export type V2ReferenceListResponses = {
* Success
*/
200: {
location: LocationInfo2
data: Array<ReferenceInfo2>
location: LocationInfo
data: Array<ReferenceInfo>
}
}
@@ -18098,11 +16059,11 @@ export type V2ProjectCopyRemoveErrors = {
/**
* ProjectCopyError | InvalidRequestError
*/
400: ProjectCopyErrorV2 | InvalidRequestErrorV2
400: ProjectCopyError | InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2ProjectCopyRemoveError = V2ProjectCopyRemoveErrors[keyof V2ProjectCopyRemoveErrors]
@@ -18138,11 +16099,11 @@ export type V2ProjectCopyCreateErrors = {
/**
* ProjectCopyError | InvalidRequestError
*/
400: ProjectCopyErrorV2 | InvalidRequestErrorV2
400: ProjectCopyError | InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2ProjectCopyCreateError = V2ProjectCopyCreateErrors[keyof V2ProjectCopyCreateErrors]
@@ -18151,7 +16112,7 @@ export type V2ProjectCopyCreateResponses = {
/**
* ProjectCopy.Copy
*/
200: ProjectCopyCopy2
200: ProjectCopyCopy
}
export type V2ProjectCopyCreateResponse = V2ProjectCopyCreateResponses[keyof V2ProjectCopyCreateResponses]
@@ -18174,11 +16135,11 @@ export type V2ProjectCopyRefreshErrors = {
/**
* ProjectCopyError | InvalidRequestError
*/
400: ProjectCopyErrorV2 | InvalidRequestErrorV2
400: ProjectCopyError | InvalidRequestErrorV2
/**
* UnauthorizedError
*/
401: UnauthorizedErrorV2
401: UnauthorizedError
}
export type V2ProjectCopyRefreshError = V2ProjectCopyRefreshErrors[keyof V2ProjectCopyRefreshErrors]
@@ -18191,39 +16152,3 @@ export type V2ProjectCopyRefreshResponses = {
}
export type V2ProjectCopyRefreshResponse = V2ProjectCopyRefreshResponses[keyof V2ProjectCopyRefreshResponses]
export type PtyConnectData = {
body?: never
path: {
ptyID: string
}
query?: {
directory?: string
workspace?: string
cursor?: string
ticket?: string
}
url: "/pty/{ptyID}/connect"
}
export type PtyConnectErrors = {
/**
* Forbidden
*/
403: EffectHttpApiErrorForbidden
/**
* Not found
*/
404: NotFoundError
}
export type PtyConnectError = PtyConnectErrors[keyof PtyConnectErrors]
export type PtyConnectResponses = {
/**
* Connected session
*/
200: boolean
}
export type PtyConnectResponse = PtyConnectResponses[keyof PtyConnectResponses]