#14648 ironed out the first large batch of code inconsistencies. However, two conventions were eventually left partially unresolved because fixing them would be more involved. This issue tracks addressing them and removing the temporary exclusions from the konsistent.json file.
1. README.md files are required per package
Some packages don't currently have README.md files, which should be required. These are currently manually excluded and need to be removed from the exclusion list in conventions[0].must[0].excludeFiles. It currently has:
"excludeFiles": ["packages/mcp", "packages/otel", "packages/voyage"]
2. Every model class must have a corresponding model options file and type
Some models in provider packages don't currently have a type definition for their providerOptions. These are currently manually excluded and need to be removed from the exclusion list, either in conventions[1].must[6].excludeFiles or conventions[1].must[8].excludeFiles. They currently have:
"excludeFiles": [
"...irrelevant...",
"packages/amazon-bedrock/src/amazon-bedrock-image-model.ts",
"packages/deepinfra/src/deepinfra-image-model.ts",
"packages/fireworks/src/fireworks-image-model.ts",
"packages/gateway/src/gateway-embedding-model.ts",
"packages/gateway/src/gateway-image-model.ts",
"packages/gateway/src/gateway-language-model.ts",
"packages/gateway/src/gateway-reranking-model.ts",
"packages/mistral/src/mistral-embedding-model.ts",
"packages/openai-compatible/src/image/openai-compatible-image-model.ts",
"packages/openai/src/image/openai-image-model.ts",
"packages/perplexity/src/perplexity-language-model.ts"
]
"excludeFiles": [
"packages/bytedance/src/bytedance-video-model.ts",
"packages/gateway/src/gateway-video-model.ts"
]
Below are the remaining tasks. In most cases, they involve defining the type. There may be an occasional instance where defining such a type is not feasible or irrelevant. Specifically for the AI Gateway, it probably makes sense to look at the model options types holistically since there aren't really specific AI Gateway model parameters for the individual model kinds. The decision may even be to leave them in the excludeFiles list.
#14648 ironed out the first large batch of code inconsistencies. However, two conventions were eventually left partially unresolved because fixing them would be more involved. This issue tracks addressing them and removing the temporary exclusions from the
konsistent.jsonfile.1.
README.mdfiles are required per packageSome packages don't currently have
README.mdfiles, which should be required. These are currently manually excluded and need to be removed from the exclusion list inconventions[0].must[0].excludeFiles. It currently has:README.mdformcppackageREADME.mdforotelpackageREADME.mdforvoyagepackage2. Every model class must have a corresponding model options file and type
Some models in provider packages don't currently have a type definition for their
providerOptions. These are currently manually excluded and need to be removed from the exclusion list, either inconventions[1].must[6].excludeFilesorconventions[1].must[8].excludeFiles. They currently have:Below are the remaining tasks. In most cases, they involve defining the type. There may be an occasional instance where defining such a type is not feasible or irrelevant. Specifically for the AI Gateway, it probably makes sense to look at the model options types holistically since there aren't really specific AI Gateway model parameters for the individual model kinds. The decision may even be to leave them in the
excludeFileslist.providerOptionstype foramazon-bedrock-image-model.tsproviderOptionstype forbytedance-video-model.tsproviderOptionstype fordeepinfra-image-model.tsproviderOptionstype forfireworks-image-model.tsproviderOptionstype forgateway-embedding-model.ts,gateway-image-model.ts,gateway-language-model.ts,gateway-reranking-model.ts,gateway-video-model.tsproviderOptionstype formistral-embedding-model.tsproviderOptionstype foropenai-compatible-image-model.tsproviderOptionstype foropenai-image-model.ts(chore(provider/openai): add type for image model options for type-safe processing #14863)providerOptionstype forperplexity-language-model.ts