From 40a2032e0d4ba46c3ada8cf062f1cc3abc0a652d Mon Sep 17 00:00:00 2001 From: Chaim Date: Tue, 30 Jun 2026 20:05:31 +0000 Subject: [PATCH] =?UTF-8?q?chore(web-ui):=20regen=20api=20types=20?= =?UTF-8?q?=E2=80=94=20document-generation=20endpoints=20(#214)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regenerate web-ui/src/lib/api/types.ts from the PROD OpenAPI schema (https://legal-ai.nautilus.marcusgroup.org/openapi.json) via `npm run api:types`. Adds 3 drifted paths (pure additions, generated — not hand-edited): - POST /api/cases/{case_number}/generate/party-claims-summary (#214) - POST /api/cases/{case_number}/generate/interim-draft (#214) - /api/status-model (drift) Invariants: - X6 (UI<->API contract in sync) — generated types now match the deployed surface. - G2 (single generated client) — openapi-typescript output only, no hand edits. Verified: `npx tsc --noEmit` passes clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- web-ui/src/lib/api/types.ts | 148 ++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) diff --git a/web-ui/src/lib/api/types.ts b/web-ui/src/lib/api/types.ts index d5fd766..381eb43 100644 --- a/web-ui/src/lib/api/types.ts +++ b/web-ui/src/lib/api/types.ts @@ -692,6 +692,28 @@ export interface paths { patch?: never; trace?: never; }; + "/api/status-model": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Api Status Model + * @description Canonical case-status model — ordered statuses (key/label/description/ + * phase/selectable/terminal/on_enter) + the 5 phases. Single source of truth + * (legal_mcp/case_status_model.py); the frontend case-status.ts mirrors it. + */ + get: operations["api_status_model_api_status_model_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/cases": { parameters: { query?: never; @@ -1353,6 +1375,50 @@ export interface paths { patch?: never; trace?: never; }; + "/api/cases/{case_number}/generate/party-claims-summary": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Api Generate Party Claims Summary + * @description Fire-and-accept: wake the CEO to generate the party-claims executive summary + * (שלב H2 → summarize_party_claims). Runs host-side; poll + * GET /api/cases/{n}/research/party-claims-summary for completion. + */ + post: operations["api_generate_party_claims_summary_api_cases__case_number__generate_party_claims_summary_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/cases/{case_number}/generate/interim-draft": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Api Generate Interim Draft + * @description Fire-and-accept: wake the CEO to generate the partial "party-claims" draft + * (שלב H → write_interim_draft + export_interim_draft). Runs host-side; poll the + * exports list for the new טיוטת-ביניים-{case}-vN.docx. + */ + post: operations["api_generate_interim_draft_api_cases__case_number__generate_interim_draft_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/cases/{case_number}/research/party-claims-summary/download": { parameters: { query?: never; @@ -6147,6 +6213,26 @@ export interface operations { }; }; }; + api_status_model_api_status_model_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; list_cases_api_cases_get: { parameters: { query?: { @@ -7151,6 +7237,68 @@ export interface operations { }; }; }; + api_generate_party_claims_summary_api_cases__case_number__generate_party_claims_summary_post: { + parameters: { + query?: never; + header?: never; + path: { + case_number: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + api_generate_interim_draft_api_cases__case_number__generate_interim_draft_post: { + parameters: { + query?: never; + header?: never; + path: { + case_number: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; api_party_claims_summary_download_api_cases__case_number__research_party_claims_summary_download_get: { parameters: { query?: never;