mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-06 02:48:25 +00:00
- Return the existing PullRequestRecord on 409 from POST /runs/{id}/pull_request
so structured clients can recover the URL/number without a follow-up call.
The response now includes both the error envelope and a pull_request field
(same shape precedent as /install/finish's leftover_env_keys).
- Add server tests for merge/close error paths: 404 no_stored_record, 400
unsupported_host, 503 integration_unavailable, 400 invalid_merge_method, 502
github_not_found.
- Add a dedicated regression test proving the PR handlers use the
github_api_base_url captured at AppState construction, not a request-time
env read (SSRF defense invariant from the plan).
- Add an upgrade hint on unstructured 404s from the new PR client methods so
a new CLI against an old server sees "Upgrade the fabro server" instead of
an opaque failure.
- Refresh the stale CLI docs paragraph so it describes server-side GitHub
credentials, matching the post-refactor reality.
- Regenerate the TypeScript API client (had fallen behind the prior OpenAPI
schema additions) and add PullRequestRecord to ErrorResponse as an optional
field for the 409 case.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
/* tslint:disable */
|
|
/* eslint-disable */
|
|
/**
|
|
* Fabro Run API
|
|
* HTTP API for managing Fabro workflow run executions.
|
|
*
|
|
* The version of the OpenAPI document: 0.1.0
|
|
*
|
|
*
|
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
* https://openapi-generator.tech
|
|
* Do not edit the class manually.
|
|
*/
|
|
|
|
|
|
// May contain unused imports in some cases
|
|
// @ts-ignore
|
|
import type { PullRequestRecord } from './pull-request-record';
|
|
// May contain unused imports in some cases
|
|
// @ts-ignore
|
|
import type { PullRequestRef } from './pull-request-ref';
|
|
// May contain unused imports in some cases
|
|
// @ts-ignore
|
|
import type { PullRequestUser } from './pull-request-user';
|
|
|
|
/**
|
|
* Stored pull request record plus live GitHub fields.
|
|
*/
|
|
export interface PullRequestDetail {
|
|
'record': PullRequestRecord;
|
|
'number': number;
|
|
'title': string;
|
|
'body'?: string | null;
|
|
'state': string;
|
|
'draft': boolean;
|
|
'merged': boolean;
|
|
'merged_at'?: string | null;
|
|
'mergeable'?: boolean | null;
|
|
'additions': number;
|
|
'deletions': number;
|
|
'changed_files': number;
|
|
'html_url': string;
|
|
'user': PullRequestUser;
|
|
'head': PullRequestRef;
|
|
'base': PullRequestRef;
|
|
'created_at': string;
|
|
'updated_at': string;
|
|
}
|
|
|