> ISPO SDK documentation. [HTML](https://ispo.ai/docs/interfaces/core.ProjectCommandRunContext.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Interface ProjectCommandRunContext

```typescript
interface ProjectCommandRunContext {
    lease?: InvocationContextSnapshot;
    localContext?: ProjectCommandLocalContext;
    resources: readonly CommandResourceDelivery[];
    sdk: ProjectCommandSdk;
}
```

Types: [lease](#lease), [InvocationContextSnapshot](core.InvocationContextSnapshot.md), [localContext](#localcontext), [ProjectCommandLocalContext](core.ProjectCommandLocalContext.md), [resources](#resources), [CommandResourceDelivery](core.CommandResourceDelivery.md), [sdk](#sdk), [ProjectCommandSdk](../types/core.ProjectCommandSdk.md)

##### Index

### <a id="properties"></a>Properties

[lease?](#lease) [localContext?](#localcontext) [resources](#resources) [sdk](#sdk)

## <a id="properties-1"></a>Properties

### <a id="lease"></a>`Optional` `Readonly`lease

```typescript
lease?: InvocationContextSnapshot
```

Types: [InvocationContextSnapshot](core.InvocationContextSnapshot.md)

Compatibility wire name for the host's inline context snapshot.

### <a id="localcontext"></a>`Optional` `Readonly`localContext

```typescript
localContext?: ProjectCommandLocalContext
```

Types: [ProjectCommandLocalContext](core.ProjectCommandLocalContext.md)

Present only for a project-local `.run(...)`. Host dispatch never accepts this field and continues to provide resolved caller data only as `lease`.

### <a id="resources"></a>`Readonly`resources

```typescript
resources: readonly CommandResourceDelivery[]
```

Types: [CommandResourceDelivery](core.CommandResourceDelivery.md)

Exact Host-delivered inputs; absent from ordinary model JSON.

### <a id="sdk"></a>`Readonly`sdk

```typescript
sdk: ProjectCommandSdk
```

Types: [ProjectCommandSdk](../types/core.ProjectCommandSdk.md)
