@claude-flow/plugin-legal-contracts 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +391 -0
- package/dist/bridges/attention-bridge.d.ts +83 -0
- package/dist/bridges/attention-bridge.d.ts.map +1 -0
- package/dist/bridges/attention-bridge.js +348 -0
- package/dist/bridges/attention-bridge.js.map +1 -0
- package/dist/bridges/dag-bridge.d.ts +75 -0
- package/dist/bridges/dag-bridge.d.ts.map +1 -0
- package/dist/bridges/dag-bridge.js +423 -0
- package/dist/bridges/dag-bridge.js.map +1 -0
- package/dist/bridges/index.d.ts +8 -0
- package/dist/bridges/index.d.ts.map +1 -0
- package/dist/bridges/index.js +8 -0
- package/dist/bridges/index.js.map +1 -0
- package/dist/index.d.ts +107 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +149 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-tools.d.ts +93 -0
- package/dist/mcp-tools.d.ts.map +1 -0
- package/dist/mcp-tools.js +966 -0
- package/dist/mcp-tools.js.map +1 -0
- package/dist/types.d.ts +840 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +272 -0
- package/dist/types.js.map +1 -0
- package/package.json +79 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,840 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Legal Contracts Plugin - Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Core types for legal contract analysis including clause extraction,
|
|
5
|
+
* risk assessment, contract comparison, obligation tracking, and playbook matching.
|
|
6
|
+
*
|
|
7
|
+
* Based on ADR-034: Legal Contract Analysis Plugin
|
|
8
|
+
*
|
|
9
|
+
* @module v3/plugins/legal-contracts/types
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
/**
|
|
13
|
+
* Supported clause types for extraction
|
|
14
|
+
*/
|
|
15
|
+
export declare const ClauseType: z.ZodEnum<["indemnification", "limitation_of_liability", "termination", "confidentiality", "ip_assignment", "governing_law", "arbitration", "force_majeure", "warranty", "payment_terms", "non_compete", "non_solicitation", "assignment", "insurance", "representations", "covenants", "data_protection", "audit_rights"]>;
|
|
16
|
+
export type ClauseType = z.infer<typeof ClauseType>;
|
|
17
|
+
/**
|
|
18
|
+
* Extracted clause with position and classification
|
|
19
|
+
*/
|
|
20
|
+
export interface ExtractedClause {
|
|
21
|
+
/** Unique identifier for this clause */
|
|
22
|
+
readonly id: string;
|
|
23
|
+
/** Type of clause */
|
|
24
|
+
readonly type: ClauseType;
|
|
25
|
+
/** Raw text content of the clause */
|
|
26
|
+
readonly text: string;
|
|
27
|
+
/** Clause title or heading if present */
|
|
28
|
+
readonly title?: string;
|
|
29
|
+
/** Start position in document */
|
|
30
|
+
readonly startOffset: number;
|
|
31
|
+
/** End position in document */
|
|
32
|
+
readonly endOffset: number;
|
|
33
|
+
/** Section/article number if identifiable */
|
|
34
|
+
readonly section?: string;
|
|
35
|
+
/** Confidence score for classification (0-1) */
|
|
36
|
+
readonly confidence: number;
|
|
37
|
+
/** Sub-clauses or nested provisions */
|
|
38
|
+
readonly subClauses?: ExtractedClause[];
|
|
39
|
+
/** Key terms identified within clause */
|
|
40
|
+
readonly keyTerms: string[];
|
|
41
|
+
/** Semantic embedding vector for similarity matching */
|
|
42
|
+
readonly embedding?: Float32Array;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Result from clause extraction
|
|
46
|
+
*/
|
|
47
|
+
export interface ClauseExtractionResult {
|
|
48
|
+
/** Success status */
|
|
49
|
+
readonly success: boolean;
|
|
50
|
+
/** Extracted clauses */
|
|
51
|
+
readonly clauses: ExtractedClause[];
|
|
52
|
+
/** Document metadata */
|
|
53
|
+
readonly metadata: DocumentMetadata;
|
|
54
|
+
/** Clauses that could not be classified */
|
|
55
|
+
readonly unclassified: Array<{
|
|
56
|
+
text: string;
|
|
57
|
+
startOffset: number;
|
|
58
|
+
endOffset: number;
|
|
59
|
+
reason: string;
|
|
60
|
+
}>;
|
|
61
|
+
/** Execution time in ms */
|
|
62
|
+
readonly durationMs: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Party role in the contract
|
|
66
|
+
*/
|
|
67
|
+
export declare const PartyRole: z.ZodEnum<["buyer", "seller", "licensor", "licensee", "employer", "employee", "landlord", "tenant", "lender", "borrower", "service_provider", "client"]>;
|
|
68
|
+
export type PartyRole = z.infer<typeof PartyRole>;
|
|
69
|
+
/**
|
|
70
|
+
* Risk categories for assessment
|
|
71
|
+
*/
|
|
72
|
+
export declare const RiskCategory: z.ZodEnum<["financial", "operational", "legal", "reputational", "compliance", "strategic", "security", "performance"]>;
|
|
73
|
+
export type RiskCategory = z.infer<typeof RiskCategory>;
|
|
74
|
+
/**
|
|
75
|
+
* Risk severity levels
|
|
76
|
+
*/
|
|
77
|
+
export declare const RiskSeverity: z.ZodEnum<["low", "medium", "high", "critical"]>;
|
|
78
|
+
export type RiskSeverity = z.infer<typeof RiskSeverity>;
|
|
79
|
+
/**
|
|
80
|
+
* Individual risk finding
|
|
81
|
+
*/
|
|
82
|
+
export interface RiskFinding {
|
|
83
|
+
/** Unique identifier */
|
|
84
|
+
readonly id: string;
|
|
85
|
+
/** Risk category */
|
|
86
|
+
readonly category: RiskCategory;
|
|
87
|
+
/** Severity level */
|
|
88
|
+
readonly severity: RiskSeverity;
|
|
89
|
+
/** Risk title/summary */
|
|
90
|
+
readonly title: string;
|
|
91
|
+
/** Detailed description */
|
|
92
|
+
readonly description: string;
|
|
93
|
+
/** Associated clause(s) */
|
|
94
|
+
readonly clauseIds: string[];
|
|
95
|
+
/** Potential financial impact range */
|
|
96
|
+
readonly financialImpact?: {
|
|
97
|
+
min: number;
|
|
98
|
+
max: number;
|
|
99
|
+
currency: string;
|
|
100
|
+
probability: number;
|
|
101
|
+
};
|
|
102
|
+
/** Suggested mitigation strategies */
|
|
103
|
+
readonly mitigations: string[];
|
|
104
|
+
/** Legal precedent or standard deviation flag */
|
|
105
|
+
readonly deviatesFromStandard: boolean;
|
|
106
|
+
/** Confidence in assessment (0-1) */
|
|
107
|
+
readonly confidence: number;
|
|
108
|
+
/** Jurisdiction-specific notes */
|
|
109
|
+
readonly jurisdictionNotes?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Overall risk assessment result
|
|
113
|
+
*/
|
|
114
|
+
export interface RiskAssessmentResult {
|
|
115
|
+
/** Success status */
|
|
116
|
+
readonly success: boolean;
|
|
117
|
+
/** Party role perspective used */
|
|
118
|
+
readonly partyRole: PartyRole;
|
|
119
|
+
/** All risk findings */
|
|
120
|
+
readonly risks: RiskFinding[];
|
|
121
|
+
/** Summary by category */
|
|
122
|
+
readonly categorySummary: Record<RiskCategory, {
|
|
123
|
+
count: number;
|
|
124
|
+
highestSeverity: RiskSeverity;
|
|
125
|
+
averageScore: number;
|
|
126
|
+
}>;
|
|
127
|
+
/** Overall risk score (0-100) */
|
|
128
|
+
readonly overallScore: number;
|
|
129
|
+
/** Risk grade (A-F) */
|
|
130
|
+
readonly grade: 'A' | 'B' | 'C' | 'D' | 'F';
|
|
131
|
+
/** Top 5 most critical risks */
|
|
132
|
+
readonly criticalRisks: RiskFinding[];
|
|
133
|
+
/** Execution time in ms */
|
|
134
|
+
readonly durationMs: number;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Comparison mode for contract analysis
|
|
138
|
+
*/
|
|
139
|
+
export declare const ComparisonMode: z.ZodEnum<["structural", "semantic", "full"]>;
|
|
140
|
+
export type ComparisonMode = z.infer<typeof ComparisonMode>;
|
|
141
|
+
/**
|
|
142
|
+
* Type of change detected
|
|
143
|
+
*/
|
|
144
|
+
export type ChangeType = 'added' | 'removed' | 'modified' | 'moved' | 'unchanged';
|
|
145
|
+
/**
|
|
146
|
+
* Individual change between contracts
|
|
147
|
+
*/
|
|
148
|
+
export interface ContractChange {
|
|
149
|
+
/** Change type */
|
|
150
|
+
readonly type: ChangeType;
|
|
151
|
+
/** Clause type affected */
|
|
152
|
+
readonly clauseType?: ClauseType;
|
|
153
|
+
/** Section in base document */
|
|
154
|
+
readonly baseSection?: string;
|
|
155
|
+
/** Section in compare document */
|
|
156
|
+
readonly compareSection?: string;
|
|
157
|
+
/** Original text */
|
|
158
|
+
readonly baseText?: string;
|
|
159
|
+
/** New/changed text */
|
|
160
|
+
readonly compareText?: string;
|
|
161
|
+
/** Significance score (0-1) */
|
|
162
|
+
readonly significance: number;
|
|
163
|
+
/** Impact assessment */
|
|
164
|
+
readonly impact: 'favorable' | 'unfavorable' | 'neutral' | 'requires_review';
|
|
165
|
+
/** Detailed explanation of change */
|
|
166
|
+
readonly explanation: string;
|
|
167
|
+
/** Suggested action */
|
|
168
|
+
readonly suggestedAction?: string;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Semantic alignment between clauses
|
|
172
|
+
*/
|
|
173
|
+
export interface ClauseAlignment {
|
|
174
|
+
/** Base document clause ID */
|
|
175
|
+
readonly baseClauseId: string;
|
|
176
|
+
/** Compare document clause ID */
|
|
177
|
+
readonly compareClauseId: string;
|
|
178
|
+
/** Similarity score (0-1) */
|
|
179
|
+
readonly similarity: number;
|
|
180
|
+
/** Alignment type */
|
|
181
|
+
readonly alignmentType: 'exact' | 'similar' | 'related' | 'no_match';
|
|
182
|
+
/** Key differences */
|
|
183
|
+
readonly differences: string[];
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Contract comparison result
|
|
187
|
+
*/
|
|
188
|
+
export interface ContractComparisonResult {
|
|
189
|
+
/** Success status */
|
|
190
|
+
readonly success: boolean;
|
|
191
|
+
/** Comparison mode used */
|
|
192
|
+
readonly mode: ComparisonMode;
|
|
193
|
+
/** All detected changes */
|
|
194
|
+
readonly changes: ContractChange[];
|
|
195
|
+
/** Clause alignments */
|
|
196
|
+
readonly alignments: ClauseAlignment[];
|
|
197
|
+
/** Overall similarity score (0-1) */
|
|
198
|
+
readonly similarityScore: number;
|
|
199
|
+
/** Summary statistics */
|
|
200
|
+
readonly summary: {
|
|
201
|
+
totalChanges: number;
|
|
202
|
+
added: number;
|
|
203
|
+
removed: number;
|
|
204
|
+
modified: number;
|
|
205
|
+
favorable: number;
|
|
206
|
+
unfavorable: number;
|
|
207
|
+
};
|
|
208
|
+
/** Redline markup if requested */
|
|
209
|
+
readonly redlineMarkup?: string;
|
|
210
|
+
/** Execution time in ms */
|
|
211
|
+
readonly durationMs: number;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Obligation types
|
|
215
|
+
*/
|
|
216
|
+
export declare const ObligationType: z.ZodEnum<["payment", "delivery", "notification", "approval", "compliance", "reporting", "confidentiality", "performance", "insurance", "renewal", "termination"]>;
|
|
217
|
+
export type ObligationType = z.infer<typeof ObligationType>;
|
|
218
|
+
/**
|
|
219
|
+
* Obligation status
|
|
220
|
+
*/
|
|
221
|
+
export type ObligationStatus = 'pending' | 'in_progress' | 'completed' | 'overdue' | 'waived';
|
|
222
|
+
/**
|
|
223
|
+
* Extracted obligation
|
|
224
|
+
*/
|
|
225
|
+
export interface Obligation {
|
|
226
|
+
/** Unique identifier */
|
|
227
|
+
readonly id: string;
|
|
228
|
+
/** Obligation type */
|
|
229
|
+
readonly type: ObligationType;
|
|
230
|
+
/** Responsible party */
|
|
231
|
+
readonly party: string;
|
|
232
|
+
/** Obligation description */
|
|
233
|
+
readonly description: string;
|
|
234
|
+
/** Due date if applicable */
|
|
235
|
+
readonly dueDate?: Date;
|
|
236
|
+
/** Deadline type */
|
|
237
|
+
readonly deadlineType?: 'hard' | 'soft' | 'recurring';
|
|
238
|
+
/** Recurrence pattern (ISO 8601 duration) */
|
|
239
|
+
readonly recurrence?: string;
|
|
240
|
+
/** Triggering condition */
|
|
241
|
+
readonly triggerCondition?: string;
|
|
242
|
+
/** Dependencies (other obligation IDs) */
|
|
243
|
+
readonly dependsOn: string[];
|
|
244
|
+
/** Obligations blocked by this one */
|
|
245
|
+
readonly blocks: string[];
|
|
246
|
+
/** Associated clause IDs */
|
|
247
|
+
readonly clauseIds: string[];
|
|
248
|
+
/** Monetary value if applicable */
|
|
249
|
+
readonly monetaryValue?: {
|
|
250
|
+
amount: number;
|
|
251
|
+
currency: string;
|
|
252
|
+
};
|
|
253
|
+
/** Penalty for non-compliance */
|
|
254
|
+
readonly penalty?: string;
|
|
255
|
+
/** Current status */
|
|
256
|
+
readonly status: ObligationStatus;
|
|
257
|
+
/** Priority level */
|
|
258
|
+
readonly priority: 'low' | 'medium' | 'high' | 'critical';
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Obligation dependency graph node
|
|
262
|
+
*/
|
|
263
|
+
export interface ObligationNode {
|
|
264
|
+
/** Obligation */
|
|
265
|
+
readonly obligation: Obligation;
|
|
266
|
+
/** Incoming edges (dependencies) */
|
|
267
|
+
readonly dependencies: string[];
|
|
268
|
+
/** Outgoing edges (dependents) */
|
|
269
|
+
readonly dependents: string[];
|
|
270
|
+
/** Critical path flag */
|
|
271
|
+
readonly onCriticalPath: boolean;
|
|
272
|
+
/** Earliest start date */
|
|
273
|
+
readonly earliestStart?: Date;
|
|
274
|
+
/** Latest finish date */
|
|
275
|
+
readonly latestFinish?: Date;
|
|
276
|
+
/** Float/slack time in days */
|
|
277
|
+
readonly floatDays?: number;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Obligation tracking result
|
|
281
|
+
*/
|
|
282
|
+
export interface ObligationTrackingResult {
|
|
283
|
+
/** Success status */
|
|
284
|
+
readonly success: boolean;
|
|
285
|
+
/** All obligations */
|
|
286
|
+
readonly obligations: Obligation[];
|
|
287
|
+
/** Dependency graph */
|
|
288
|
+
readonly graph: {
|
|
289
|
+
nodes: ObligationNode[];
|
|
290
|
+
edges: Array<{
|
|
291
|
+
from: string;
|
|
292
|
+
to: string;
|
|
293
|
+
type: 'depends_on' | 'blocks' | 'triggers';
|
|
294
|
+
}>;
|
|
295
|
+
};
|
|
296
|
+
/** Timeline view */
|
|
297
|
+
readonly timeline: Array<{
|
|
298
|
+
date: Date;
|
|
299
|
+
obligations: string[];
|
|
300
|
+
isMilestone: boolean;
|
|
301
|
+
}>;
|
|
302
|
+
/** Upcoming deadlines (next 30 days) */
|
|
303
|
+
readonly upcomingDeadlines: Obligation[];
|
|
304
|
+
/** Overdue obligations */
|
|
305
|
+
readonly overdue: Obligation[];
|
|
306
|
+
/** Execution time in ms */
|
|
307
|
+
readonly durationMs: number;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Strictness level for playbook matching
|
|
311
|
+
*/
|
|
312
|
+
export declare const PlaybookStrictness: z.ZodEnum<["strict", "moderate", "flexible"]>;
|
|
313
|
+
export type PlaybookStrictness = z.infer<typeof PlaybookStrictness>;
|
|
314
|
+
/**
|
|
315
|
+
* Playbook position for a clause type
|
|
316
|
+
*/
|
|
317
|
+
export interface PlaybookPosition {
|
|
318
|
+
/** Clause type */
|
|
319
|
+
readonly clauseType: ClauseType;
|
|
320
|
+
/** Preferred language/position */
|
|
321
|
+
readonly preferredLanguage: string;
|
|
322
|
+
/** Acceptable variations */
|
|
323
|
+
readonly acceptableVariations: string[];
|
|
324
|
+
/** Red lines (non-negotiable) */
|
|
325
|
+
readonly redLines: string[];
|
|
326
|
+
/** Fallback positions in order of preference */
|
|
327
|
+
readonly fallbackPositions: Array<{
|
|
328
|
+
language: string;
|
|
329
|
+
priority: number;
|
|
330
|
+
conditions?: string;
|
|
331
|
+
}>;
|
|
332
|
+
/** Negotiation notes */
|
|
333
|
+
readonly negotiationNotes: string;
|
|
334
|
+
/** Business justification */
|
|
335
|
+
readonly businessJustification: string;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Complete playbook
|
|
339
|
+
*/
|
|
340
|
+
export interface Playbook {
|
|
341
|
+
/** Playbook identifier */
|
|
342
|
+
readonly id: string;
|
|
343
|
+
/** Playbook name */
|
|
344
|
+
readonly name: string;
|
|
345
|
+
/** Contract type this applies to */
|
|
346
|
+
readonly contractType: string;
|
|
347
|
+
/** Jurisdiction */
|
|
348
|
+
readonly jurisdiction: string;
|
|
349
|
+
/** Party role perspective */
|
|
350
|
+
readonly partyRole: PartyRole;
|
|
351
|
+
/** Last updated */
|
|
352
|
+
readonly updatedAt: Date;
|
|
353
|
+
/** Version */
|
|
354
|
+
readonly version: string;
|
|
355
|
+
/** Positions by clause type */
|
|
356
|
+
readonly positions: PlaybookPosition[];
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Match result for a single clause
|
|
360
|
+
*/
|
|
361
|
+
export interface PlaybookMatch {
|
|
362
|
+
/** Clause from document */
|
|
363
|
+
readonly clauseId: string;
|
|
364
|
+
/** Matching playbook position */
|
|
365
|
+
readonly position: PlaybookPosition;
|
|
366
|
+
/** Match status */
|
|
367
|
+
readonly status: 'matches_preferred' | 'matches_acceptable' | 'requires_fallback' | 'violates_redline' | 'no_match';
|
|
368
|
+
/** Similarity to preferred position (0-1) */
|
|
369
|
+
readonly preferredSimilarity: number;
|
|
370
|
+
/** Best matching fallback if applicable */
|
|
371
|
+
readonly matchedFallback?: {
|
|
372
|
+
language: string;
|
|
373
|
+
priority: number;
|
|
374
|
+
similarity: number;
|
|
375
|
+
};
|
|
376
|
+
/** Suggested alternative language */
|
|
377
|
+
readonly suggestedAlternative?: string;
|
|
378
|
+
/** Negotiation recommendation */
|
|
379
|
+
readonly recommendation: string;
|
|
380
|
+
/** Risk if current language accepted */
|
|
381
|
+
readonly riskIfAccepted?: string;
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Playbook matching result
|
|
385
|
+
*/
|
|
386
|
+
export interface PlaybookMatchResult {
|
|
387
|
+
/** Success status */
|
|
388
|
+
readonly success: boolean;
|
|
389
|
+
/** Playbook used */
|
|
390
|
+
readonly playbook: {
|
|
391
|
+
id: string;
|
|
392
|
+
name: string;
|
|
393
|
+
version: string;
|
|
394
|
+
};
|
|
395
|
+
/** Match results per clause */
|
|
396
|
+
readonly matches: PlaybookMatch[];
|
|
397
|
+
/** Summary */
|
|
398
|
+
readonly summary: {
|
|
399
|
+
totalClauses: number;
|
|
400
|
+
matchesPreferred: number;
|
|
401
|
+
matchesAcceptable: number;
|
|
402
|
+
requiresFallback: number;
|
|
403
|
+
violatesRedline: number;
|
|
404
|
+
noMatch: number;
|
|
405
|
+
};
|
|
406
|
+
/** Red line violations requiring attention */
|
|
407
|
+
readonly redLineViolations: PlaybookMatch[];
|
|
408
|
+
/** Negotiation priorities (ordered) */
|
|
409
|
+
readonly negotiationPriorities: Array<{
|
|
410
|
+
clauseId: string;
|
|
411
|
+
priority: number;
|
|
412
|
+
reason: string;
|
|
413
|
+
}>;
|
|
414
|
+
/** Execution time in ms */
|
|
415
|
+
readonly durationMs: number;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Document metadata
|
|
419
|
+
*/
|
|
420
|
+
export interface DocumentMetadata {
|
|
421
|
+
/** Document identifier */
|
|
422
|
+
readonly id: string;
|
|
423
|
+
/** Document title */
|
|
424
|
+
readonly title?: string;
|
|
425
|
+
/** Document format */
|
|
426
|
+
readonly format: 'pdf' | 'docx' | 'txt' | 'html';
|
|
427
|
+
/** Total pages */
|
|
428
|
+
readonly pages?: number;
|
|
429
|
+
/** Total words */
|
|
430
|
+
readonly wordCount: number;
|
|
431
|
+
/** Total characters */
|
|
432
|
+
readonly charCount: number;
|
|
433
|
+
/** Detected language */
|
|
434
|
+
readonly language: string;
|
|
435
|
+
/** Contract type if identified */
|
|
436
|
+
readonly contractType?: string;
|
|
437
|
+
/** Effective date if found */
|
|
438
|
+
readonly effectiveDate?: Date;
|
|
439
|
+
/** Expiration date if found */
|
|
440
|
+
readonly expirationDate?: Date;
|
|
441
|
+
/** Parties identified */
|
|
442
|
+
readonly parties: Array<{
|
|
443
|
+
name: string;
|
|
444
|
+
role?: PartyRole;
|
|
445
|
+
address?: string;
|
|
446
|
+
}>;
|
|
447
|
+
/** Governing law jurisdiction */
|
|
448
|
+
readonly governingLaw?: string;
|
|
449
|
+
/** Document hash for integrity */
|
|
450
|
+
readonly contentHash: string;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Matter isolation context
|
|
454
|
+
*/
|
|
455
|
+
export interface MatterContext {
|
|
456
|
+
/** Unique matter identifier */
|
|
457
|
+
readonly matterId: string;
|
|
458
|
+
/** Client identifier */
|
|
459
|
+
readonly clientId: string;
|
|
460
|
+
/** Authorized users */
|
|
461
|
+
readonly authorizedUsers: string[];
|
|
462
|
+
/** Ethical wall restrictions */
|
|
463
|
+
readonly ethicalWalls?: string[];
|
|
464
|
+
/** Audit log reference */
|
|
465
|
+
readonly auditLogId: string;
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* User role for access control
|
|
469
|
+
*/
|
|
470
|
+
export declare const UserRole: z.ZodEnum<["partner", "associate", "paralegal", "contract_manager", "client"]>;
|
|
471
|
+
export type UserRole = z.infer<typeof UserRole>;
|
|
472
|
+
/**
|
|
473
|
+
* Tool access permissions by role
|
|
474
|
+
*/
|
|
475
|
+
export declare const RolePermissions: Record<UserRole, string[]>;
|
|
476
|
+
/**
|
|
477
|
+
* Audit log entry
|
|
478
|
+
*/
|
|
479
|
+
export interface AuditLogEntry {
|
|
480
|
+
/** Timestamp (ISO 8601) */
|
|
481
|
+
readonly timestamp: string;
|
|
482
|
+
/** User ID */
|
|
483
|
+
readonly userId: string;
|
|
484
|
+
/** User role at time of access */
|
|
485
|
+
readonly userRole: UserRole;
|
|
486
|
+
/** Matter ID */
|
|
487
|
+
readonly matterId: string;
|
|
488
|
+
/** Tool invoked */
|
|
489
|
+
readonly toolName: string;
|
|
490
|
+
/** Document hash (not content) */
|
|
491
|
+
readonly documentHash: string;
|
|
492
|
+
/** Operation type */
|
|
493
|
+
readonly operationType: 'analyze' | 'compare' | 'export';
|
|
494
|
+
/** High-level result (no privileged content) */
|
|
495
|
+
readonly resultSummary: string;
|
|
496
|
+
/** Optional billing reference */
|
|
497
|
+
readonly billingCode?: string;
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* Input schema for legal/clause-extract
|
|
501
|
+
*/
|
|
502
|
+
export declare const ClauseExtractInputSchema: z.ZodObject<{
|
|
503
|
+
document: z.ZodString;
|
|
504
|
+
clauseTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<["indemnification", "limitation_of_liability", "termination", "confidentiality", "ip_assignment", "governing_law", "arbitration", "force_majeure", "warranty", "payment_terms", "non_compete", "non_solicitation", "assignment", "insurance", "representations", "covenants", "data_protection", "audit_rights"]>, "many">>;
|
|
505
|
+
jurisdiction: z.ZodDefault<z.ZodString>;
|
|
506
|
+
includePositions: z.ZodDefault<z.ZodBoolean>;
|
|
507
|
+
includeEmbeddings: z.ZodDefault<z.ZodBoolean>;
|
|
508
|
+
matterContext: z.ZodOptional<z.ZodObject<{
|
|
509
|
+
matterId: z.ZodString;
|
|
510
|
+
clientId: z.ZodString;
|
|
511
|
+
}, "strip", z.ZodTypeAny, {
|
|
512
|
+
matterId: string;
|
|
513
|
+
clientId: string;
|
|
514
|
+
}, {
|
|
515
|
+
matterId: string;
|
|
516
|
+
clientId: string;
|
|
517
|
+
}>>;
|
|
518
|
+
}, "strip", z.ZodTypeAny, {
|
|
519
|
+
document: string;
|
|
520
|
+
jurisdiction: string;
|
|
521
|
+
includePositions: boolean;
|
|
522
|
+
includeEmbeddings: boolean;
|
|
523
|
+
clauseTypes?: ("indemnification" | "limitation_of_liability" | "termination" | "confidentiality" | "ip_assignment" | "governing_law" | "arbitration" | "force_majeure" | "warranty" | "payment_terms" | "non_compete" | "non_solicitation" | "assignment" | "insurance" | "representations" | "covenants" | "data_protection" | "audit_rights")[] | undefined;
|
|
524
|
+
matterContext?: {
|
|
525
|
+
matterId: string;
|
|
526
|
+
clientId: string;
|
|
527
|
+
} | undefined;
|
|
528
|
+
}, {
|
|
529
|
+
document: string;
|
|
530
|
+
clauseTypes?: ("indemnification" | "limitation_of_liability" | "termination" | "confidentiality" | "ip_assignment" | "governing_law" | "arbitration" | "force_majeure" | "warranty" | "payment_terms" | "non_compete" | "non_solicitation" | "assignment" | "insurance" | "representations" | "covenants" | "data_protection" | "audit_rights")[] | undefined;
|
|
531
|
+
jurisdiction?: string | undefined;
|
|
532
|
+
includePositions?: boolean | undefined;
|
|
533
|
+
includeEmbeddings?: boolean | undefined;
|
|
534
|
+
matterContext?: {
|
|
535
|
+
matterId: string;
|
|
536
|
+
clientId: string;
|
|
537
|
+
} | undefined;
|
|
538
|
+
}>;
|
|
539
|
+
export type ClauseExtractInput = z.infer<typeof ClauseExtractInputSchema>;
|
|
540
|
+
/**
|
|
541
|
+
* Input schema for legal/risk-assess
|
|
542
|
+
*/
|
|
543
|
+
export declare const RiskAssessInputSchema: z.ZodObject<{
|
|
544
|
+
document: z.ZodString;
|
|
545
|
+
partyRole: z.ZodEnum<["buyer", "seller", "licensor", "licensee", "employer", "employee", "landlord", "tenant", "lender", "borrower", "service_provider", "client"]>;
|
|
546
|
+
riskCategories: z.ZodOptional<z.ZodArray<z.ZodEnum<["financial", "operational", "legal", "reputational", "compliance", "strategic", "security", "performance"]>, "many">>;
|
|
547
|
+
industryContext: z.ZodOptional<z.ZodString>;
|
|
548
|
+
threshold: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
|
|
549
|
+
includeFinancialImpact: z.ZodDefault<z.ZodBoolean>;
|
|
550
|
+
matterContext: z.ZodOptional<z.ZodObject<{
|
|
551
|
+
matterId: z.ZodString;
|
|
552
|
+
clientId: z.ZodString;
|
|
553
|
+
}, "strip", z.ZodTypeAny, {
|
|
554
|
+
matterId: string;
|
|
555
|
+
clientId: string;
|
|
556
|
+
}, {
|
|
557
|
+
matterId: string;
|
|
558
|
+
clientId: string;
|
|
559
|
+
}>>;
|
|
560
|
+
}, "strip", z.ZodTypeAny, {
|
|
561
|
+
document: string;
|
|
562
|
+
partyRole: "buyer" | "seller" | "licensor" | "licensee" | "employer" | "employee" | "landlord" | "tenant" | "lender" | "borrower" | "service_provider" | "client";
|
|
563
|
+
includeFinancialImpact: boolean;
|
|
564
|
+
matterContext?: {
|
|
565
|
+
matterId: string;
|
|
566
|
+
clientId: string;
|
|
567
|
+
} | undefined;
|
|
568
|
+
riskCategories?: ("financial" | "operational" | "legal" | "reputational" | "compliance" | "strategic" | "security" | "performance")[] | undefined;
|
|
569
|
+
industryContext?: string | undefined;
|
|
570
|
+
threshold?: "low" | "medium" | "high" | "critical" | undefined;
|
|
571
|
+
}, {
|
|
572
|
+
document: string;
|
|
573
|
+
partyRole: "buyer" | "seller" | "licensor" | "licensee" | "employer" | "employee" | "landlord" | "tenant" | "lender" | "borrower" | "service_provider" | "client";
|
|
574
|
+
matterContext?: {
|
|
575
|
+
matterId: string;
|
|
576
|
+
clientId: string;
|
|
577
|
+
} | undefined;
|
|
578
|
+
riskCategories?: ("financial" | "operational" | "legal" | "reputational" | "compliance" | "strategic" | "security" | "performance")[] | undefined;
|
|
579
|
+
industryContext?: string | undefined;
|
|
580
|
+
threshold?: "low" | "medium" | "high" | "critical" | undefined;
|
|
581
|
+
includeFinancialImpact?: boolean | undefined;
|
|
582
|
+
}>;
|
|
583
|
+
export type RiskAssessInput = z.infer<typeof RiskAssessInputSchema>;
|
|
584
|
+
/**
|
|
585
|
+
* Input schema for legal/contract-compare
|
|
586
|
+
*/
|
|
587
|
+
export declare const ContractCompareInputSchema: z.ZodObject<{
|
|
588
|
+
baseDocument: z.ZodString;
|
|
589
|
+
compareDocument: z.ZodString;
|
|
590
|
+
comparisonMode: z.ZodDefault<z.ZodEnum<["structural", "semantic", "full"]>>;
|
|
591
|
+
highlightChanges: z.ZodDefault<z.ZodBoolean>;
|
|
592
|
+
generateRedline: z.ZodDefault<z.ZodBoolean>;
|
|
593
|
+
focusClauseTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<["indemnification", "limitation_of_liability", "termination", "confidentiality", "ip_assignment", "governing_law", "arbitration", "force_majeure", "warranty", "payment_terms", "non_compete", "non_solicitation", "assignment", "insurance", "representations", "covenants", "data_protection", "audit_rights"]>, "many">>;
|
|
594
|
+
matterContext: z.ZodOptional<z.ZodObject<{
|
|
595
|
+
matterId: z.ZodString;
|
|
596
|
+
clientId: z.ZodString;
|
|
597
|
+
}, "strip", z.ZodTypeAny, {
|
|
598
|
+
matterId: string;
|
|
599
|
+
clientId: string;
|
|
600
|
+
}, {
|
|
601
|
+
matterId: string;
|
|
602
|
+
clientId: string;
|
|
603
|
+
}>>;
|
|
604
|
+
}, "strip", z.ZodTypeAny, {
|
|
605
|
+
baseDocument: string;
|
|
606
|
+
compareDocument: string;
|
|
607
|
+
comparisonMode: "structural" | "semantic" | "full";
|
|
608
|
+
highlightChanges: boolean;
|
|
609
|
+
generateRedline: boolean;
|
|
610
|
+
matterContext?: {
|
|
611
|
+
matterId: string;
|
|
612
|
+
clientId: string;
|
|
613
|
+
} | undefined;
|
|
614
|
+
focusClauseTypes?: ("indemnification" | "limitation_of_liability" | "termination" | "confidentiality" | "ip_assignment" | "governing_law" | "arbitration" | "force_majeure" | "warranty" | "payment_terms" | "non_compete" | "non_solicitation" | "assignment" | "insurance" | "representations" | "covenants" | "data_protection" | "audit_rights")[] | undefined;
|
|
615
|
+
}, {
|
|
616
|
+
baseDocument: string;
|
|
617
|
+
compareDocument: string;
|
|
618
|
+
matterContext?: {
|
|
619
|
+
matterId: string;
|
|
620
|
+
clientId: string;
|
|
621
|
+
} | undefined;
|
|
622
|
+
comparisonMode?: "structural" | "semantic" | "full" | undefined;
|
|
623
|
+
highlightChanges?: boolean | undefined;
|
|
624
|
+
generateRedline?: boolean | undefined;
|
|
625
|
+
focusClauseTypes?: ("indemnification" | "limitation_of_liability" | "termination" | "confidentiality" | "ip_assignment" | "governing_law" | "arbitration" | "force_majeure" | "warranty" | "payment_terms" | "non_compete" | "non_solicitation" | "assignment" | "insurance" | "representations" | "covenants" | "data_protection" | "audit_rights")[] | undefined;
|
|
626
|
+
}>;
|
|
627
|
+
export type ContractCompareInput = z.infer<typeof ContractCompareInputSchema>;
|
|
628
|
+
/**
|
|
629
|
+
* Input schema for legal/obligation-track
|
|
630
|
+
*/
|
|
631
|
+
export declare const ObligationTrackInputSchema: z.ZodObject<{
|
|
632
|
+
document: z.ZodString;
|
|
633
|
+
party: z.ZodOptional<z.ZodString>;
|
|
634
|
+
timeframe: z.ZodOptional<z.ZodString>;
|
|
635
|
+
obligationTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<["payment", "delivery", "notification", "approval", "compliance", "reporting", "confidentiality", "performance", "insurance", "renewal", "termination"]>, "many">>;
|
|
636
|
+
includeDependencies: z.ZodDefault<z.ZodBoolean>;
|
|
637
|
+
includeTimeline: z.ZodDefault<z.ZodBoolean>;
|
|
638
|
+
matterContext: z.ZodOptional<z.ZodObject<{
|
|
639
|
+
matterId: z.ZodString;
|
|
640
|
+
clientId: z.ZodString;
|
|
641
|
+
}, "strip", z.ZodTypeAny, {
|
|
642
|
+
matterId: string;
|
|
643
|
+
clientId: string;
|
|
644
|
+
}, {
|
|
645
|
+
matterId: string;
|
|
646
|
+
clientId: string;
|
|
647
|
+
}>>;
|
|
648
|
+
}, "strip", z.ZodTypeAny, {
|
|
649
|
+
document: string;
|
|
650
|
+
includeDependencies: boolean;
|
|
651
|
+
includeTimeline: boolean;
|
|
652
|
+
matterContext?: {
|
|
653
|
+
matterId: string;
|
|
654
|
+
clientId: string;
|
|
655
|
+
} | undefined;
|
|
656
|
+
party?: string | undefined;
|
|
657
|
+
timeframe?: string | undefined;
|
|
658
|
+
obligationTypes?: ("termination" | "confidentiality" | "insurance" | "compliance" | "performance" | "payment" | "delivery" | "notification" | "approval" | "reporting" | "renewal")[] | undefined;
|
|
659
|
+
}, {
|
|
660
|
+
document: string;
|
|
661
|
+
matterContext?: {
|
|
662
|
+
matterId: string;
|
|
663
|
+
clientId: string;
|
|
664
|
+
} | undefined;
|
|
665
|
+
party?: string | undefined;
|
|
666
|
+
timeframe?: string | undefined;
|
|
667
|
+
obligationTypes?: ("termination" | "confidentiality" | "insurance" | "compliance" | "performance" | "payment" | "delivery" | "notification" | "approval" | "reporting" | "renewal")[] | undefined;
|
|
668
|
+
includeDependencies?: boolean | undefined;
|
|
669
|
+
includeTimeline?: boolean | undefined;
|
|
670
|
+
}>;
|
|
671
|
+
export type ObligationTrackInput = z.infer<typeof ObligationTrackInputSchema>;
|
|
672
|
+
/**
|
|
673
|
+
* Input schema for legal/playbook-match
|
|
674
|
+
*/
|
|
675
|
+
export declare const PlaybookMatchInputSchema: z.ZodObject<{
|
|
676
|
+
document: z.ZodString;
|
|
677
|
+
playbook: z.ZodString;
|
|
678
|
+
strictness: z.ZodDefault<z.ZodEnum<["strict", "moderate", "flexible"]>>;
|
|
679
|
+
suggestAlternatives: z.ZodDefault<z.ZodBoolean>;
|
|
680
|
+
prioritizeClauses: z.ZodOptional<z.ZodArray<z.ZodEnum<["indemnification", "limitation_of_liability", "termination", "confidentiality", "ip_assignment", "governing_law", "arbitration", "force_majeure", "warranty", "payment_terms", "non_compete", "non_solicitation", "assignment", "insurance", "representations", "covenants", "data_protection", "audit_rights"]>, "many">>;
|
|
681
|
+
matterContext: z.ZodOptional<z.ZodObject<{
|
|
682
|
+
matterId: z.ZodString;
|
|
683
|
+
clientId: z.ZodString;
|
|
684
|
+
}, "strip", z.ZodTypeAny, {
|
|
685
|
+
matterId: string;
|
|
686
|
+
clientId: string;
|
|
687
|
+
}, {
|
|
688
|
+
matterId: string;
|
|
689
|
+
clientId: string;
|
|
690
|
+
}>>;
|
|
691
|
+
}, "strip", z.ZodTypeAny, {
|
|
692
|
+
document: string;
|
|
693
|
+
playbook: string;
|
|
694
|
+
strictness: "strict" | "moderate" | "flexible";
|
|
695
|
+
suggestAlternatives: boolean;
|
|
696
|
+
matterContext?: {
|
|
697
|
+
matterId: string;
|
|
698
|
+
clientId: string;
|
|
699
|
+
} | undefined;
|
|
700
|
+
prioritizeClauses?: ("indemnification" | "limitation_of_liability" | "termination" | "confidentiality" | "ip_assignment" | "governing_law" | "arbitration" | "force_majeure" | "warranty" | "payment_terms" | "non_compete" | "non_solicitation" | "assignment" | "insurance" | "representations" | "covenants" | "data_protection" | "audit_rights")[] | undefined;
|
|
701
|
+
}, {
|
|
702
|
+
document: string;
|
|
703
|
+
playbook: string;
|
|
704
|
+
matterContext?: {
|
|
705
|
+
matterId: string;
|
|
706
|
+
clientId: string;
|
|
707
|
+
} | undefined;
|
|
708
|
+
strictness?: "strict" | "moderate" | "flexible" | undefined;
|
|
709
|
+
suggestAlternatives?: boolean | undefined;
|
|
710
|
+
prioritizeClauses?: ("indemnification" | "limitation_of_liability" | "termination" | "confidentiality" | "ip_assignment" | "governing_law" | "arbitration" | "force_majeure" | "warranty" | "payment_terms" | "non_compete" | "non_solicitation" | "assignment" | "insurance" | "representations" | "covenants" | "data_protection" | "audit_rights")[] | undefined;
|
|
711
|
+
}>;
|
|
712
|
+
export type PlaybookMatchInput = z.infer<typeof PlaybookMatchInputSchema>;
|
|
713
|
+
/**
|
|
714
|
+
* Flash Attention Bridge for clause analysis
|
|
715
|
+
*/
|
|
716
|
+
export interface IAttentionBridge {
|
|
717
|
+
/**
|
|
718
|
+
* Compute cross-attention between clause embeddings for similarity
|
|
719
|
+
*/
|
|
720
|
+
computeCrossAttention(queryEmbeddings: Float32Array[], keyEmbeddings: Float32Array[], mask?: boolean[][]): Promise<Float32Array[][]>;
|
|
721
|
+
/**
|
|
722
|
+
* Align clauses between two documents using attention
|
|
723
|
+
*/
|
|
724
|
+
alignClauses(baseClauses: ExtractedClause[], compareClauses: ExtractedClause[]): Promise<ClauseAlignment[]>;
|
|
725
|
+
/**
|
|
726
|
+
* Find most relevant clauses for a given query
|
|
727
|
+
*/
|
|
728
|
+
findRelevantClauses(query: string | Float32Array, clauses: ExtractedClause[], topK: number): Promise<Array<{
|
|
729
|
+
clause: ExtractedClause;
|
|
730
|
+
score: number;
|
|
731
|
+
}>>;
|
|
732
|
+
/**
|
|
733
|
+
* Initialize the WASM module
|
|
734
|
+
*/
|
|
735
|
+
initialize(): Promise<void>;
|
|
736
|
+
/**
|
|
737
|
+
* Check if initialized
|
|
738
|
+
*/
|
|
739
|
+
isInitialized(): boolean;
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* DAG Bridge for obligation tracking
|
|
743
|
+
*/
|
|
744
|
+
export interface IDAGBridge {
|
|
745
|
+
/**
|
|
746
|
+
* Build obligation dependency graph
|
|
747
|
+
*/
|
|
748
|
+
buildDependencyGraph(obligations: Obligation[]): Promise<ObligationTrackingResult['graph']>;
|
|
749
|
+
/**
|
|
750
|
+
* Find critical path through obligations
|
|
751
|
+
*/
|
|
752
|
+
findCriticalPath(graph: ObligationTrackingResult['graph']): Promise<string[]>;
|
|
753
|
+
/**
|
|
754
|
+
* Perform topological sort of obligations
|
|
755
|
+
*/
|
|
756
|
+
topologicalSort(obligations: Obligation[]): Promise<Obligation[]>;
|
|
757
|
+
/**
|
|
758
|
+
* Detect cycles in dependency graph
|
|
759
|
+
*/
|
|
760
|
+
detectCycles(graph: ObligationTrackingResult['graph']): Promise<string[][]>;
|
|
761
|
+
/**
|
|
762
|
+
* Calculate slack/float for each obligation
|
|
763
|
+
*/
|
|
764
|
+
calculateFloat(graph: ObligationTrackingResult['graph'], projectEnd: Date): Promise<Map<string, number>>;
|
|
765
|
+
/**
|
|
766
|
+
* Initialize the WASM module
|
|
767
|
+
*/
|
|
768
|
+
initialize(): Promise<void>;
|
|
769
|
+
/**
|
|
770
|
+
* Check if initialized
|
|
771
|
+
*/
|
|
772
|
+
isInitialized(): boolean;
|
|
773
|
+
}
|
|
774
|
+
/**
|
|
775
|
+
* Plugin configuration
|
|
776
|
+
*/
|
|
777
|
+
export interface LegalContractsConfig {
|
|
778
|
+
/** Clause extraction settings */
|
|
779
|
+
extraction: {
|
|
780
|
+
/** Minimum confidence for clause classification */
|
|
781
|
+
minConfidence: number;
|
|
782
|
+
/** Include semantic embeddings */
|
|
783
|
+
includeEmbeddings: boolean;
|
|
784
|
+
/** Embedding dimension */
|
|
785
|
+
embeddingDimension: number;
|
|
786
|
+
};
|
|
787
|
+
/** Risk assessment settings */
|
|
788
|
+
risk: {
|
|
789
|
+
/** Default risk threshold */
|
|
790
|
+
defaultThreshold: RiskSeverity;
|
|
791
|
+
/** Include financial impact estimates */
|
|
792
|
+
includeFinancialImpact: boolean;
|
|
793
|
+
};
|
|
794
|
+
/** Comparison settings */
|
|
795
|
+
comparison: {
|
|
796
|
+
/** Similarity threshold for clause alignment */
|
|
797
|
+
similarityThreshold: number;
|
|
798
|
+
/** Include redline generation */
|
|
799
|
+
generateRedline: boolean;
|
|
800
|
+
};
|
|
801
|
+
/** Security settings */
|
|
802
|
+
security: {
|
|
803
|
+
/** Enable matter isolation */
|
|
804
|
+
matterIsolation: boolean;
|
|
805
|
+
/** Audit logging level */
|
|
806
|
+
auditLevel: 'minimal' | 'standard' | 'comprehensive';
|
|
807
|
+
/** Allowed document root for file inputs */
|
|
808
|
+
allowedDocumentRoot: string;
|
|
809
|
+
};
|
|
810
|
+
}
|
|
811
|
+
/**
|
|
812
|
+
* Default configuration
|
|
813
|
+
*/
|
|
814
|
+
export declare const DEFAULT_CONFIG: LegalContractsConfig;
|
|
815
|
+
/**
|
|
816
|
+
* Legal contracts plugin error codes
|
|
817
|
+
*/
|
|
818
|
+
export declare const LegalErrorCodes: {
|
|
819
|
+
readonly DOCUMENT_TOO_LARGE: "LEGAL_DOCUMENT_TOO_LARGE";
|
|
820
|
+
readonly INVALID_DOCUMENT_FORMAT: "LEGAL_INVALID_DOCUMENT_FORMAT";
|
|
821
|
+
readonly CLAUSE_EXTRACTION_FAILED: "LEGAL_CLAUSE_EXTRACTION_FAILED";
|
|
822
|
+
readonly RISK_ASSESSMENT_FAILED: "LEGAL_RISK_ASSESSMENT_FAILED";
|
|
823
|
+
readonly COMPARISON_FAILED: "LEGAL_COMPARISON_FAILED";
|
|
824
|
+
readonly OBLIGATION_PARSING_FAILED: "LEGAL_OBLIGATION_PARSING_FAILED";
|
|
825
|
+
readonly PLAYBOOK_INVALID: "LEGAL_PLAYBOOK_INVALID";
|
|
826
|
+
readonly MATTER_ACCESS_DENIED: "LEGAL_MATTER_ACCESS_DENIED";
|
|
827
|
+
readonly ETHICAL_WALL_VIOLATION: "LEGAL_ETHICAL_WALL_VIOLATION";
|
|
828
|
+
readonly WASM_NOT_INITIALIZED: "LEGAL_WASM_NOT_INITIALIZED";
|
|
829
|
+
readonly PRIVILEGE_VIOLATION: "LEGAL_PRIVILEGE_VIOLATION";
|
|
830
|
+
};
|
|
831
|
+
export type LegalErrorCode = (typeof LegalErrorCodes)[keyof typeof LegalErrorCodes];
|
|
832
|
+
/**
|
|
833
|
+
* Legal contracts plugin error
|
|
834
|
+
*/
|
|
835
|
+
export declare class LegalContractsError extends Error {
|
|
836
|
+
readonly code: LegalErrorCode;
|
|
837
|
+
readonly details?: Record<string, unknown>;
|
|
838
|
+
constructor(code: LegalErrorCode, message: string, details?: Record<string, unknown>);
|
|
839
|
+
}
|
|
840
|
+
//# sourceMappingURL=types.d.ts.map
|