Base provides common boilerplate for tool components. It handles spinner management, sizing, and delegates rendering to a custom function.
| 24 | // Base provides common boilerplate for tool components. |
| 25 | // It handles spinner management, sizing, and delegates rendering to a custom function. |
| 26 | type Base struct { |
| 27 | message *types.Message |
| 28 | spinner spinner.Spinner |
| 29 | width int |
| 30 | height int |
| 31 | sessionState service.SessionStateReader // read-only access to session state |
| 32 | render Renderer |
| 33 | collapsedRenderer CollapsedRenderer |
| 34 | spinnerRegistered bool // tracks whether spinner is registered with coordinator |
| 35 | lastRendered string |
| 36 | lastRenderedHeight int |
| 37 | lastCollapsed string |
| 38 | lastCollapsedHeight int |
| 39 | } |
| 40 | |
| 41 | // NewBase creates a new base tool component with the given renderer. |
| 42 | // Accepts SessionStateReader for read-only access (also accepts *SessionState which implements it). |
nothing calls this directly
no outgoing calls
no test coverage detected