@kweaver-ai/bkn
v0.1.2
Published
BKN SDK - Parse, validate, and transform Business Knowledge Network files
Readme
BKN TypeScript SDK
Parse, validate, and transform BKN (Business Knowledge Network) files.
Installation
From npm (after publish):
npm install @kweaver-ai/bknFrom this monorepo (development):
cd sdk/typescript
npm install
npm run buildUsage
import {
loadNetwork,
parseBkn,
validateNetwork,
generateChecksum,
verifyChecksum,
} from "@kweaver-ai/bkn";
// Load a network directory (auto-discovers network.bkn)
const network = await loadNetwork("examples/k8s-network");
// Parse a single file
const doc = parseBkn(text, { sourcePath: "path/to/file.bkn" });
// Validate network data tables
const result = validateNetwork(network);
if (!result.ok) {
console.error(result.errors);
}
// Generate and verify checksum
await generateChecksum("examples/k8s-network");
const { ok, errors } = await verifyChecksum("examples/k8s-network");API
parseBkn(text, options?)— Parse .bkn/.bknd text into BknDocumentloadBknFile(path, options?)— Load and parse a single fileloadNetwork(pathOrDir, options?)— Load network with includesdiscoverRootFile(directory)— Find network root filevalidateDocument(doc, options?)— Validate document structurevalidateNetwork(network, options?)— Validate all data tablesvalidateDataTable(table, schema?, network?)— Validate a data tablegenerateChecksum(path, options?)— Generate CHECKSUM fileverifyChecksum(path, options?)— Verify CHECKSUM filepackToTar(sourceDir, outputPath, options?)— Pack BKN directory to tar (macOS: COPYFILE_DISABLE=1)
Compatibility
- strict: Follow spec canonical forms
- compat: Accept example drift (
type: knowledge_network,Affect Object→Scope of Impact, etc.)
Tests
npm test