# ActionSelector

`import { ActionSelector } from "destack:runtime";`

Runtime policy action selector.

```ds title="ActionSelector"
export struct ActionSelector {
    binding: string;
    action: string;
    component: string;
    module: string;
    engine: "vm" | "native";
    platforms: [string];
    provider: "host" | "runtime";
    affinity: "worker" | "main";
    determinism: "pure" | "deterministic" | "external";
}
```

[language/library/src/runtime/policy.ds:63:82](https://github.com/destack-sh/destack/blob/main/language/library/src/runtime/policy.ds#L63-L82)

## Members

### `binding: string`

Optional binding-name glob.

### `action: string`

Optional required-action glob.

### `component: string`

Optional binding component glob.

### `module: string`

Optional binding module glob.

### `engine: "vm" | "native"`

Optional binding engine selector.

### `platforms: [string]`

Optional target-platform globs.

### `provider: "host" | "runtime"`

Optional binding provider selector.

### `affinity: "worker" | "main"`

Optional binding affinity selector.

### `determinism: "pure" | "deterministic" | "external"`

Optional binding determinism selector.
