Files
plugin-legal-ai/dist/legal-api.d.ts
Chaim Marcus 587a2a76ca Initial commit: Paperclip plugin for Legal AI integration
16 agent tools, event handler for auto-linking, sync job every 15m.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 08:03:43 +00:00

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