Files
opencode/packages/sdk/stainless/stainless.yml
Dax f993541e0b Refactor to support multiple instances inside single opencode process (#2360)
This release has a bunch of minor breaking changes if you are using opencode plugins or sdk

1. storage events have been removed (we might bring this back but had some issues)
2. concept of `app` is gone - there is a new concept called `project` and endpoints to list projects and get the current project
3. plugin receives `directory` which is cwd and `worktree` which is where the root of the project is if it's a git repo
4. the session.chat function has been renamed to session.prompt in sdk. it no longer requires model to be passed in (model is now an object)
5. every endpoint takes an optional `directory` parameter to operate as though opencode is running in that directory
2025-09-01 17:15:49 -04:00

197 lines
4.4 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
path:
models:
path: Path
methods:
get: get /path
app:
models:
app: App
provider: Provider
model: Model
methods:
log: post /log
providers: get /config/providers
agent:
models:
agent: Agent
methods:
list: get /agent
find:
models:
symbol: Symbol
methods:
text: get /find
files: get /find/file
symbols: get /find/symbol
file:
models:
file: File
fileNode: FileNode
methods:
list: get /file
read: get /file/content
status: get /file/status
config:
models:
config: Config
keybindsConfig: KeybindsConfig
mcpLocalConfig: McpLocalConfig
mcpRemoteConfig: McpRemoteConfig
modeConfig: ModeConfig
methods:
get: get /config
command:
models:
command: Command
methods:
list: get /command
project:
models:
project: Project
methods:
list: get /project
current: get /project/current
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
reasoningPart: ReasoningPart
stepStartPart: StepStartPart
stepFinishPart: StepFinishPart
snapshotPart: SnapshotPart
assistantMessage: AssistantMessage
userMessage: UserMessage
toolStatePending: ToolStatePending
toolStateRunning: ToolStateRunning
toolStateCompleted: ToolStateCompleted
toolStateError: ToolStateError
methods:
get: get /session/{id}
list: get /session
children: get /session/{id}/children
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
prompt: post /session/{id}/message
command: post /session/{id}/command
shell: post /session/{id}/shell
update: patch /session/{id}
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
showToast: post /tui/show-toast
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: {}