Locate the session id an OpenCode event belongs to, when it carries one.
(event: Event)
| 72 | |
| 73 | /** Locate the session id an OpenCode event belongs to, when it carries one. */ |
| 74 | function sessionIdOf(event: Event): string | undefined { |
| 75 | const props = event.properties as { sessionID?: string } | undefined |
| 76 | if (props?.sessionID !== undefined) return props.sessionID |
| 77 | if (event.type === 'message.part.updated') { |
| 78 | return event.properties.part.sessionID |
| 79 | } |
| 80 | if (event.type === 'message.updated') { |
| 81 | return event.properties.info.sessionID |
| 82 | } |
| 83 | if (event.type === 'permission.updated') { |
| 84 | return event.properties.sessionID |
| 85 | } |
| 86 | return undefined |
| 87 | } |
| 88 | |
| 89 | function buildConfig(options: StartOpencodeSessionOptions): Config { |
| 90 | const mcp: NonNullable<Config['mcp']> = { ...options.config?.mcp } |
no outgoing calls
no test coverage detected