16 agent tools, event handler for auto-linking, sync job every 15m. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
104 lines
2.6 KiB
TypeScript
104 lines
2.6 KiB
TypeScript
/**
|
|
* HTTP client for Ezer Mishpati legal-ai REST API.
|
|
*/
|
|
export declare class LegalApi {
|
|
private baseUrl;
|
|
constructor(baseUrl: string);
|
|
private request;
|
|
listCases(): Promise<CaseSummary[]>;
|
|
getCase(caseNumber: string): Promise<CaseDetails>;
|
|
createCase(data: CaseCreateInput): Promise<CaseDetails>;
|
|
updateCase(caseNumber: string, data: CaseUpdateInput): Promise<CaseDetails>;
|
|
getCaseStatus(caseNumber: string): Promise<WorkflowStatus>;
|
|
search(query: string, limit?: number, sectionType?: string): Promise<SearchResult[]>;
|
|
searchCase(caseNumber: string, query: string, limit?: number): Promise<SearchResult[]>;
|
|
getTemplate(caseNumber: string): Promise<{
|
|
template: string;
|
|
}>;
|
|
getProcessingStatus(): Promise<ProcessingStatus>;
|
|
health(): Promise<{
|
|
status: string;
|
|
}>;
|
|
}
|
|
export interface CaseSummary {
|
|
case_number: string;
|
|
title: string;
|
|
status: string;
|
|
}
|
|
export interface CaseDetails {
|
|
id: string;
|
|
case_number: string;
|
|
title: string;
|
|
status: string;
|
|
appellants: string[];
|
|
respondents: string[];
|
|
subject: string;
|
|
property_address: string;
|
|
expected_outcome: string;
|
|
documents?: DocumentInfo[];
|
|
[key: string]: unknown;
|
|
}
|
|
export interface CaseCreateInput {
|
|
case_number: string;
|
|
title: string;
|
|
appellants?: string[];
|
|
respondents?: string[];
|
|
subject?: string;
|
|
property_address?: string;
|
|
permit_number?: string;
|
|
committee_type?: string;
|
|
hearing_date?: string;
|
|
notes?: string;
|
|
expected_outcome?: string;
|
|
}
|
|
export interface CaseUpdateInput {
|
|
status?: string;
|
|
title?: string;
|
|
subject?: string;
|
|
notes?: string;
|
|
hearing_date?: string;
|
|
decision_date?: string;
|
|
tags?: string[];
|
|
expected_outcome?: string;
|
|
}
|
|
export interface DocumentInfo {
|
|
id: string;
|
|
title: string;
|
|
doc_type: string;
|
|
extraction_status: string;
|
|
page_count?: number;
|
|
}
|
|
export interface WorkflowStatus {
|
|
case_number: string;
|
|
title: string;
|
|
status: string;
|
|
documents: Array<{
|
|
title: string;
|
|
type: string;
|
|
extraction: string;
|
|
chunks: number;
|
|
pages?: number;
|
|
}>;
|
|
total_documents: number;
|
|
total_chunks: number;
|
|
has_draft: boolean;
|
|
draft_size_bytes: number;
|
|
next_steps: string[];
|
|
}
|
|
export interface SearchResult {
|
|
score: number;
|
|
case_number?: string;
|
|
document: string;
|
|
section: string;
|
|
page: number;
|
|
content: string;
|
|
}
|
|
export interface ProcessingStatus {
|
|
cases: number;
|
|
documents: number;
|
|
pending_processing: number;
|
|
chunks: number;
|
|
style_corpus_entries: number;
|
|
style_patterns: number;
|
|
}
|