Skip to content

Resolve remaining code consistency issues #14859

@felixarntz

Description

@felixarntz

#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"]
  • add README.md for mcp package
  • add README.md for otel package
  • add README.md for voyage package

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.

  • define providerOptions type for amazon-bedrock-image-model.ts
  • define providerOptions type for bytedance-video-model.ts
  • define providerOptions type for deepinfra-image-model.ts
  • define providerOptions type for fireworks-image-model.ts
  • define providerOptions type for gateway-embedding-model.ts, gateway-image-model.ts, gateway-language-model.ts, gateway-reranking-model.ts, gateway-video-model.ts
  • define providerOptions type for mistral-embedding-model.ts
  • define providerOptions type for openai-compatible-image-model.ts
  • define providerOptions type for openai-image-model.ts (chore(provider/openai): add type for image model options for type-safe processing #14863)
  • define providerOptions type for perplexity-language-model.ts

Metadata

Metadata

Assignees

Labels

type:batchAdmins only: assign to issues with sub tasks

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions