# internal/adapters/cli/adapter

Package adapter renders deterministic provider-facing trigger packets.

## Handler

```go
func Handler(invalid int, workspace int, generic int) func(context.Context, []string, io.Writer, io.Writer) int
```

Handler returns the CLI command handler for adapter packets.

## Run

```go
func Run(ctx context.Context, opts Options) (Output, error)
```

Run renders the current status and handoff for provider trigger wrappers.

## Options

```go
type Options struct {
	Root            string
	Provider        string
	Mode            string
	TaskID          string
	SuppressContext bool
}
```

Options describes the adapter packet requested by a provider wrapper.

- `Root: string`: 
- `Provider: string`: 
- `Mode: string`: 
- `TaskID: string`: 
- `SuppressContext: bool`: 

## Output

```go
type Output struct {
	Provider string               `json:"provider"`
	Mode     string               `json:"mode"`
	TaskID   string               `json:"task_id"`
	Status   appstatus.Output     `json:"status"`
	Handoff  string               `json:"handoff"`
	Packet   string               `json:"packet"`
	Command  string               `json:"command,omitempty"`
	Action   appstatus.NextAction `json:"next_action"`
}
```

Output is the structured adapter packet result.

- `Provider: string` (json:"provider"): 
- `Mode: string` (json:"mode"): 
- `TaskID: string` (json:"task_id"): 
- `Status: appstatus.Output` (json:"status"): 
- `Handoff: string` (json:"handoff"): 
- `Packet: string` (json:"packet"): 
- `Command: string` (json:"command,omitempty"): 
- `Action: appstatus.NextAction` (json:"next_action"):
