# ToolExecutionStore

Package: `@threadplane/core/tools` · 0.0.0

**Unpublished development API.**

Reference: /docs/api/core/tools/ToolExecutionStore

```typescript
import type { ToolExecutionStore } from '@threadplane/core/tools';
```

## ToolExecutionStore

Atomically bind a stable identity to its invocation and one execution owner.
Only the acquired token can settle; observers never receive that authority.

```typescript
export interface ToolExecutionStore  {
  acquire(key: ToolExecutionKey, invocation: string): Promise<ToolExecutionAcquisition>;
  settle(key: ToolExecutionKey, settlement: ToolExecutionSettlement): Promise<'accepted' | 'rejected'>;
}
```

### acquire · overload 1

```typescript
acquire(key: ToolExecutionKey, invocation: string): Promise<ToolExecutionAcquisition>;
```

### settle · overload 1

```typescript
settle(key: ToolExecutionKey, settlement: ToolExecutionSettlement): Promise<'accepted' | 'rejected'>;
```