Services SDK
Document Analysis

Document Analysis (DA)

AI-powered document analysis with extraction, scoring, and insights.

Installation

pnpm add @aicr/da-core

Quick 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

TemplateUse Case
comp-plan-reviewCompensation plan analysis
gap-analysisGap and compliance analysis
contract-reviewContract clause extraction
policy-auditPolicy 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-123

Integration 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'
});