()
| 475 | try { |
| 476 | await sdkCall( |
| 477 | client.session.summarize.bind(client.session), |
| 478 | { path: { id: sessionID }, body: {} }, |
| 479 | { path: { sessionID }, body: {} }, |
| 480 | { sessionID }, |
| 481 | ) |
| 482 | return true |
| 483 | } catch (error) { |
| 484 | await log(client, "warn", "session.summarize fallback failed", { error: sdkErrorMessage(error) }) |
| 485 | } |
| 486 | await toast(client, "Could not run /compact from loop. Check OpenCode version and active TUI session.", "error") |
| 487 | return false |
| 488 | } |
| 489 | |
| 490 | async function log(client, level, message, extra) { |
| 491 | try { |
| 492 | await sdkCall( |
| 493 | client.app.log.bind(client.app), |
| 494 | { body: extra === undefined ? { service: SERVICE, level, message } : { service: SERVICE, level, message, extra } }, |
| 495 | extra === undefined ? { service: SERVICE, level, message } : { service: SERVICE, level, message, extra }, |
| 496 | ) |
| 497 | } catch {} |
| 498 | } |
| 499 | |
| 500 | async function toast(client, message, variant = "info") { |
no test coverage detected