Clarify model-generated and legacy app path types (#28577)

## Why

`ApiPathString` kind of implies that it can be used anywhere we pull a
path out of JSON, but it's not really appropriate for tool arguments
when the model might generate relative paths.

Prefer `String` for model-generated paths and we can handle the
conversion per feature for now and define a shared abstraction later if
it makes sense.

# What

Rename `ApiPathString` to `AppLegacyPathString` to clarify its role.

Expand the `path-types` skill to tell the model to leave tool args as
bare strings.
This commit is contained in:
Adam Perry @ OpenAI
2026-06-16 20:47:43 +00:00
committed by GitHub
parent a50671e748
commit 322b83de5e
22 changed files with 144 additions and 126 deletions
@@ -107,7 +107,7 @@
"read": {
"description": "This will be removed in favor of `entries`.",
"items": {
"$ref": "#/definitions/ApiPathString"
"$ref": "#/definitions/LegacyAppPathString"
},
"type": [
"array",
@@ -117,7 +117,7 @@
"write": {
"description": "This will be removed in favor of `entries`.",
"items": {
"$ref": "#/definitions/ApiPathString"
"$ref": "#/definitions/LegacyAppPathString"
},
"type": [
"array",
@@ -164,9 +164,6 @@
"AgentPath": {
"type": "string"
},
"ApiPathString": {
"type": "string"
},
"AppBranding": {
"description": "EXPERIMENTAL - app metadata returned by app-list APIs.",
"properties": {
@@ -1345,7 +1342,7 @@
{
"properties": {
"path": {
"$ref": "#/definitions/ApiPathString"
"$ref": "#/definitions/LegacyAppPathString"
},
"type": {
"enum": [
@@ -2339,6 +2336,9 @@
],
"type": "object"
},
"LegacyAppPathString": {
"type": "string"
},
"McpServerOauthLoginCompletedNotification": {
"properties": {
"error": {