Document Analysis (DA)
AI-powered document analysis with extraction, scoring, and insights.
Installation
pnpm add @aicr/da-coreQuick Start
import { analyzeDocument, createDAClient } from '@aicr/da-core';
const result = await analyzeDocument({
content: documentText,
templateId: 'comp-plan-review',
options: { extractTables: true, scoreFindings: true }
});
console.log(result.summary);
console.log(result.findings);
console.log(result.score);API Reference
createDAClient(config)
Create a Document Analysis client.
const da = createDAClient({
baseUrl: '/api/da',
apiKey: process.env.DA_API_KEY,
goccClient: gocc // Optional: Trust layer integration
});analyzeDocument(input)
Analyze a document using AI.
interface AnalyzeInput {
content: string | Buffer;
templateId: string; // Analysis template
options?: {
extractTables?: boolean;
extractEntities?: boolean;
scoreFindings?: boolean;
language?: string;
};
metadata?: Record<string, unknown>;
}
interface AnalysisResult {
id: string;
status: 'completed' | 'failed';
summary: string;
findings: Finding[];
entities: Entity[];
tables: Table[];
score?: number;
confidence: number;
processingTime: number;
}Analysis Templates
| Template | Use Case |
|---|---|
comp-plan-review | Compensation plan analysis |
gap-analysis | Gap and compliance analysis |
contract-review | Contract clause extraction |
policy-audit | Policy compliance checking |
HTTP API
POST /api/da/analyze
curl -X POST /api/da/analyze \
-H "Content-Type: application/json" \
-d '{
"content": "document text...",
"templateId": "gap-analysis"
}'GET /api/da/status/:id
curl /api/da/status/analysis-123Integration with GOCC
import { createDAClient } from '@aicr/da-core';
import { createGOCCClient } from '@aicr/gocc-client';
const gocc = createGOCCClient({ baseUrl: '/api/gocc' });
const da = createDAClient({ goccClient: gocc });
// Analysis automatically:
// - Checks policies before processing
// - Redacts PII in outputs
// - Records to audit trail
const result = await da.analyze({
content: sensitiveDocument,
templateId: 'policy-audit'
});