Files
opencode/packages/sdk/stainless/stainless.yml
Dax c34aec060f Merge agent and mode into one (#1689)
The concept of mode has been deprecated, there is now only the agent field in the config.

An agent can be cycled through as your primary agent with <tab> or you can spawn a subagent by @ mentioning it. if you include a description of when to use it, the primary agent will try to automatically use it

Full docs here: https://opencode.ai/docs/agents/
2025-08-07 16:32:12 -04:00

168 lines
3.8 KiB
YAML

# yaml-language-server: $schema=https://app.stainless.com/config-internal.schema.json
organization:
name: opencode
docs: "https://opencode.ai/docs"
contact: "support@sst.dev"
targets:
typescript:
package_name: "@opencode-ai/sdk"
production_repo: "sst/opencode-sdk-js"
publish:
npm: true
go:
package_name: opencode
production_repo: sst/opencode-sdk-go
python:
project_name: opencode-ai
package_name: opencode_ai
production_repo: sst/opencode-sdk-python
publish:
pypi: true
environments:
production: http://localhost:54321
streaming:
on_event:
- kind: fallthrough
handle: yield
resources:
$shared:
models:
unknownError: UnknownError
providerAuthError: ProviderAuthError
messageAbortedError: MessageAbortedError
event:
methods:
list:
endpoint: get /event
paginated: false
streaming:
# This method is always streaming.
param_discriminator: null
app:
models:
app: App
logLevel: LogLevel
provider: Provider
model: Model
agent: Agent
methods:
get: get /app
init: post /app/init
log: post /log
agents: get /agent
providers: get /config/providers
find:
models:
match: Match
symbol: Symbol
methods:
text: get /find
files: get /find/file
symbols: get /find/symbol
file:
models:
file: File
methods:
read: get /file
status: get /file/status
config:
models:
config: Config
keybindsConfig: KeybindsConfig
mcpLocalConfig: McpLocalConfig
mcpRemoteConfig: McpRemoteConfig
modeConfig: ModeConfig
methods:
get: get /config
session:
models:
session: Session
message: Message
part: Part
textPart: TextPart
textPartInput: TextPartInput
filePart: FilePart
filePartInput: FilePartInput
filePartSourceText: FilePartSourceText
filePartSource: FilePartSource
fileSource: FileSource
symbolSource: SymbolSource
toolPart: ToolPart
agentPart: AgentPart
agentPartInput: AgentPartInput
stepStartPart: StepStartPart
stepFinishPart: StepFinishPart
snapshotPart: SnapshotPart
assistantMessage: AssistantMessage
userMessage: UserMessage
toolStatePending: ToolStatePending
toolStateRunning: ToolStateRunning
toolStateCompleted: ToolStateCompleted
toolStateError: ToolStateError
methods:
list: get /session
create: post /session
delete: delete /session/{id}
init: post /session/{id}/init
abort: post /session/{id}/abort
share: post /session/{id}/share
unshare: delete /session/{id}/share
summarize: post /session/{id}/summarize
message: get /session/{id}/message/{messageID}
messages: get /session/{id}/message
chat: post /session/{id}/message
revert: post /session/{id}/revert
unrevert: post /session/{id}/unrevert
subresources:
permissions:
models:
permission: Permission
methods:
respond: post /session/{id}/permissions/{permissionID}
tui:
methods:
appendPrompt: post /tui/append-prompt
submitPrompt: post /tui/submit-prompt
clearPrompt: post /tui/clear-prompt
openHelp: post /tui/open-help
openSessions: post /tui/open-sessions
openThemes: post /tui/open-themes
openModels: post /tui/open-models
executeCommand: post /tui/execute-command
settings:
disable_mock_tests: true
license: MIT
security:
- {}
readme:
example_requests:
default:
type: request
endpoint: get /session
params: {}
headline:
type: request
endpoint: get /session
params: {}
streaming:
type: request
endpoint: get /event
params: {}