You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: schema/schema.json
+12-5Lines changed: 12 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -1009,6 +1009,16 @@
1009
1009
],
1010
1010
"type": "object"
1011
1011
},
1012
+
"ModelHint": {
1013
+
"description": "Hints to use for model selection.\n\nKeys not declared here are currently left unspecified by the spec and are up\nto the client to interpret.",
1014
+
"properties": {
1015
+
"name": {
1016
+
"description": "A hint for a model name.\n\nThe client SHOULD treat this as a substring of a model name; for example:\n - `claude-3-5-sonnet` should match `claude-3-5-sonnet-20241022`\n - `sonnet` should match `claude-3-5-sonnet-20241022`, `claude-3-sonnet-20240229`, etc.\n - `claude` should match any Claude model\n\nThe client MAY also map the string to a different provider's model name or a different model family, as long as it fills a similar niche; for example:\n - `gemini-1.5-flash` could match `claude-3-haiku-20240307`",
1017
+
"type": "string"
1018
+
}
1019
+
},
1020
+
"type": "object"
1021
+
},
1012
1022
"ModelPreferences": {
1013
1023
"description": "The server's preferences for model selection, requested of the client during sampling.\n\nBecause LLMs can vary along multiple dimensions, choosing the \"best\" model is\nrarely straightforward. Different models excel in different areas—some are\nfaster but less capable, others are more capable but more expensive, and so\non. This interface allows servers to express their priorities across multiple\ndimensions to help clients make an appropriate selection for their use case.\n\nThese preferences are always advisory. The client MAY ignore them. It is also\nup to the client to decide how to interpret these preferences and how to\nbalance them against other considerations.",
1014
1024
"properties": {
@@ -1019,9 +1029,9 @@
1019
1029
"type": "number"
1020
1030
},
1021
1031
"hints": {
1022
-
"description": "Optional string hints to use for model selection. How these hints are\ninterpreted depends on the key(s) in each record:\n\n- If the record contains a `name` key:\n - The client SHOULD treat this as a substring of a model name; for example:\n - `claude-3-5-sonnet` should match `claude-3-5-sonnet-20241022`\n - `sonnet` should match `claude-3-5-sonnet-20241022`, `claude-3-sonnet-20240229`, etc.\n - `claude` should match any Claude model\n - The client MAY also map the string to a different provider's model name or a different model family, as long as it fills a similar niche; for example:\n - `gemini-1.5-flash` could match `claude-3-haiku-20240307`\n\nAll other keys are currently left unspecified by the spec and are up to the\nclient to interpret.\n\nIf multiple hints are specified, the client MUST evaluate them in order\n(such that the first match is taken).\n\nThe client SHOULD prioritize these hints over the numeric priorities, but\nMAY still use the priorities to select from ambiguous matches.",
1032
+
"description": "Optional hints to use for model selection.\n\nIf multiple hints are specified, the client MUST evaluate them in order\n(such that the first match is taken).\n\nThe client SHOULD prioritize these hints over the numeric priorities, but\nMAY still use the priorities to select from ambiguous matches.",
* Optional string hints to use for model selection. How these hints are
810
-
* interpreted depends on the key(s) in each record:
811
-
*
812
-
* - If the record contains a `name` key:
813
-
* - The client SHOULD treat this as a substring of a model name; for example:
814
-
* - `claude-3-5-sonnet` should match `claude-3-5-sonnet-20241022`
815
-
* - `sonnet` should match `claude-3-5-sonnet-20241022`, `claude-3-sonnet-20240229`, etc.
816
-
* - `claude` should match any Claude model
817
-
* - The client MAY also map the string to a different provider's model name or a different model family, as long as it fills a similar niche; for example:
818
-
* - `gemini-1.5-flash` could match `claude-3-haiku-20240307`
819
-
*
820
-
* All other keys are currently left unspecified by the spec and are up to the
821
-
* client to interpret.
809
+
* Optional hints to use for model selection.
822
810
*
823
811
* If multiple hints are specified, the client MUST evaluate them in order
824
812
* (such that the first match is taken).
825
813
*
826
814
* The client SHOULD prioritize these hints over the numeric priorities, but
827
815
* MAY still use the priorities to select from ambiguous matches.
828
816
*/
829
-
hints?: Record<"name"|string,string>[];
817
+
hints?: ModelHint[];
830
818
831
819
/**
832
820
* How much to prioritize cost when selecting a model. A value of 0 means cost
* Keys not declared here are currently left unspecified by the spec and are up
857
+
* to the client to interpret.
858
+
*/
859
+
exportinterfaceModelHint{
860
+
/**
861
+
* A hint for a model name.
862
+
*
863
+
* The client SHOULD treat this as a substring of a model name; for example:
864
+
* - `claude-3-5-sonnet` should match `claude-3-5-sonnet-20241022`
865
+
* - `sonnet` should match `claude-3-5-sonnet-20241022`, `claude-3-sonnet-20240229`, etc.
866
+
* - `claude` should match any Claude model
867
+
*
868
+
* The client MAY also map the string to a different provider's model name or a different model family, as long as it fills a similar niche; for example:
869
+
* - `gemini-1.5-flash` could match `claude-3-haiku-20240307`
870
+
*/
871
+
name?: string;
872
+
}
873
+
865
874
/* Autocomplete */
866
875
/**
867
876
* A request from the client to the server, to ask for completion options.
0 commit comments