-
Notifications
You must be signed in to change notification settings - Fork 1
fix: Errata for 1.0-draft #5
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
Conversation
| "format": "uri" | ||
| }, | ||
| "tools": { | ||
| "items": { |
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.
Renamed for expected consistency with a future pagination interface.
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.
An example of where this is useful? Does it help somehow with parameterizing types on the client side for static type purposes?
| "input_schema": { | ||
| "type": "object", | ||
| "properties": { | ||
| "parameters": { |
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.
Removed parameters to flatten and make this consistent with output_schema.
| "input_schema", | ||
| "output_schema" |
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.
Removed input_ and output_ from required to reflect the fact that these MAY be null.
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.
IMO these should be required.
- The input should be explicitly an empty object to denote a parameterless function. You could argue in this case a bit if you really believe that positional arguments should be supported.
- The output should be very explicit: Either it is known and can be specifically denoted as null or some other value, or it is not known and should be marked as any.
| "type": "string", | ||
| "description": "An internal message that will be logged but will not be shown to the user or the AI model" | ||
| }, | ||
| "missing_requirements": { |
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.
Added this to provide a structured way for the OXP server to let the client know that some requirements are missing.
| "format": "uri" | ||
| }, | ||
| "tools": { | ||
| "items": { |
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.
An example of where this is useful? Does it help somehow with parameterizing types on the client side for static type purposes?
| "$ref": "#/components/schemas/ToolVersion" | ||
| }, | ||
| "input_schema": { | ||
| "type": "object", |
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.
This is more general than current function calling that LLMs do.
I think that restricting the input schema to be an object is reasonable?
The alternative is also allow positional arguments by that would still require restricting to either object or array or combination of array + object.
{
"type": "object",
"properties": {
"input_schema": {
"type": "object",
"properties": {
"type": {"const": "object"}
},
"required": ["type"]
}
},
"required": ["input_schema"]
}
The object description is popular because it allows documenting the individual arguments and naming them.
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.
OK i suspect that this is actually a realization of an openapi.json instance rather than JSONSchema describing how to validate that a particular openapi.json instance implements the appropriate spec?
| "input_schema", | ||
| "output_schema" |
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.
IMO these should be required.
- The input should be explicitly an empty object to denote a parameterless function. You could argue in this case a bit if you really believe that positional arguments should be supported.
- The output should be very explicit: Either it is known and can be specifically denoted as null or some other value, or it is not known and should be marked as any.
Spartee
left a comment
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.
Moving future work to 0.1.0 release to avoid PR sprawl
Fixing some nits and problems in draft-1.0.