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

# Type Alias ProjectCommandResult<ResultSchema, ResultChannels>

```typescript
ProjectCommandResult: [JsonSchemaValue<ResultSchema>] extends [
    CapabilityResultEnvelope,
]
    ? JsonSchemaValue<ResultSchema>
    : ResultEnvelopeForChannels<ResultChannels>
```

Types: [JsonSchemaValue](core.Supporting_types.JsonSchemaValue.md), [ResultSchema](#resultschema), [CapabilityResultEnvelope](core.CapabilityResultEnvelope.md), [ResultEnvelopeForChannels](core.Supporting_types.ResultEnvelopeForChannels.md), [ResultChannels](#resultchannels)

Prefer a precise result schema when it describes a complete result envelope. A deliberately broad result schema falls back to the declared result channels, which still narrows `kind` and its envelope fields.

#### Type Parameters

*   <a id="resultschema"></a>ResultSchema extends [JsonSchema](core.Supporting_types.JsonSchema.md)
*   <a id="resultchannels"></a>ResultChannels extends readonly [CapabilityResultChannel](core.CapabilityResultChannel.md)\[\]
