AccessPattern.type in tsp/main.tsp is typed as the IndexType enum (clustered / isolated), not a string literal:
enum IndexType {
clustered,
isolated,
}
model AccessPattern {
...
type?: IndexType = IndexType.isolated;
...
}
src/decorators/$index.ts reads type through the same getStringValue helper used for collection (see the sibling issue), which only handles prop.type.kind === "String". An IndexType member reference resolves to kind EnumMember, so getStringValue("type") always returns undefined and type never reaches the emitted access pattern — silently, with no diagnostic.
IndexType, clustered and isolated appear nowhere under src/ or test/ outside the declaration in tsp/main.tsp — there is no code path that reads the value and no test exercising it. The README nonetheless states (line 178) that the fixture covers "multiple indexes on one entity (isolated, clustered, and scoped GSIs)"; test/main.tsp only has isolated and scoped indexes, no clustered example.
Correct behaviour: either add an EnumMember case to the reader (or a dedicated reader for type) that resolves IndexType.clustered / IndexType.isolated to their string value, cover it with a test the way test/main.tsp covers scope, and fix the README claim to match — or drop type/IndexType from the declaration and the README claim if clustered isn't meant to be supported yet. An unreadable value should raise a diagnostic rather than be silently dropped either way.
AccessPattern.typeintsp/main.tspis typed as theIndexTypeenum (clustered/isolated), not a string literal:src/decorators/$index.tsreadstypethrough the samegetStringValuehelper used forcollection(see the sibling issue), which only handlesprop.type.kind === "String". AnIndexTypemember reference resolves to kindEnumMember, sogetStringValue("type")always returnsundefinedandtypenever reaches the emitted access pattern — silently, with no diagnostic.IndexType,clusteredandisolatedappear nowhere undersrc/ortest/outside the declaration intsp/main.tsp— there is no code path that reads the value and no test exercising it. The README nonetheless states (line 178) that the fixture covers "multiple indexes on one entity (isolated, clustered, and scoped GSIs)";test/main.tsponly has isolated and scoped indexes, noclusteredexample.Correct behaviour: either add an
EnumMembercase to the reader (or a dedicated reader fortype) that resolvesIndexType.clustered/IndexType.isolatedto their string value, cover it with a test the waytest/main.tspcoversscope, and fix the README claim to match — or droptype/IndexTypefrom the declaration and the README claim ifclusteredisn't meant to be supported yet. An unreadable value should raise a diagnostic rather than be silently dropped either way.