issueWriteAwaitingFormResult builds the "awaiting form submission" stub returned when issue_write hands off to the MCP App form. The body is shared by IssueWrite and LegacyIssueWrite. The result is marked IsError=true so agents that bail on error don't claim success or chain dependent tool calls whi
(method, owner, repo string, issueNumber int)
| 1863 | // while the user is still interacting with the form; the host renders the UI |
| 1864 | // regardless because rendering is keyed off the tool's _meta.ui resourceUri. |
| 1865 | func issueWriteAwaitingFormResult(method, owner, repo string, issueNumber int) *mcp.CallToolResult { |
| 1866 | var msg string |
| 1867 | if method == "update" { |
| 1868 | msg = fmt.Sprintf( |
| 1869 | "An interactive form has been shown to the user for editing issue #%d in %s/%s. "+ |
| 1870 | "STOP — do not call any other tools, do not respond as if the issue was updated, "+ |
| 1871 | "and do not claim the operation succeeded. The issue has NOT been updated yet; "+ |
| 1872 | "only the form was rendered. Wait silently for the user to review and click Submit. "+ |
| 1873 | "When they do, the real result will be delivered to your context automatically.", |
| 1874 | issueNumber, owner, repo, |
| 1875 | ) |
| 1876 | } else { |
| 1877 | msg = fmt.Sprintf( |
| 1878 | "An interactive form has been shown to the user for creating a new issue in %s/%s. "+ |
| 1879 | "STOP — do not call any other tools, do not respond as if the issue was created, "+ |
| 1880 | "and do not claim the operation succeeded. The issue has NOT been created yet; "+ |
| 1881 | "only the form was rendered. Wait silently for the user to review and click Submit. "+ |
| 1882 | "When they do, the real result will be delivered to your context automatically.", |
| 1883 | owner, repo, |
| 1884 | ) |
| 1885 | } |
| 1886 | return utils.NewToolResultAwaitingFormSubmission(msg) |
| 1887 | } |
| 1888 | |
| 1889 | // IssueWrite is the FeatureFlagIssueFields-enabled variant of issue_write |
| 1890 | // (with the issue_fields parameter). LegacyIssueWrite is served when the flag |
no test coverage detected