-
Notifications
You must be signed in to change notification settings - Fork 60k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor model table #4923
Refactor model table #4923
Conversation
@lloydzhou is attempting to deploy a commit to the NextChat Team on Vercel. A member of the Team first needs to authorize it. |
WalkthroughThe recent updates introduce a new function Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (4)
- app/api/anthropic/[...path]/route.ts (2 hunks)
- app/api/common.ts (4 hunks)
- app/store/config.ts (1 hunks)
- app/utils/model.ts (4 hunks)
Additional context used
Biome
app/utils/model.ts
[error] 47-47: The assignment should not be in an expression.
The use of assignments in expressions is confusing.
Expressions are often considered as side-effect free.(lint/suspicious/noAssignInExpressions)
Additional comments not posted (2)
app/utils/model.ts (1)
Line range hint
27-69
:
LGTM!The changes to handle model names with provider names and set availability are well-implemented.
Tools
Biome
[error] 47-47: The assignment should not be in an expression.
The use of assignments in expressions is confusing.
Expressions are often considered as side-effect free.(lint/suspicious/noAssignInExpressions)
app/store/config.ts (1)
119-124
: LGTM!The changes to use the provider name in the model key are well-implemented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- app/api/anthropic/[...path]/route.ts (2 hunks)
Files skipped from review as they are similar to previous changes (1)
- app/api/anthropic/[...path]/route.ts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (4)
- app/api/anthropic/[...path]/route.ts (2 hunks)
- app/api/common.ts (4 hunks)
- app/store/config.ts (1 hunks)
- app/utils/model.ts (4 hunks)
Files skipped from review as they are similar to previous changes (2)
- app/api/anthropic/[...path]/route.ts
- app/api/common.ts
Additional context used
Biome
app/utils/model.ts
[error] 47-47: The assignment should not be in an expression.
The use of assignments in expressions is confusing.
Expressions are often considered as side-effect free.(lint/suspicious/noAssignInExpressions)
Additional comments not posted (6)
app/utils/model.ts (5)
47-47
: Avoid assignment in an expression.The assignment should not be in an expression as it can be confusing.
- Object.values(modelTable).forEach( - (model) => (model.available = available), - ); + Object.values(modelTable).forEach((model) => { + model.available = available; + });Tools
Biome
[error] 47-47: The assignment should not be in an expression.
The use of assignments in expressions is confusing.
Expressions are often considered as side-effect free.(lint/suspicious/noAssignInExpressions)
55-55
: Check for undefined model.Ensure that the model exists in the
modelTable
before accessing theavailable
property to avoid potential runtime errors.- return modelTable[modelName ?? ""].available === false; + return modelTable[modelName ?? ""]?.available === false;
Line range hint
79-90
:
LGTM!The function correctly adds the default model to the model table.
Line range hint
97-104
:
LGTM!The function correctly generates the model table.
Line range hint
108-115
:
LGTM!The function correctly adds the default model to the model table.
app/store/config.ts (1)
119-124
: LGTM!The changes correctly update the keys in
modelMap
to include the provider ID alongside the model name.
Your build has completed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- app/utils/model.ts (4 hunks)
Additional context used
Biome
app/utils/model.ts
[error] 47-47: The assignment should not be in an expression.
The use of assignments in expressions is confusing.
Expressions are often considered as side-effect free.(lint/suspicious/noAssignInExpressions)
Additional comments not posted (2)
app/utils/model.ts (2)
1-1
: Import Statement: Ensure consistency and correctness.The import statement for
DEFAULT_MODELS
is correct. Ensure thatDEFAULT_MODELS
is defined and exported correctly in../constant
.Verification successful
Import Statement: Ensure consistency and correctness.
The import statement for
DEFAULT_MODELS
is correct, as it is defined and exported inapp/constant.ts
.
app/constant.ts
:export const DEFAULT_MODELS = [ ... ];
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the definition and export of `DEFAULT_MODELS` in `../constant`. # Test: Search for the definition of `DEFAULT_MODELS`. Expect: Correct definition and export. rg --type typescript 'DEFAULT_MODELS' ../constantLength of output: 84
Script:
#!/bin/bash # Description: Verify the definition and export of `DEFAULT_MODELS` in `../constant`. # Test: Search for the definition of `DEFAULT_MODELS`. Expect: Correct definition and export. rg 'DEFAULT_MODELS' ../constantLength of output: 83
Script:
#!/bin/bash # Description: Locate the `constant` file and verify the definition and export of `DEFAULT_MODELS`. # Step 1: Locate the `constant` file. constant_file=$(fd -e ts -e tsx -e js -e jsx -e json -e mjs -e cjs -e mts -e cts -e d.ts -e d.tsx -e d.mts -e d.cts -e tsbuildinfo -e ts.map -e tsx.map -e js.map -e jsx.map -e mjs.map -e cjs.map -e mts.map -e cts.map -e d.ts.map -e d.tsx.map -e d.mts.map -e d.cts.map constant) # Step 2: Verify the definition and export of `DEFAULT_MODELS` in the located `constant` file. if [[ -n "$constant_file" ]]; then rg 'DEFAULT_MODELS' "$constant_file" else echo "constant file not found" fiLength of output: 390
27-28
: Provider-specific model names: Ensure correctness.The change to use
<modelName>@<providerId>
as the full name is correct. Ensure that theprovider.id
is always defined.
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Code Refactor
collectModelTable
function withisModelAvailableInServer
for better clarity and performance in model availability determination.