@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/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"}