summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/stainless/stainless.yml
blob: e0c040ec6961eda58038d9c83a57d48d82a10dfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# yaml-language-server: $schema=https://app.stainless.com/config-internal.schema.json

organization:
  name: opencode
  docs: "https://opencode.ai/docs"
  contact: "[email protected]"

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
      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
      chat: post /session/{id}/message
      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: {}