fabro/lib/packages/fabro-api-client/src/models/pull-request-detail.ts
Bryan Helmkamp f8e5192fb3
fix(pr): address review feedback on PR refactor
- 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>
2026-04-23 20:34:18 -04:00

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;
}