@weavelogic/knowledge-graph-agent 0.3.0 → 0.4.0
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 +290 -3
- package/dist/_virtual/index10.js +2 -2
- package/dist/_virtual/index6.js +2 -2
- package/dist/_virtual/index7.js +2 -2
- package/dist/_virtual/index8.js +2 -2
- package/dist/_virtual/index9.js +2 -2
- package/dist/audit/config.d.ts +150 -0
- package/dist/audit/config.d.ts.map +1 -0
- package/dist/audit/config.js +111 -0
- package/dist/audit/config.js.map +1 -0
- package/dist/audit/index.d.ts +38 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/services/audit-chain.d.ts +276 -0
- package/dist/audit/services/audit-chain.d.ts.map +1 -0
- package/dist/audit/services/audit-chain.js +502 -0
- package/dist/audit/services/audit-chain.js.map +1 -0
- package/dist/audit/services/index.d.ts +11 -0
- package/dist/audit/services/index.d.ts.map +1 -0
- package/dist/audit/services/syndication.d.ts +334 -0
- package/dist/audit/services/syndication.d.ts.map +1 -0
- package/dist/audit/services/syndication.js +589 -0
- package/dist/audit/services/syndication.js.map +1 -0
- package/dist/audit/types.d.ts +453 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/cli/commands/audit.d.ts +21 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +621 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/vector.d.ts +14 -0
- package/dist/cli/commands/vector.d.ts.map +1 -0
- package/dist/cli/commands/vector.js +429 -0
- package/dist/cli/commands/vector.js.map +1 -0
- package/dist/cli/commands/workflow.d.ts +12 -0
- package/dist/cli/commands/workflow.d.ts.map +1 -0
- package/dist/cli/commands/workflow.js +471 -0
- package/dist/cli/commands/workflow.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +26 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/database/schemas/index.d.ts +85 -0
- package/dist/database/schemas/index.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/audit/checkpoint.d.ts +58 -0
- package/dist/mcp-server/tools/audit/checkpoint.d.ts.map +1 -0
- package/dist/mcp-server/tools/audit/checkpoint.js +73 -0
- package/dist/mcp-server/tools/audit/checkpoint.js.map +1 -0
- package/dist/mcp-server/tools/audit/index.d.ts +53 -0
- package/dist/mcp-server/tools/audit/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/audit/index.js +12 -0
- package/dist/mcp-server/tools/audit/index.js.map +1 -0
- package/dist/mcp-server/tools/audit/query.d.ts +58 -0
- package/dist/mcp-server/tools/audit/query.d.ts.map +1 -0
- package/dist/mcp-server/tools/audit/query.js +125 -0
- package/dist/mcp-server/tools/audit/query.js.map +1 -0
- package/dist/mcp-server/tools/audit/sync.d.ts +58 -0
- package/dist/mcp-server/tools/audit/sync.d.ts.map +1 -0
- package/dist/mcp-server/tools/audit/sync.js +126 -0
- package/dist/mcp-server/tools/audit/sync.js.map +1 -0
- package/dist/mcp-server/tools/index.d.ts +3 -0
- package/dist/mcp-server/tools/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/registry.js +90 -0
- package/dist/mcp-server/tools/registry.js.map +1 -1
- package/dist/mcp-server/tools/vector/index.d.ts +12 -0
- package/dist/mcp-server/tools/vector/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/vector/index.js +12 -0
- package/dist/mcp-server/tools/vector/index.js.map +1 -0
- package/dist/mcp-server/tools/vector/search.d.ts +41 -0
- package/dist/mcp-server/tools/vector/search.d.ts.map +1 -0
- package/dist/mcp-server/tools/vector/search.js +224 -0
- package/dist/mcp-server/tools/vector/search.js.map +1 -0
- package/dist/mcp-server/tools/vector/trajectory.d.ts +39 -0
- package/dist/mcp-server/tools/vector/trajectory.d.ts.map +1 -0
- package/dist/mcp-server/tools/vector/trajectory.js +170 -0
- package/dist/mcp-server/tools/vector/trajectory.js.map +1 -0
- package/dist/mcp-server/tools/vector/upsert.d.ts +44 -0
- package/dist/mcp-server/tools/vector/upsert.d.ts.map +1 -0
- package/dist/mcp-server/tools/vector/upsert.js +175 -0
- package/dist/mcp-server/tools/vector/upsert.js.map +1 -0
- package/dist/mcp-server/tools/workflow/index.d.ts +29 -0
- package/dist/mcp-server/tools/workflow/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/workflow/index.js +12 -0
- package/dist/mcp-server/tools/workflow/index.js.map +1 -0
- package/dist/mcp-server/tools/workflow/list.d.ts +41 -0
- package/dist/mcp-server/tools/workflow/list.d.ts.map +1 -0
- package/dist/mcp-server/tools/workflow/list.js +195 -0
- package/dist/mcp-server/tools/workflow/list.js.map +1 -0
- package/dist/mcp-server/tools/workflow/start.d.ts +40 -0
- package/dist/mcp-server/tools/workflow/start.d.ts.map +1 -0
- package/dist/mcp-server/tools/workflow/start.js +165 -0
- package/dist/mcp-server/tools/workflow/start.js.map +1 -0
- package/dist/mcp-server/tools/workflow/status.d.ts +38 -0
- package/dist/mcp-server/tools/workflow/status.d.ts.map +1 -0
- package/dist/mcp-server/tools/workflow/status.js +97 -0
- package/dist/mcp-server/tools/workflow/status.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/index.js +1 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js +1 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +1 -1
- package/dist/vector/config.d.ts +300 -0
- package/dist/vector/config.d.ts.map +1 -0
- package/dist/vector/config.js +124 -0
- package/dist/vector/config.js.map +1 -0
- package/dist/vector/index.d.ts +50 -0
- package/dist/vector/index.d.ts.map +1 -0
- package/dist/vector/services/index.d.ts +13 -0
- package/dist/vector/services/index.d.ts.map +1 -0
- package/dist/vector/services/trajectory-tracker.d.ts +405 -0
- package/dist/vector/services/trajectory-tracker.d.ts.map +1 -0
- package/dist/vector/services/trajectory-tracker.js +445 -0
- package/dist/vector/services/trajectory-tracker.js.map +1 -0
- package/dist/vector/services/vector-store.d.ts +339 -0
- package/dist/vector/services/vector-store.d.ts.map +1 -0
- package/dist/vector/services/vector-store.js +748 -0
- package/dist/vector/services/vector-store.js.map +1 -0
- package/dist/vector/types.d.ts +677 -0
- package/dist/vector/types.d.ts.map +1 -0
- package/dist/workflow/adapters/goap-adapter.d.ts +196 -0
- package/dist/workflow/adapters/goap-adapter.d.ts.map +1 -0
- package/dist/workflow/adapters/goap-adapter.js +706 -0
- package/dist/workflow/adapters/goap-adapter.js.map +1 -0
- package/dist/workflow/adapters/index.d.ts +10 -0
- package/dist/workflow/adapters/index.d.ts.map +1 -0
- package/dist/workflow/config.d.ts +135 -0
- package/dist/workflow/config.d.ts.map +1 -0
- package/dist/workflow/config.js +92 -0
- package/dist/workflow/config.js.map +1 -0
- package/dist/workflow/handlers/index.d.ts +9 -0
- package/dist/workflow/handlers/index.d.ts.map +1 -0
- package/dist/workflow/handlers/webhook-handlers.d.ts +397 -0
- package/dist/workflow/handlers/webhook-handlers.d.ts.map +1 -0
- package/dist/workflow/handlers/webhook-handlers.js +454 -0
- package/dist/workflow/handlers/webhook-handlers.js.map +1 -0
- package/dist/workflow/index.d.ts +42 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/services/index.d.ts +9 -0
- package/dist/workflow/services/index.d.ts.map +1 -0
- package/dist/workflow/services/workflow-service.d.ts +318 -0
- package/dist/workflow/services/workflow-service.d.ts.map +1 -0
- package/dist/workflow/services/workflow-service.js +577 -0
- package/dist/workflow/services/workflow-service.js.map +1 -0
- package/dist/workflow/types.d.ts +470 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/workflows/realtime-collab.d.ts +245 -0
- package/dist/workflow/workflows/realtime-collab.d.ts.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,6 +13,7 @@ A powerful NPM library for creating and managing knowledge graphs for Claude Cod
|
|
|
13
13
|
| 2 | Core Features | Agent system, rules engine, workflows, MCP server |
|
|
14
14
|
| 3 | Advanced Integration | Service management, config migrations, health monitoring |
|
|
15
15
|
| 4 | Enterprise Features | Chunking, backup/recovery, advanced caching, diagnostics |
|
|
16
|
+
| 5 | External Integrations | Workflow DevKit, RuVector semantic search, Exochain audit trail |
|
|
16
17
|
|
|
17
18
|
## Installation
|
|
18
19
|
|
|
@@ -240,7 +241,7 @@ const message = generateCommitMessage(changes);
|
|
|
240
241
|
console.log(message);
|
|
241
242
|
```
|
|
242
243
|
|
|
243
|
-
### MCP Server with
|
|
244
|
+
### MCP Server with 30+ Tools
|
|
244
245
|
|
|
245
246
|
Model Context Protocol server for Claude integration.
|
|
246
247
|
|
|
@@ -261,6 +262,11 @@ npx @weavelogic/knowledge-graph-agent mcp start
|
|
|
261
262
|
| Agents | `kg_agent_spawn`, `kg_agent_list` |
|
|
262
263
|
| System | `kg_health`, `kg_health_check` |
|
|
263
264
|
| Search | `kg_search_nodes`, `kg_search_tags` |
|
|
265
|
+
| Workflow | `kg_workflow_start`, `kg_workflow_status`, `kg_workflow_list` |
|
|
266
|
+
| Vector | `kg_vector_search`, `kg_vector_upsert` |
|
|
267
|
+
| Trajectory | `kg_trajectory_list` |
|
|
268
|
+
| Audit | `kg_audit_query`, `kg_audit_checkpoint` |
|
|
269
|
+
| Sync | `kg_sync_status` |
|
|
264
270
|
|
|
265
271
|
---
|
|
266
272
|
|
|
@@ -579,6 +585,201 @@ kg diag info
|
|
|
579
585
|
|
|
580
586
|
---
|
|
581
587
|
|
|
588
|
+
## Phase 5: External Integrations
|
|
589
|
+
|
|
590
|
+
### Workflow DevKit Integration (useworkflow.dev)
|
|
591
|
+
|
|
592
|
+
Integration with the Workflow DevKit for durable workflow orchestration with Postgres persistence.
|
|
593
|
+
|
|
594
|
+
**Key Concepts:**
|
|
595
|
+
- **Postgres World**: Durable state persistence with transactional guarantees
|
|
596
|
+
- **"use workflow" / "use step" directives**: Declarative workflow definition
|
|
597
|
+
- **DurableAgent**: Agents that survive restarts and can resume from any step
|
|
598
|
+
- **GOAP Planning**: Goal-Oriented Action Planning for intelligent task decomposition
|
|
599
|
+
|
|
600
|
+
```typescript
|
|
601
|
+
import { WorkflowManager } from '@weavelogic/knowledge-graph-agent';
|
|
602
|
+
|
|
603
|
+
const workflow = new WorkflowManager({
|
|
604
|
+
postgres: process.env.DATABASE_URL,
|
|
605
|
+
durableAgents: true,
|
|
606
|
+
});
|
|
607
|
+
|
|
608
|
+
// Start a durable workflow
|
|
609
|
+
const execution = await workflow.start('document-analysis', {
|
|
610
|
+
input: { path: '/docs' },
|
|
611
|
+
resumable: true,
|
|
612
|
+
});
|
|
613
|
+
|
|
614
|
+
// Check workflow status
|
|
615
|
+
const status = await workflow.getStatus(execution.id);
|
|
616
|
+
console.log(`Step ${status.currentStep}/${status.totalSteps}: ${status.state}`);
|
|
617
|
+
|
|
618
|
+
// List active workflows
|
|
619
|
+
const active = await workflow.list({ status: 'running' });
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
**CLI Commands:**
|
|
623
|
+
|
|
624
|
+
| Command | Description |
|
|
625
|
+
|---------|-------------|
|
|
626
|
+
| `kg workflow start <name>` | Start a named workflow |
|
|
627
|
+
| `kg workflow status <id>` | Get workflow execution status |
|
|
628
|
+
| `kg workflow list` | List active workflow executions |
|
|
629
|
+
| `kg workflow resume <id>` | Resume a paused workflow |
|
|
630
|
+
| `kg workflow cancel <id>` | Cancel a running workflow |
|
|
631
|
+
| `kg workflow history <name>` | Show workflow execution history |
|
|
632
|
+
| `kg workflow steps <name>` | List steps in a workflow definition |
|
|
633
|
+
|
|
634
|
+
**MCP Tools:**
|
|
635
|
+
- `kg_workflow_start` - Start a workflow execution
|
|
636
|
+
- `kg_workflow_status` - Get execution status and progress
|
|
637
|
+
- `kg_workflow_list` - List workflows with filtering
|
|
638
|
+
|
|
639
|
+
---
|
|
640
|
+
|
|
641
|
+
### RuVector Integration
|
|
642
|
+
|
|
643
|
+
High-performance semantic vector search with HNSW indexing and trajectory tracking for self-learning agents.
|
|
644
|
+
|
|
645
|
+
**Key Features:**
|
|
646
|
+
- **HNSW Approximate Nearest Neighbor**: Sub-millisecond search on millions of vectors
|
|
647
|
+
- **Hybrid Search**: Combines vector similarity with keyword matching
|
|
648
|
+
- **Trajectory Tracking**: Records decision paths for experience replay
|
|
649
|
+
- **Self-Learning**: Agents improve through trajectory analysis
|
|
650
|
+
|
|
651
|
+
```typescript
|
|
652
|
+
import { VectorStore, TrajectoryTracker } from '@weavelogic/knowledge-graph-agent';
|
|
653
|
+
|
|
654
|
+
// Initialize vector store
|
|
655
|
+
const vectors = new VectorStore({
|
|
656
|
+
dimensions: 1536,
|
|
657
|
+
metric: 'cosine',
|
|
658
|
+
hnswConfig: { m: 16, efConstruction: 200 },
|
|
659
|
+
});
|
|
660
|
+
|
|
661
|
+
// Upsert vectors with metadata
|
|
662
|
+
await vectors.upsert([
|
|
663
|
+
{ id: 'doc-1', values: embedding, metadata: { type: 'concept', tags: ['api'] } },
|
|
664
|
+
]);
|
|
665
|
+
|
|
666
|
+
// Semantic search
|
|
667
|
+
const results = await vectors.search(queryEmbedding, {
|
|
668
|
+
topK: 10,
|
|
669
|
+
filter: { type: 'concept' },
|
|
670
|
+
includeMetadata: true,
|
|
671
|
+
});
|
|
672
|
+
|
|
673
|
+
// Hybrid search (vector + keyword)
|
|
674
|
+
const hybridResults = await vectors.hybridSearch({
|
|
675
|
+
vector: queryEmbedding,
|
|
676
|
+
keywords: ['authentication', 'oauth'],
|
|
677
|
+
alpha: 0.7, // Weight: 70% vector, 30% keyword
|
|
678
|
+
});
|
|
679
|
+
|
|
680
|
+
// Trajectory tracking for self-learning
|
|
681
|
+
const tracker = new TrajectoryTracker();
|
|
682
|
+
tracker.recordStep({
|
|
683
|
+
state: { context: 'user-query' },
|
|
684
|
+
action: 'search-knowledge-graph',
|
|
685
|
+
reward: 0.8,
|
|
686
|
+
nextState: { context: 'results-found' },
|
|
687
|
+
});
|
|
688
|
+
|
|
689
|
+
const trajectories = tracker.list({ minReward: 0.7 });
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
**CLI Commands:**
|
|
693
|
+
|
|
694
|
+
| Command | Description |
|
|
695
|
+
|---------|-------------|
|
|
696
|
+
| `kg vector search <query>` | Semantic search across knowledge graph |
|
|
697
|
+
| `kg vector upsert <file>` | Add/update vectors from file |
|
|
698
|
+
| `kg vector delete <ids>` | Delete vectors by ID |
|
|
699
|
+
| `kg vector stats` | Show vector index statistics |
|
|
700
|
+
| `kg trajectory list` | List recorded trajectories |
|
|
701
|
+
| `kg trajectory analyze` | Analyze trajectory patterns |
|
|
702
|
+
| `kg trajectory export` | Export trajectories for training |
|
|
703
|
+
| `kg trajectory prune` | Remove low-value trajectories |
|
|
704
|
+
|
|
705
|
+
**MCP Tools:**
|
|
706
|
+
- `kg_vector_search` - Semantic search with filters
|
|
707
|
+
- `kg_vector_upsert` - Add or update vectors
|
|
708
|
+
- `kg_trajectory_list` - List agent trajectories
|
|
709
|
+
|
|
710
|
+
---
|
|
711
|
+
|
|
712
|
+
### Exochain Integration
|
|
713
|
+
|
|
714
|
+
Cryptographically verifiable audit trail with DAG-BFT consensus for distributed knowledge graph operations.
|
|
715
|
+
|
|
716
|
+
**Key Features:**
|
|
717
|
+
- **DAG-BFT Consensus**: Byzantine Fault Tolerant ordering without leader
|
|
718
|
+
- **Hybrid Logical Clocks (HLC)**: Causally consistent timestamps
|
|
719
|
+
- **BLAKE3 Hashing**: Fast cryptographic content addressing
|
|
720
|
+
- **Ed25519 Signatures**: Agent-signed operations
|
|
721
|
+
- **Syndication**: Replicate audit logs across nodes
|
|
722
|
+
|
|
723
|
+
```typescript
|
|
724
|
+
import { AuditTrail, SyncManager } from '@weavelogic/knowledge-graph-agent';
|
|
725
|
+
|
|
726
|
+
// Initialize audit trail
|
|
727
|
+
const audit = new AuditTrail({
|
|
728
|
+
signingKey: process.env.AGENT_PRIVATE_KEY,
|
|
729
|
+
hlcEnabled: true,
|
|
730
|
+
dagBftQuorum: 3,
|
|
731
|
+
});
|
|
732
|
+
|
|
733
|
+
// Record an audited operation
|
|
734
|
+
const checkpoint = await audit.checkpoint({
|
|
735
|
+
operation: 'node_created',
|
|
736
|
+
nodeId: 'concept-123',
|
|
737
|
+
agent: 'coder-agent',
|
|
738
|
+
data: { title: 'Authentication Flow' },
|
|
739
|
+
});
|
|
740
|
+
|
|
741
|
+
console.log(`Checkpoint: ${checkpoint.hash}`);
|
|
742
|
+
console.log(`HLC: ${checkpoint.hlc}`);
|
|
743
|
+
console.log(`Signature: ${checkpoint.signature}`);
|
|
744
|
+
|
|
745
|
+
// Query audit trail
|
|
746
|
+
const history = await audit.query({
|
|
747
|
+
nodeId: 'concept-123',
|
|
748
|
+
since: '2024-01-01',
|
|
749
|
+
operations: ['node_created', 'node_updated'],
|
|
750
|
+
});
|
|
751
|
+
|
|
752
|
+
// Sync with remote nodes
|
|
753
|
+
const sync = new SyncManager({
|
|
754
|
+
peers: ['node1.example.com', 'node2.example.com'],
|
|
755
|
+
syndication: true,
|
|
756
|
+
});
|
|
757
|
+
|
|
758
|
+
const status = await sync.getStatus();
|
|
759
|
+
console.log(`Synced: ${status.lastSyncedHash}`);
|
|
760
|
+
console.log(`Peers: ${status.connectedPeers}/${status.totalPeers}`);
|
|
761
|
+
```
|
|
762
|
+
|
|
763
|
+
**CLI Commands:**
|
|
764
|
+
|
|
765
|
+
| Command | Description |
|
|
766
|
+
|---------|-------------|
|
|
767
|
+
| `kg audit query` | Query audit trail with filters |
|
|
768
|
+
| `kg audit checkpoint` | Create a manual checkpoint |
|
|
769
|
+
| `kg audit verify <hash>` | Verify checkpoint integrity |
|
|
770
|
+
| `kg audit export` | Export audit log |
|
|
771
|
+
| `kg audit stats` | Show audit trail statistics |
|
|
772
|
+
| `kg sync status` | Show synchronization status |
|
|
773
|
+
| `kg sync peers` | List connected peers |
|
|
774
|
+
| `kg sync force` | Force synchronization |
|
|
775
|
+
|
|
776
|
+
**MCP Tools:**
|
|
777
|
+
- `kg_audit_query` - Query audit trail
|
|
778
|
+
- `kg_audit_checkpoint` - Create checkpoint
|
|
779
|
+
- `kg_sync_status` - Get sync status
|
|
780
|
+
|
|
781
|
+
---
|
|
782
|
+
|
|
582
783
|
## CLI Commands Reference
|
|
583
784
|
|
|
584
785
|
### Initialization
|
|
@@ -668,6 +869,54 @@ kg diag info
|
|
|
668
869
|
| `kg diag backup --list` | List existing backups |
|
|
669
870
|
| `kg diag info` | Show system information |
|
|
670
871
|
|
|
872
|
+
### Workflow (Phase 5)
|
|
873
|
+
|
|
874
|
+
| Command | Description |
|
|
875
|
+
|---------|-------------|
|
|
876
|
+
| `kg workflow start <name>` | Start a named workflow |
|
|
877
|
+
| `kg workflow status <id>` | Get workflow execution status |
|
|
878
|
+
| `kg workflow list` | List active workflow executions |
|
|
879
|
+
| `kg workflow resume <id>` | Resume a paused workflow |
|
|
880
|
+
| `kg workflow cancel <id>` | Cancel a running workflow |
|
|
881
|
+
| `kg workflow history <name>` | Show workflow execution history |
|
|
882
|
+
| `kg workflow steps <name>` | List steps in a workflow definition |
|
|
883
|
+
|
|
884
|
+
### Vector Search (Phase 5)
|
|
885
|
+
|
|
886
|
+
| Command | Description |
|
|
887
|
+
|---------|-------------|
|
|
888
|
+
| `kg vector search <query>` | Semantic search across knowledge graph |
|
|
889
|
+
| `kg vector upsert <file>` | Add/update vectors from file |
|
|
890
|
+
| `kg vector delete <ids>` | Delete vectors by ID |
|
|
891
|
+
| `kg vector stats` | Show vector index statistics |
|
|
892
|
+
|
|
893
|
+
### Trajectory (Phase 5)
|
|
894
|
+
|
|
895
|
+
| Command | Description |
|
|
896
|
+
|---------|-------------|
|
|
897
|
+
| `kg trajectory list` | List recorded trajectories |
|
|
898
|
+
| `kg trajectory analyze` | Analyze trajectory patterns |
|
|
899
|
+
| `kg trajectory export` | Export trajectories for training |
|
|
900
|
+
| `kg trajectory prune` | Remove low-value trajectories |
|
|
901
|
+
|
|
902
|
+
### Audit Trail (Phase 5)
|
|
903
|
+
|
|
904
|
+
| Command | Description |
|
|
905
|
+
|---------|-------------|
|
|
906
|
+
| `kg audit query` | Query audit trail with filters |
|
|
907
|
+
| `kg audit checkpoint` | Create a manual checkpoint |
|
|
908
|
+
| `kg audit verify <hash>` | Verify checkpoint integrity |
|
|
909
|
+
| `kg audit export` | Export audit log |
|
|
910
|
+
| `kg audit stats` | Show audit trail statistics |
|
|
911
|
+
|
|
912
|
+
### Synchronization (Phase 5)
|
|
913
|
+
|
|
914
|
+
| Command | Description |
|
|
915
|
+
|---------|-------------|
|
|
916
|
+
| `kg sync status` | Show synchronization status |
|
|
917
|
+
| `kg sync peers` | List connected peers |
|
|
918
|
+
| `kg sync force` | Force synchronization |
|
|
919
|
+
|
|
671
920
|
---
|
|
672
921
|
|
|
673
922
|
## Configuration
|
|
@@ -762,10 +1011,27 @@ import {
|
|
|
762
1011
|
// Reasoning
|
|
763
1012
|
createDecisionTracker,
|
|
764
1013
|
|
|
1014
|
+
// Phase 5 - Workflow DevKit
|
|
1015
|
+
WorkflowManager,
|
|
1016
|
+
DurableAgent,
|
|
1017
|
+
GOAPPlanner,
|
|
1018
|
+
|
|
1019
|
+
// Phase 5 - RuVector
|
|
1020
|
+
VectorStore,
|
|
1021
|
+
TrajectoryTracker,
|
|
1022
|
+
|
|
1023
|
+
// Phase 5 - Exochain
|
|
1024
|
+
AuditTrail,
|
|
1025
|
+
SyncManager,
|
|
1026
|
+
|
|
765
1027
|
// Types
|
|
766
1028
|
type KGConfiguration,
|
|
767
1029
|
type AgentConfig,
|
|
768
1030
|
type ChunkOptions,
|
|
1031
|
+
type WorkflowExecution,
|
|
1032
|
+
type VectorSearchResult,
|
|
1033
|
+
type Trajectory,
|
|
1034
|
+
type AuditCheckpoint,
|
|
769
1035
|
} from '@weavelogic/knowledge-graph-agent';
|
|
770
1036
|
```
|
|
771
1037
|
|
|
@@ -773,6 +1039,24 @@ import {
|
|
|
773
1039
|
|
|
774
1040
|
## Changelog
|
|
775
1041
|
|
|
1042
|
+
### v0.5.0 (Phase 5 - External Integrations)
|
|
1043
|
+
|
|
1044
|
+
- **NEW**: Workflow DevKit integration with MCP tools and CLI commands
|
|
1045
|
+
- `WorkflowManager` with Postgres World persistence
|
|
1046
|
+
- DurableAgent support for resumable workflows
|
|
1047
|
+
- GOAP planning for intelligent task decomposition
|
|
1048
|
+
- **NEW**: RuVector semantic search with trajectory tracking
|
|
1049
|
+
- `VectorStore` with HNSW approximate nearest neighbor search
|
|
1050
|
+
- Hybrid search combining vector similarity and keyword matching
|
|
1051
|
+
- `TrajectoryTracker` for self-learning agents
|
|
1052
|
+
- **NEW**: Exochain audit trail with DAG-BFT consensus
|
|
1053
|
+
- `AuditTrail` with Hybrid Logical Clocks (HLC)
|
|
1054
|
+
- BLAKE3 hashing and Ed25519 signatures
|
|
1055
|
+
- `SyncManager` for peer syndication
|
|
1056
|
+
- **NEW**: 9 new MCP tools (`kg_workflow_start`, `kg_workflow_status`, `kg_workflow_list`, `kg_vector_search`, `kg_vector_upsert`, `kg_trajectory_list`, `kg_audit_query`, `kg_audit_checkpoint`, `kg_sync_status`)
|
|
1057
|
+
- **NEW**: 22 new CLI subcommands across `workflow`, `vector`, `trajectory`, `audit`, and `sync` command groups
|
|
1058
|
+
- **NEW**: 249 new integration tests for external integrations
|
|
1059
|
+
|
|
776
1060
|
### v0.4.0 (Phase 4 - Enterprise Features)
|
|
777
1061
|
|
|
778
1062
|
- **NEW**: `Chunker` with 5 chunking strategies (fixed, semantic, markdown, code, adaptive)
|
|
@@ -817,14 +1101,17 @@ import {
|
|
|
817
1101
|
|
|
818
1102
|
## Roadmap
|
|
819
1103
|
|
|
1104
|
+
### Completed Features
|
|
1105
|
+
|
|
1106
|
+
- [x] Real-time collaboration support (implemented via webhook handlers in v0.5.0)
|
|
1107
|
+
- [x] Webhook integrations (implemented in v0.5.0)
|
|
1108
|
+
|
|
820
1109
|
### Planned Features
|
|
821
1110
|
|
|
822
|
-
- [ ] Real-time collaboration support
|
|
823
1111
|
- [ ] Plugin system for custom analyzers
|
|
824
1112
|
- [ ] GraphQL API for queries
|
|
825
1113
|
- [ ] Web dashboard for visualization
|
|
826
1114
|
- [ ] Distributed caching with Redis
|
|
827
|
-
- [ ] Webhook integrations
|
|
828
1115
|
|
|
829
1116
|
### Deprecated Features
|
|
830
1117
|
|
package/dist/_virtual/index10.js
CHANGED
package/dist/_virtual/index6.js
CHANGED
package/dist/_virtual/index7.js
CHANGED
package/dist/_virtual/index8.js
CHANGED
package/dist/_virtual/index9.js
CHANGED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exochain Audit Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration for deterministic logging with DAG-BFT consensus.
|
|
5
|
+
* Supports multiple backends: file, postgres, and memory.
|
|
6
|
+
*
|
|
7
|
+
* @module audit/config
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Storage backend types for audit chain.
|
|
11
|
+
* - `file`: Local file-based storage with rotation support
|
|
12
|
+
* - `postgres`: PostgreSQL database with schema isolation
|
|
13
|
+
* - `memory`: In-memory storage for testing/development
|
|
14
|
+
*/
|
|
15
|
+
export type AuditBackend = 'file' | 'postgres' | 'memory';
|
|
16
|
+
/**
|
|
17
|
+
* Consensus mechanism types for achieving finality.
|
|
18
|
+
* - `proof-of-learning`: Learning-based consensus for AI agents
|
|
19
|
+
* - `byzantine`: Classical BFT consensus (2f+1 validators)
|
|
20
|
+
* - `raft`: Leader-based consensus for simpler setups
|
|
21
|
+
* - `gossip`: Epidemic-style eventual consistency
|
|
22
|
+
* - `none`: No consensus, single-agent mode
|
|
23
|
+
*/
|
|
24
|
+
export type ConsensusType = 'proof-of-learning' | 'byzantine' | 'raft' | 'gossip' | 'none';
|
|
25
|
+
/**
|
|
26
|
+
* File backend configuration options.
|
|
27
|
+
*/
|
|
28
|
+
export interface FileBackendConfig {
|
|
29
|
+
/** Directory for storing audit chain data */
|
|
30
|
+
dataDir: string;
|
|
31
|
+
/** Maximum file size in bytes before rotation (default: 10MB) */
|
|
32
|
+
maxFileSize?: number;
|
|
33
|
+
/** Number of events before rotating to new file */
|
|
34
|
+
rotateAfterEvents?: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* PostgreSQL backend configuration options.
|
|
38
|
+
*/
|
|
39
|
+
export interface PostgresBackendConfig {
|
|
40
|
+
/** PostgreSQL connection string */
|
|
41
|
+
connectionString: string;
|
|
42
|
+
/** Database schema for audit tables */
|
|
43
|
+
schema: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Audit chain configuration defining storage, consensus, and syndication settings.
|
|
47
|
+
*/
|
|
48
|
+
export interface AuditChainConfig {
|
|
49
|
+
/** Storage backend type */
|
|
50
|
+
backend: AuditBackend;
|
|
51
|
+
/** Agent's DID (Decentralized Identifier) for event signing */
|
|
52
|
+
agentDid: string;
|
|
53
|
+
/** Ed25519 private key for signing (64-byte hex string) */
|
|
54
|
+
privateKey?: string;
|
|
55
|
+
/** Enable consensus mechanism for finality */
|
|
56
|
+
enableConsensus: boolean;
|
|
57
|
+
/** Type of consensus mechanism to use */
|
|
58
|
+
consensusType: ConsensusType;
|
|
59
|
+
/** Number of events between checkpoints */
|
|
60
|
+
checkpointInterval: number;
|
|
61
|
+
/** File backend configuration (required if backend is 'file') */
|
|
62
|
+
file?: FileBackendConfig;
|
|
63
|
+
/** PostgreSQL backend configuration (required if backend is 'postgres') */
|
|
64
|
+
postgres?: PostgresBackendConfig;
|
|
65
|
+
/** Peer endpoints for event syndication */
|
|
66
|
+
peers?: string[];
|
|
67
|
+
/** Enable automatic peer syndication */
|
|
68
|
+
enableSyndication: boolean;
|
|
69
|
+
/** Interval between syndication attempts in milliseconds */
|
|
70
|
+
syndicationInterval?: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Default checkpoint interval (every 100 events).
|
|
74
|
+
*/
|
|
75
|
+
export declare const DEFAULT_CHECKPOINT_INTERVAL = 100;
|
|
76
|
+
/**
|
|
77
|
+
* Default syndication interval (5 minutes).
|
|
78
|
+
*/
|
|
79
|
+
export declare const DEFAULT_SYNDICATION_INTERVAL: number;
|
|
80
|
+
/**
|
|
81
|
+
* Default maximum file size for file backend (10MB).
|
|
82
|
+
*/
|
|
83
|
+
export declare const DEFAULT_MAX_FILE_SIZE: number;
|
|
84
|
+
/**
|
|
85
|
+
* Default number of events before file rotation.
|
|
86
|
+
*/
|
|
87
|
+
export declare const DEFAULT_ROTATE_AFTER_EVENTS = 10000;
|
|
88
|
+
/**
|
|
89
|
+
* Create audit chain configuration from environment variables.
|
|
90
|
+
*
|
|
91
|
+
* Environment variables:
|
|
92
|
+
* - `EXOCHAIN_BACKEND`: Storage backend (file|postgres|memory)
|
|
93
|
+
* - `EXOCHAIN_AGENT_DID`: Agent's decentralized identifier
|
|
94
|
+
* - `EXOCHAIN_PRIVATE_KEY`: Ed25519 private key for signing
|
|
95
|
+
* - `EXOCHAIN_ENABLE_CONSENSUS`: Enable consensus (true|false)
|
|
96
|
+
* - `EXOCHAIN_CONSENSUS_TYPE`: Consensus mechanism type
|
|
97
|
+
* - `EXOCHAIN_CHECKPOINT_INTERVAL`: Events between checkpoints
|
|
98
|
+
* - `EXOCHAIN_ENABLE_SYNDICATION`: Enable peer syndication
|
|
99
|
+
* - `EXOCHAIN_SYNDICATION_INTERVAL`: Syndication interval in ms
|
|
100
|
+
* - `EXOCHAIN_PEER_ENDPOINTS`: Comma-separated peer URLs
|
|
101
|
+
* - `EXOCHAIN_DATA_DIR`: Data directory for file backend
|
|
102
|
+
* - `EXOCHAIN_MAX_FILE_SIZE`: Max file size for file backend
|
|
103
|
+
* - `EXOCHAIN_ROTATE_AFTER_EVENTS`: Events before file rotation
|
|
104
|
+
* - `DATABASE_URL`: PostgreSQL connection string
|
|
105
|
+
* - `EXOCHAIN_SCHEMA`: PostgreSQL schema name
|
|
106
|
+
*
|
|
107
|
+
* @returns Fully populated AuditChainConfig
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* // Set environment variables
|
|
112
|
+
* process.env.EXOCHAIN_BACKEND = 'file';
|
|
113
|
+
* process.env.EXOCHAIN_DATA_DIR = './audit-data';
|
|
114
|
+
*
|
|
115
|
+
* const config = createAuditChainConfig();
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export declare function createAuditChainConfig(): AuditChainConfig;
|
|
119
|
+
/**
|
|
120
|
+
* Validation result for audit chain configuration.
|
|
121
|
+
*/
|
|
122
|
+
export interface ConfigValidationResult {
|
|
123
|
+
/** Whether the configuration is valid */
|
|
124
|
+
valid: boolean;
|
|
125
|
+
/** List of validation error messages */
|
|
126
|
+
errors: string[];
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Validate audit chain configuration for completeness and consistency.
|
|
130
|
+
*
|
|
131
|
+
* @param config - The configuration to validate
|
|
132
|
+
* @returns Validation result with errors if invalid
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* const config = createAuditChainConfig();
|
|
137
|
+
* const result = validateAuditChainConfig(config);
|
|
138
|
+
*
|
|
139
|
+
* if (!result.valid) {
|
|
140
|
+
* console.error('Configuration errors:', result.errors);
|
|
141
|
+
* }
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
export declare function validateAuditChainConfig(config: AuditChainConfig): ConfigValidationResult;
|
|
145
|
+
/**
|
|
146
|
+
* Default configuration created from environment variables.
|
|
147
|
+
* This is a convenience export for simple use cases.
|
|
148
|
+
*/
|
|
149
|
+
export declare const defaultConfig: AuditChainConfig;
|
|
150
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/audit/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,OAAO,EAAE,YAAY,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,eAAe,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,aAAa,EAAE,aAAa,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,wCAAwC;IACxC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAgB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAmBjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAgDzD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,wCAAwC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,sBAAsB,CA2DzF;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,kBAA2B,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
const DEFAULT_CHECKPOINT_INTERVAL = 100;
|
|
2
|
+
const DEFAULT_SYNDICATION_INTERVAL = 5 * 60 * 1e3;
|
|
3
|
+
const DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
4
|
+
const DEFAULT_ROTATE_AFTER_EVENTS = 1e4;
|
|
5
|
+
function generateDefaultDid() {
|
|
6
|
+
const timestamp = Date.now().toString(36);
|
|
7
|
+
const random = Math.random().toString(36).substring(2, 10);
|
|
8
|
+
return `did:exo:agent-${timestamp}${random}`;
|
|
9
|
+
}
|
|
10
|
+
function createAuditChainConfig() {
|
|
11
|
+
const backend = process.env.EXOCHAIN_BACKEND || "memory";
|
|
12
|
+
const baseConfig = {
|
|
13
|
+
backend,
|
|
14
|
+
agentDid: process.env.EXOCHAIN_AGENT_DID || generateDefaultDid(),
|
|
15
|
+
privateKey: process.env.EXOCHAIN_PRIVATE_KEY,
|
|
16
|
+
enableConsensus: process.env.EXOCHAIN_ENABLE_CONSENSUS === "true",
|
|
17
|
+
consensusType: process.env.EXOCHAIN_CONSENSUS_TYPE || "none",
|
|
18
|
+
checkpointInterval: parseInt(
|
|
19
|
+
process.env.EXOCHAIN_CHECKPOINT_INTERVAL || String(DEFAULT_CHECKPOINT_INTERVAL),
|
|
20
|
+
10
|
|
21
|
+
),
|
|
22
|
+
enableSyndication: process.env.EXOCHAIN_ENABLE_SYNDICATION === "true",
|
|
23
|
+
syndicationInterval: parseInt(
|
|
24
|
+
process.env.EXOCHAIN_SYNDICATION_INTERVAL || String(DEFAULT_SYNDICATION_INTERVAL),
|
|
25
|
+
10
|
|
26
|
+
),
|
|
27
|
+
peers: process.env.EXOCHAIN_PEER_ENDPOINTS?.split(",").filter(Boolean) || []
|
|
28
|
+
};
|
|
29
|
+
switch (backend) {
|
|
30
|
+
case "file":
|
|
31
|
+
return {
|
|
32
|
+
...baseConfig,
|
|
33
|
+
file: {
|
|
34
|
+
dataDir: process.env.EXOCHAIN_DATA_DIR || ".exochain",
|
|
35
|
+
maxFileSize: parseInt(
|
|
36
|
+
process.env.EXOCHAIN_MAX_FILE_SIZE || String(DEFAULT_MAX_FILE_SIZE),
|
|
37
|
+
10
|
|
38
|
+
),
|
|
39
|
+
rotateAfterEvents: parseInt(
|
|
40
|
+
process.env.EXOCHAIN_ROTATE_AFTER_EVENTS || String(DEFAULT_ROTATE_AFTER_EVENTS),
|
|
41
|
+
10
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
case "postgres":
|
|
46
|
+
return {
|
|
47
|
+
...baseConfig,
|
|
48
|
+
postgres: {
|
|
49
|
+
connectionString: process.env.DATABASE_URL || "postgres://localhost:5432/kg_agent",
|
|
50
|
+
schema: process.env.EXOCHAIN_SCHEMA || "exochain"
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
default:
|
|
54
|
+
return baseConfig;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function validateAuditChainConfig(config) {
|
|
58
|
+
const errors = [];
|
|
59
|
+
if (!config.agentDid) {
|
|
60
|
+
errors.push("Agent DID is required");
|
|
61
|
+
} else if (!config.agentDid.startsWith("did:")) {
|
|
62
|
+
errors.push('Agent DID must be a valid DID (starting with "did:")');
|
|
63
|
+
}
|
|
64
|
+
if (config.backend === "file") {
|
|
65
|
+
if (!config.file?.dataDir) {
|
|
66
|
+
errors.push("File data directory is required for file backend");
|
|
67
|
+
}
|
|
68
|
+
if (config.file?.maxFileSize !== void 0 && config.file.maxFileSize <= 0) {
|
|
69
|
+
errors.push("Max file size must be positive");
|
|
70
|
+
}
|
|
71
|
+
if (config.file?.rotateAfterEvents !== void 0 && config.file.rotateAfterEvents <= 0) {
|
|
72
|
+
errors.push("Rotate after events must be positive");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (config.backend === "postgres") {
|
|
76
|
+
if (!config.postgres?.connectionString) {
|
|
77
|
+
errors.push("PostgreSQL connection string is required for postgres backend");
|
|
78
|
+
}
|
|
79
|
+
if (!config.postgres?.schema) {
|
|
80
|
+
errors.push("PostgreSQL schema is required for postgres backend");
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (config.enableConsensus && config.consensusType === "none") {
|
|
84
|
+
errors.push("Consensus type must be specified when consensus is enabled");
|
|
85
|
+
}
|
|
86
|
+
if (config.enableSyndication && (!config.peers || config.peers.length === 0)) {
|
|
87
|
+
errors.push("At least one peer is required for syndication");
|
|
88
|
+
}
|
|
89
|
+
if (config.checkpointInterval <= 0) {
|
|
90
|
+
errors.push("Checkpoint interval must be positive");
|
|
91
|
+
}
|
|
92
|
+
if (config.syndicationInterval !== void 0 && config.syndicationInterval <= 0) {
|
|
93
|
+
errors.push("Syndication interval must be positive");
|
|
94
|
+
}
|
|
95
|
+
if (config.privateKey !== void 0) {
|
|
96
|
+
if (!/^[0-9a-fA-F]{128}$/.test(config.privateKey)) {
|
|
97
|
+
errors.push("Private key must be a 64-byte hex string (128 characters)");
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return { valid: errors.length === 0, errors };
|
|
101
|
+
}
|
|
102
|
+
createAuditChainConfig();
|
|
103
|
+
export {
|
|
104
|
+
DEFAULT_CHECKPOINT_INTERVAL,
|
|
105
|
+
DEFAULT_MAX_FILE_SIZE,
|
|
106
|
+
DEFAULT_ROTATE_AFTER_EVENTS,
|
|
107
|
+
DEFAULT_SYNDICATION_INTERVAL,
|
|
108
|
+
createAuditChainConfig,
|
|
109
|
+
validateAuditChainConfig
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=config.js.map
|