Workflow v4.0.1-beta.49: Custom class serialization.
Pass an Order to start() - arrives as a real Order. Return an Order from a step - workflow receives it with all methods.
Your business logic stays in classes, not scattered across plain objects.
Workflow v4.0.1-beta.49: Custom class serialization.
Pass an Order to start() - arrives as a real Order. Return an Order from a step - workflow receives it with all methods.
Your business logic stays in classes, not scattered across plain objects.
Before Workflow v4.0.1-beta.49, building durable functions meant making a painful choice: either flatten your domain objects to plain JSON, or manually reconstruct them in every step.
class Order {| #!/bin/bash | |
| # BSP Split: Find largest pane IN CURRENT TAB and bisect it | |
| # Get current pane from environment (set by WezTerm for shells running in panes) | |
| if [ -n "$WEZTERM_PANE" ]; then | |
| CURRENT_PANE="$WEZTERM_PANE" | |
| else | |
| # Fallback: use the pane passed as argument | |
| CURRENT_PANE="$1" | |
| fi |
Added comprehensive session-based file logging to all 8 OpenCode plugins in .opencode/plugin/. Each plugin now logs every hook invocation, whether it triggered an action or was skipped.
.opencode/lib/logger.ts - Shared logging utilitylogTriggered() and logSkipped() calls to every hookA comprehensive guide to writing plugins for OpenCode that extend agent behavior with hooks, custom tools, and event handling.
.opencode/plugin/ (project) or ~/.config/opencode/plugin/ (global)