@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/index.js
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Legal Contracts Plugin for Claude Flow V3
|
|
3
|
+
*
|
|
4
|
+
* A comprehensive legal contract analysis plugin combining hyperbolic embeddings
|
|
5
|
+
* for legal ontology navigation with fast vector search for clause similarity.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Clause extraction and classification
|
|
9
|
+
* - Risk assessment with severity scoring
|
|
10
|
+
* - Contract comparison with attention-based alignment
|
|
11
|
+
* - Obligation tracking with DAG analysis
|
|
12
|
+
* - Playbook matching for negotiation support
|
|
13
|
+
*
|
|
14
|
+
* Based on ADR-034: Legal Contract Analysis Plugin
|
|
15
|
+
*
|
|
16
|
+
* @module @claude-flow/plugin-legal-contracts
|
|
17
|
+
*/
|
|
18
|
+
// Export types
|
|
19
|
+
export * from './types.js';
|
|
20
|
+
// Export bridges
|
|
21
|
+
export { AttentionBridge, createAttentionBridge } from './bridges/attention-bridge.js';
|
|
22
|
+
export { DAGBridge, createDAGBridge } from './bridges/dag-bridge.js';
|
|
23
|
+
// Export MCP tools
|
|
24
|
+
export { clauseExtractTool, riskAssessTool, contractCompareTool, obligationTrackTool, playbookMatchTool, legalContractsTools, toolHandlers, createToolContext, } from './mcp-tools.js';
|
|
25
|
+
// Import for plugin creation
|
|
26
|
+
import { legalContractsTools } from './mcp-tools.js';
|
|
27
|
+
import { createAttentionBridge } from './bridges/attention-bridge.js';
|
|
28
|
+
import { createDAGBridge } from './bridges/dag-bridge.js';
|
|
29
|
+
import { DEFAULT_CONFIG } from './types.js';
|
|
30
|
+
/**
|
|
31
|
+
* Plugin metadata
|
|
32
|
+
*/
|
|
33
|
+
export const pluginMetadata = {
|
|
34
|
+
name: '@claude-flow/plugin-legal-contracts',
|
|
35
|
+
version: '3.0.0-alpha.1',
|
|
36
|
+
description: 'Legal contract analysis plugin for clause extraction, risk assessment, and comparison',
|
|
37
|
+
author: 'Claude Flow Team',
|
|
38
|
+
category: 'legal',
|
|
39
|
+
keywords: ['legal', 'contracts', 'clause', 'risk', 'compliance'],
|
|
40
|
+
homepage: 'https://github.com/ruvnet/claude-flow',
|
|
41
|
+
repository: 'https://github.com/ruvnet/claude-flow.git',
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Legal Contracts Plugin Class
|
|
45
|
+
*/
|
|
46
|
+
export class LegalContractsPlugin {
|
|
47
|
+
state = 'uninitialized';
|
|
48
|
+
config;
|
|
49
|
+
attentionBridge = null;
|
|
50
|
+
dagBridge = null;
|
|
51
|
+
constructor(config = {}) {
|
|
52
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get plugin metadata
|
|
56
|
+
*/
|
|
57
|
+
getMetadata() {
|
|
58
|
+
return pluginMetadata;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get current state
|
|
62
|
+
*/
|
|
63
|
+
getState() {
|
|
64
|
+
return this.state;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Initialize the plugin
|
|
68
|
+
*/
|
|
69
|
+
async initialize() {
|
|
70
|
+
if (this.state === 'ready')
|
|
71
|
+
return;
|
|
72
|
+
this.state = 'initializing';
|
|
73
|
+
try {
|
|
74
|
+
// Initialize WASM bridges
|
|
75
|
+
this.attentionBridge = createAttentionBridge(this.config.extraction.embeddingDimension);
|
|
76
|
+
this.dagBridge = createDAGBridge();
|
|
77
|
+
await Promise.all([
|
|
78
|
+
this.attentionBridge.initialize(),
|
|
79
|
+
this.dagBridge.initialize(),
|
|
80
|
+
]);
|
|
81
|
+
this.state = 'ready';
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
this.state = 'error';
|
|
85
|
+
throw error;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Shutdown the plugin
|
|
90
|
+
*/
|
|
91
|
+
async shutdown() {
|
|
92
|
+
this.state = 'shutdown';
|
|
93
|
+
this.attentionBridge = null;
|
|
94
|
+
this.dagBridge = null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get MCP tools provided by this plugin
|
|
98
|
+
*/
|
|
99
|
+
getMCPTools() {
|
|
100
|
+
return legalContractsTools;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get tool context for execution
|
|
104
|
+
*/
|
|
105
|
+
getToolContext() {
|
|
106
|
+
if (!this.attentionBridge || !this.dagBridge) {
|
|
107
|
+
throw new Error('Plugin not initialized');
|
|
108
|
+
}
|
|
109
|
+
const store = new Map();
|
|
110
|
+
return {
|
|
111
|
+
get: (key) => store.get(key),
|
|
112
|
+
set: (key, value) => { store.set(key, value); },
|
|
113
|
+
bridges: {
|
|
114
|
+
attention: this.attentionBridge,
|
|
115
|
+
dag: this.dagBridge,
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get configuration
|
|
121
|
+
*/
|
|
122
|
+
getConfig() {
|
|
123
|
+
return this.config;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Update configuration
|
|
127
|
+
*/
|
|
128
|
+
updateConfig(config) {
|
|
129
|
+
this.config = {
|
|
130
|
+
...this.config,
|
|
131
|
+
...config,
|
|
132
|
+
extraction: { ...this.config.extraction, ...config.extraction },
|
|
133
|
+
risk: { ...this.config.risk, ...config.risk },
|
|
134
|
+
comparison: { ...this.config.comparison, ...config.comparison },
|
|
135
|
+
security: { ...this.config.security, ...config.security },
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create plugin instance
|
|
141
|
+
*/
|
|
142
|
+
export function createPlugin(config) {
|
|
143
|
+
return new LegalContractsPlugin(config);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Default export
|
|
147
|
+
*/
|
|
148
|
+
export default LegalContractsPlugin;
|
|
149
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Legal Contracts Plugin - MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* Implements 5 MCP tools for legal contract analysis:
|
|
5
|
+
* 1. legal/clause-extract - Extract and classify clauses
|
|
6
|
+
* 2. legal/risk-assess - Identify and score contractual risks
|
|
7
|
+
* 3. legal/contract-compare - Compare contracts with attention-based alignment
|
|
8
|
+
* 4. legal/obligation-track - Extract obligations with DAG analysis
|
|
9
|
+
* 5. legal/playbook-match - Match clauses against negotiation playbook
|
|
10
|
+
*
|
|
11
|
+
* Based on ADR-034: Legal Contract Analysis Plugin
|
|
12
|
+
*
|
|
13
|
+
* @module v3/plugins/legal-contracts/mcp-tools
|
|
14
|
+
*/
|
|
15
|
+
import { z } from 'zod';
|
|
16
|
+
import type { ClauseExtractionResult, RiskAssessmentResult, ContractComparisonResult, ObligationTrackingResult, PlaybookMatchResult, IAttentionBridge, IDAGBridge } from './types.js';
|
|
17
|
+
import { ClauseExtractInputSchema, RiskAssessInputSchema, ContractCompareInputSchema, ObligationTrackInputSchema, PlaybookMatchInputSchema } from './types.js';
|
|
18
|
+
/**
|
|
19
|
+
* MCP Tool definition
|
|
20
|
+
*/
|
|
21
|
+
export interface MCPTool<TInput = unknown, TOutput = unknown> {
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
category: string;
|
|
25
|
+
version: string;
|
|
26
|
+
inputSchema: z.ZodType<TInput, z.ZodTypeDef, any>;
|
|
27
|
+
handler: (input: TInput, context: ToolContext) => Promise<MCPToolResult<TOutput>>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Tool execution context
|
|
31
|
+
*/
|
|
32
|
+
export interface ToolContext {
|
|
33
|
+
get<T>(key: string): T | undefined;
|
|
34
|
+
set<T>(key: string, value: T): void;
|
|
35
|
+
bridges: {
|
|
36
|
+
attention: IAttentionBridge;
|
|
37
|
+
dag: IDAGBridge;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* MCP Tool result format
|
|
42
|
+
*/
|
|
43
|
+
export interface MCPToolResult<T = unknown> {
|
|
44
|
+
content: Array<{
|
|
45
|
+
type: 'text';
|
|
46
|
+
text: string;
|
|
47
|
+
}>;
|
|
48
|
+
data?: T;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* MCP Tool: legal/clause-extract
|
|
52
|
+
*
|
|
53
|
+
* Extract and classify clauses from legal documents
|
|
54
|
+
*/
|
|
55
|
+
export declare const clauseExtractTool: MCPTool<z.infer<typeof ClauseExtractInputSchema>, ClauseExtractionResult>;
|
|
56
|
+
/**
|
|
57
|
+
* MCP Tool: legal/risk-assess
|
|
58
|
+
*
|
|
59
|
+
* Assess contractual risks with severity scoring
|
|
60
|
+
*/
|
|
61
|
+
export declare const riskAssessTool: MCPTool<z.infer<typeof RiskAssessInputSchema>, RiskAssessmentResult>;
|
|
62
|
+
/**
|
|
63
|
+
* MCP Tool: legal/contract-compare
|
|
64
|
+
*
|
|
65
|
+
* Compare two contracts with detailed diff and semantic alignment
|
|
66
|
+
*/
|
|
67
|
+
export declare const contractCompareTool: MCPTool<z.infer<typeof ContractCompareInputSchema>, ContractComparisonResult>;
|
|
68
|
+
/**
|
|
69
|
+
* MCP Tool: legal/obligation-track
|
|
70
|
+
*
|
|
71
|
+
* Extract obligations, deadlines, and dependencies using DAG analysis
|
|
72
|
+
*/
|
|
73
|
+
export declare const obligationTrackTool: MCPTool<z.infer<typeof ObligationTrackInputSchema>, ObligationTrackingResult>;
|
|
74
|
+
/**
|
|
75
|
+
* MCP Tool: legal/playbook-match
|
|
76
|
+
*
|
|
77
|
+
* Compare contract clauses against negotiation playbook
|
|
78
|
+
*/
|
|
79
|
+
export declare const playbookMatchTool: MCPTool<z.infer<typeof PlaybookMatchInputSchema>, PlaybookMatchResult>;
|
|
80
|
+
/**
|
|
81
|
+
* All Legal Contracts MCP Tools
|
|
82
|
+
*/
|
|
83
|
+
export declare const legalContractsTools: MCPTool[];
|
|
84
|
+
/**
|
|
85
|
+
* Tool name to handler map
|
|
86
|
+
*/
|
|
87
|
+
export declare const toolHandlers: Map<string, (input: unknown, context: ToolContext) => Promise<MCPToolResult<unknown>>>;
|
|
88
|
+
/**
|
|
89
|
+
* Create tool context with bridges
|
|
90
|
+
*/
|
|
91
|
+
export declare function createToolContext(): ToolContext;
|
|
92
|
+
export default legalContractsTools;
|
|
93
|
+
//# sourceMappingURL=mcp-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tools.d.ts","sourceRoot":"","sources":["../src/mcp-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EAMnB,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EAIzB,MAAM,YAAY,CAAC;AAQpB;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CACnF;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACnC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE;QACP,SAAS,EAAE,gBAAgB,CAAC;QAC5B,GAAG,EAAE,UAAU,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,CAAC;CACV;AAMD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CACrC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EACxC,sBAAsB,CA4DvB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAClC,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,EACrC,oBAAoB,CAmErB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CACvC,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,EAC1C,wBAAwB,CA8EzB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CACvC,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,EAC1C,wBAAwB,CAmFzB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CACrC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EACxC,mBAAmB,CAkFpB,CAAC;AA6qBF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,EAMxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,wCAnoCW,WAAW,qCAyoC7C,CAAC;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAW/C;AAED,eAAe,mBAAmB,CAAC"}
|