summaryrefslogtreecommitdiffhomepage
path: root/stainless.yml
blob: 9cc29c066149a3311b8550712f145fba4275e82f (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
# 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
    methods:
      get: get /app
      init: post /app/init
      log: post /log

  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
      keybinds: KeybindsConfig
      mcpLocal: McpLocalConfig
      mcpRemote: McpRemoteConfig
      provider: Provider
      model: Model
    methods:
      get: get /config
      providers: get /config/providers

  session:
    models:
      session: Session
      message: Message
      textPart: TextPart
      filePart: FilePart
      toolPart: ToolPart
      stepStartPart: StepStartPart
      assistantMessage: AssistantMessage
      assistantMessagePart: AssistantMessagePart
      userMessage: UserMessage
      userMessagePart: UserMessagePart
      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
      messages: get /session/{id}/message
      chat: post /session/{id}/message

settings:
  disable_mock_tests: true
  license: Apache-2.0

security:
  - {}

readme:
  example_requests:
    default:
      type: request
      endpoint: get /event
      params: {}
    headline:
      type: request
      endpoint: get /event
      params: {}