@weavelogic/knowledge-graph-agent 0.9.0 → 0.10.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/README.md +166 -2
- package/dist/_virtual/index10.js +2 -2
- package/dist/_virtual/index11.js +2 -2
- package/dist/_virtual/index8.js +2 -2
- package/dist/_virtual/index9.js +2 -2
- package/dist/claude/hook-capture.d.ts +209 -0
- package/dist/claude/hook-capture.d.ts.map +1 -0
- package/dist/claude/hook-capture.js +792 -0
- package/dist/claude/hook-capture.js.map +1 -0
- package/dist/claude/index.d.ts +15 -0
- package/dist/claude/index.d.ts.map +1 -0
- package/dist/claude/types.d.ts +1054 -0
- package/dist/claude/types.d.ts.map +1 -0
- package/dist/claude/types.js +61 -0
- package/dist/claude/types.js.map +1 -0
- package/dist/cli/commands/analyze.js +3 -3
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/convert.js +1 -1
- package/dist/cli/commands/convert.js.map +1 -1
- package/dist/cli/commands/hooks.d.ts +11 -0
- package/dist/cli/commands/hooks.d.ts.map +1 -0
- package/dist/cli/commands/hooks.js +282 -0
- package/dist/cli/commands/hooks.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +9 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/generators/docs-analyzer.d.ts +2 -2
- package/dist/generators/docs-analyzer.d.ts.map +1 -1
- package/dist/generators/docs-analyzer.js +1 -1
- package/dist/generators/docs-analyzer.js.map +1 -1
- package/dist/generators/docs-convert.d.ts +1 -1
- package/dist/generators/docs-convert.d.ts.map +1 -1
- package/dist/generators/docs-convert.js +1 -1
- package/dist/generators/docs-convert.js.map +1 -1
- package/dist/node_modules/@typescript-eslint/project-service/dist/index.js +1 -1
- package/dist/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/dist/commonjs/index.js +1 -1
- package/dist/node_modules/fdir/dist/index.js +1 -1
- package/dist/node_modules/tinyglobby/dist/index.js +1 -1
- package/dist/node_modules/ts-api-utils/lib/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,8 +10,9 @@ A powerful NPM library for creating and managing knowledge graphs for Claude Cod
|
|
|
10
10
|
| Category | Features |
|
|
11
11
|
|----------|----------|
|
|
12
12
|
| **Core** | Knowledge graph generation, Obsidian integration, CLAUDE.md management |
|
|
13
|
-
| **Cultivation** | Codebase analysis, seed generation, deep analysis with claude-flow |
|
|
13
|
+
| **Cultivation** | Codebase analysis, seed generation, deep analysis with claude-flow, doc cultivation |
|
|
14
14
|
| **Agents** | Multi-agent system, rules engine, workflows, MCP server with 30+ tools |
|
|
15
|
+
| **Claude Hooks** | Capture all interactions, hierarchical storage, sub-agent tracking, swarm tracking |
|
|
15
16
|
| **Services** | Service management, config migrations, health monitoring |
|
|
16
17
|
| **Enterprise** | Chunking, backup/recovery, advanced caching, diagnostics |
|
|
17
18
|
| **Integrations** | Workflow DevKit, RuVector semantic search, Exochain audit trail |
|
|
@@ -431,6 +432,110 @@ npx @weavelogic/knowledge-graph-agent mcp start
|
|
|
431
432
|
|
|
432
433
|
---
|
|
433
434
|
|
|
435
|
+
## Claude Code Hooks
|
|
436
|
+
|
|
437
|
+
Capture all Claude Code interactions and store them in a hierarchical knowledge graph structure.
|
|
438
|
+
|
|
439
|
+
### Installation
|
|
440
|
+
|
|
441
|
+
```bash
|
|
442
|
+
# Install hooks to capture all interactions
|
|
443
|
+
kg hooks install
|
|
444
|
+
|
|
445
|
+
# Check hooks status
|
|
446
|
+
kg hooks status
|
|
447
|
+
|
|
448
|
+
# View captured sessions
|
|
449
|
+
kg hooks sessions
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
### Features
|
|
453
|
+
|
|
454
|
+
- **Hierarchical Storage**: Sessions → Conversations → Messages → Tool Calls
|
|
455
|
+
- **Sub-Agent Tracking**: Automatically tracks Task tool spawns
|
|
456
|
+
- **Swarm Tracking**: Captures claude-flow swarm operations
|
|
457
|
+
- **Markdown Generation**: Creates documentation for all interactions
|
|
458
|
+
- **Tool Output Separation**: Stores tool outputs in dedicated files
|
|
459
|
+
|
|
460
|
+
### Hook Events Captured
|
|
461
|
+
|
|
462
|
+
| Event | Description |
|
|
463
|
+
|-------|-------------|
|
|
464
|
+
| `UserPromptSubmit` | All user prompts |
|
|
465
|
+
| `PreToolUse` | Tool invocations with inputs |
|
|
466
|
+
| `PostToolUse` | Tool results and outputs |
|
|
467
|
+
| `Stop` | Session completion |
|
|
468
|
+
| `PreCompact` | Before context compaction |
|
|
469
|
+
|
|
470
|
+
### Storage Structure
|
|
471
|
+
|
|
472
|
+
```
|
|
473
|
+
.kg/claude/
|
|
474
|
+
├── sessions/ # JSON session data
|
|
475
|
+
├── agents/ # Sub-agent tracking
|
|
476
|
+
├── tool-outputs/ # Separated tool outputs
|
|
477
|
+
├── docs/
|
|
478
|
+
│ ├── sessions/ # Session markdown docs
|
|
479
|
+
│ ├── conversations/ # Conversation logs
|
|
480
|
+
│ └── agents/ # Sub-agent markdown docs
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
### Programmatic Usage
|
|
484
|
+
|
|
485
|
+
```typescript
|
|
486
|
+
import { HookCaptureSystem, generateHookConfig } from '@weavelogic/knowledge-graph-agent';
|
|
487
|
+
|
|
488
|
+
// Create capture system
|
|
489
|
+
const capture = new HookCaptureSystem('/project', {
|
|
490
|
+
createMarkdown: true,
|
|
491
|
+
separateToolOutputs: true,
|
|
492
|
+
captureSubAgents: true,
|
|
493
|
+
captureSwarms: true,
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
// Start a session
|
|
497
|
+
const session = capture.startSession('Development Session', 'Feature implementation');
|
|
498
|
+
|
|
499
|
+
// Handle hook events
|
|
500
|
+
capture.handleHookEvent({
|
|
501
|
+
event: 'UserPromptSubmit',
|
|
502
|
+
timestamp: new Date().toISOString(),
|
|
503
|
+
userPrompt: 'Help me implement...',
|
|
504
|
+
});
|
|
505
|
+
|
|
506
|
+
// End session
|
|
507
|
+
const completedSession = capture.endSession();
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
512
|
+
## Document Cultivation
|
|
513
|
+
|
|
514
|
+
Automatically build out comprehensive documentation using claude-flow swarm orchestration.
|
|
515
|
+
|
|
516
|
+
### Usage
|
|
517
|
+
|
|
518
|
+
```bash
|
|
519
|
+
# Cultivate documentation with swarm agents
|
|
520
|
+
kg cultivate --path /project
|
|
521
|
+
|
|
522
|
+
# Include SOP compliance analysis
|
|
523
|
+
kg cultivate --include-sops
|
|
524
|
+
|
|
525
|
+
# Dry run to preview
|
|
526
|
+
kg cultivate --dry-run
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
### Features
|
|
530
|
+
|
|
531
|
+
- **7-Phase Cultivation Process**: Structure analysis through completion
|
|
532
|
+
- **Development Planning**: Generates phased development plans
|
|
533
|
+
- **Infrastructure Planning**: Creates dev/staging/production infrastructure plans
|
|
534
|
+
- **SOP Compliance**: Integrates AI-SDLC SOP analysis
|
|
535
|
+
- **Swarm Orchestration**: Uses claude-flow for parallel documentation generation
|
|
536
|
+
|
|
537
|
+
---
|
|
538
|
+
|
|
434
539
|
## Enterprise Features
|
|
435
540
|
|
|
436
541
|
### Chunker for Large Documents
|
|
@@ -592,13 +697,25 @@ const execution = await workflow.start('document-analysis', {
|
|
|
592
697
|
| `kg dashboard serve` | Serve production build |
|
|
593
698
|
| `kg dashboard status` | Check dashboard status |
|
|
594
699
|
|
|
595
|
-
### Documentation
|
|
700
|
+
### Documentation & Cultivation
|
|
596
701
|
|
|
597
702
|
| Command | Description |
|
|
598
703
|
|---------|-------------|
|
|
599
704
|
| `kg docs init` | Initialize docs directory |
|
|
600
705
|
| `kg analyze` | Analyze & migrate to knowledge graph |
|
|
601
706
|
| `kg convert docs` | Convert docs/ to docs-nn/ |
|
|
707
|
+
| `kg cultivate` | Cultivate docs using swarm orchestration |
|
|
708
|
+
| `kg cultivate --include-sops` | Include SOP compliance analysis |
|
|
709
|
+
|
|
710
|
+
### Claude Code Hooks
|
|
711
|
+
|
|
712
|
+
| Command | Description |
|
|
713
|
+
|---------|-------------|
|
|
714
|
+
| `kg hooks install` | Install hooks to capture interactions |
|
|
715
|
+
| `kg hooks uninstall` | Remove hooks configuration |
|
|
716
|
+
| `kg hooks status` | Show hooks status |
|
|
717
|
+
| `kg hooks sessions` | List captured sessions |
|
|
718
|
+
| `kg hooks export` | Export captured sessions |
|
|
602
719
|
|
|
603
720
|
### Configuration
|
|
604
721
|
|
|
@@ -724,6 +841,53 @@ import {
|
|
|
724
841
|
|
|
725
842
|
## Changelog
|
|
726
843
|
|
|
844
|
+
### v0.10.1
|
|
845
|
+
|
|
846
|
+
**Default Directory Fix:**
|
|
847
|
+
- Changed default target directory from `docs-nn` to `docs`
|
|
848
|
+
- `kg analyze`, `kg convert docs`, and related commands now output to `docs/` by default
|
|
849
|
+
- Use `--target docs-nn` if you specifically need the old behavior
|
|
850
|
+
- Updated help text and documentation to reflect the change
|
|
851
|
+
|
|
852
|
+
### v0.10.0
|
|
853
|
+
|
|
854
|
+
**Claude Code Hooks System:**
|
|
855
|
+
- **Hook Capture System** - Capture all Claude interactions (prompts, responses, tool calls)
|
|
856
|
+
- **Hierarchical Storage** - Sessions → Conversations → Messages → Tool Calls
|
|
857
|
+
- **Sub-Agent Tracking** - Automatically tracks Task tool spawns with full context
|
|
858
|
+
- **Swarm Tracking** - Captures claude-flow swarm operations
|
|
859
|
+
- **Markdown Generation** - Creates documentation for sessions, conversations, agents
|
|
860
|
+
- **Tool Output Separation** - Stores tool outputs in dedicated JSON files
|
|
861
|
+
- **CLI Commands** - `kg hooks install/uninstall/status/sessions/export`
|
|
862
|
+
- Comprehensive type definitions with Zod validation
|
|
863
|
+
- 22 new tests for hook system
|
|
864
|
+
|
|
865
|
+
### v0.9.0
|
|
866
|
+
|
|
867
|
+
**Document Cultivation System:**
|
|
868
|
+
- **Doc Cultivation Command** - `kg cultivate` for automated documentation buildout
|
|
869
|
+
- **7-Phase Cultivation Process** - Structure → Content → Architecture → Development → Infrastructure → Review → Completion
|
|
870
|
+
- **Development Planning** - Generates phased development plans with tasks
|
|
871
|
+
- **Infrastructure Planning** - Creates dev/staging/production infrastructure plans
|
|
872
|
+
- **SOP Compliance Analysis** - Integrates AI-SDLC SOP requirements
|
|
873
|
+
- **Swarm Orchestration** - Uses claude-flow for parallel documentation generation
|
|
874
|
+
- Support for multi-service projects (api, backend, frontend, admin)
|
|
875
|
+
|
|
876
|
+
### v0.8.8
|
|
877
|
+
|
|
878
|
+
- Added `src/{service}/docs` directory scanning and copying for doc generation
|
|
879
|
+
- Enhanced service documentation detection
|
|
880
|
+
|
|
881
|
+
### v0.8.7
|
|
882
|
+
|
|
883
|
+
- Improved Python project detection for doc generation
|
|
884
|
+
- Better handling of `requirements.txt` and `pyproject.toml`
|
|
885
|
+
|
|
886
|
+
### v0.8.6
|
|
887
|
+
|
|
888
|
+
- Fixed vault-sync.test.ts timeout issues
|
|
889
|
+
- Improved test stability
|
|
890
|
+
|
|
727
891
|
### v0.7.4
|
|
728
892
|
|
|
729
893
|
- Fixed repository URL in package.json to match actual GitHub repo name
|
package/dist/_virtual/index10.js
CHANGED
package/dist/_virtual/index11.js
CHANGED
package/dist/_virtual/index8.js
CHANGED
package/dist/_virtual/index9.js
CHANGED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook Capture System
|
|
3
|
+
*
|
|
4
|
+
* Captures all Claude interactions (prompts, responses, tool calls)
|
|
5
|
+
* and stores them in the knowledge graph with hierarchical structure.
|
|
6
|
+
*
|
|
7
|
+
* @module claude/hook-capture
|
|
8
|
+
*/
|
|
9
|
+
import { SessionId, ClaudeSession, ClaudeConversation } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Hook event types from Claude Code
|
|
12
|
+
*/
|
|
13
|
+
export type HookEventType = 'PreToolUse' | 'PostToolUse' | 'UserPromptSubmit' | 'Stop' | 'PreCompact';
|
|
14
|
+
/**
|
|
15
|
+
* Raw hook event data received from Claude Code
|
|
16
|
+
*/
|
|
17
|
+
export interface HookEventData {
|
|
18
|
+
event: HookEventType;
|
|
19
|
+
timestamp: string;
|
|
20
|
+
sessionId?: string;
|
|
21
|
+
toolName?: string;
|
|
22
|
+
toolInput?: Record<string, unknown>;
|
|
23
|
+
toolOutput?: string;
|
|
24
|
+
userPrompt?: string;
|
|
25
|
+
exitCode?: number;
|
|
26
|
+
duration?: number;
|
|
27
|
+
error?: string;
|
|
28
|
+
metadata?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Capture configuration options
|
|
32
|
+
*/
|
|
33
|
+
export interface CaptureConfig {
|
|
34
|
+
/** Base directory for storing captured data */
|
|
35
|
+
storageDir: string;
|
|
36
|
+
/** Whether to store in knowledge graph format */
|
|
37
|
+
useKnowledgeGraph: boolean;
|
|
38
|
+
/** Whether to create markdown documents */
|
|
39
|
+
createMarkdown: boolean;
|
|
40
|
+
/** Whether to track tool outputs separately */
|
|
41
|
+
separateToolOutputs: boolean;
|
|
42
|
+
/** Maximum content length to store (truncates if exceeded) */
|
|
43
|
+
maxContentLength: number;
|
|
44
|
+
/** Whether to capture sub-agent spawns */
|
|
45
|
+
captureSubAgents: boolean;
|
|
46
|
+
/** Whether to capture swarm operations */
|
|
47
|
+
captureSwarms: boolean;
|
|
48
|
+
/** Whether to capture workflow executions */
|
|
49
|
+
captureWorkflows: boolean;
|
|
50
|
+
/** Tags to add to all captured items */
|
|
51
|
+
defaultTags: string[];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Default configuration
|
|
55
|
+
*/
|
|
56
|
+
export declare const DEFAULT_CAPTURE_CONFIG: CaptureConfig;
|
|
57
|
+
/**
|
|
58
|
+
* Hook Capture System
|
|
59
|
+
*
|
|
60
|
+
* Manages the capture and storage of all Claude interactions.
|
|
61
|
+
*/
|
|
62
|
+
export declare class HookCaptureSystem {
|
|
63
|
+
private config;
|
|
64
|
+
private state;
|
|
65
|
+
private projectRoot;
|
|
66
|
+
constructor(projectRoot: string, config?: Partial<CaptureConfig>);
|
|
67
|
+
/**
|
|
68
|
+
* Ensure storage directory exists
|
|
69
|
+
*/
|
|
70
|
+
private ensureStorageDir;
|
|
71
|
+
/**
|
|
72
|
+
* Create empty token usage
|
|
73
|
+
*/
|
|
74
|
+
private createEmptyTokenUsage;
|
|
75
|
+
/**
|
|
76
|
+
* Create empty aggregated token usage
|
|
77
|
+
*/
|
|
78
|
+
private createEmptyAggregatedTokenUsage;
|
|
79
|
+
/**
|
|
80
|
+
* Create base metadata
|
|
81
|
+
*/
|
|
82
|
+
private createBaseMetadata;
|
|
83
|
+
/**
|
|
84
|
+
* Get current git branch
|
|
85
|
+
*/
|
|
86
|
+
private getGitBranch;
|
|
87
|
+
/**
|
|
88
|
+
* Start a new session
|
|
89
|
+
*/
|
|
90
|
+
startSession(name?: string, purpose?: string): ClaudeSession;
|
|
91
|
+
/**
|
|
92
|
+
* End the current session
|
|
93
|
+
*/
|
|
94
|
+
endSession(): ClaudeSession | null;
|
|
95
|
+
/**
|
|
96
|
+
* Start a new conversation
|
|
97
|
+
*/
|
|
98
|
+
startConversation(model?: string, systemPrompt?: string): ClaudeConversation;
|
|
99
|
+
/**
|
|
100
|
+
* Handle hook events
|
|
101
|
+
*/
|
|
102
|
+
handleHookEvent(event: HookEventData): void;
|
|
103
|
+
/**
|
|
104
|
+
* Handle user prompt submission
|
|
105
|
+
*/
|
|
106
|
+
private handleUserPrompt;
|
|
107
|
+
/**
|
|
108
|
+
* Handle pre-tool use event
|
|
109
|
+
*/
|
|
110
|
+
private handlePreToolUse;
|
|
111
|
+
/**
|
|
112
|
+
* Handle post-tool use event
|
|
113
|
+
*/
|
|
114
|
+
private handlePostToolUse;
|
|
115
|
+
/**
|
|
116
|
+
* Handle session stop event
|
|
117
|
+
*/
|
|
118
|
+
private handleSessionStop;
|
|
119
|
+
/**
|
|
120
|
+
* Handle pre-compact event
|
|
121
|
+
*/
|
|
122
|
+
private handlePreCompact;
|
|
123
|
+
/**
|
|
124
|
+
* Handle sub-agent spawn
|
|
125
|
+
*/
|
|
126
|
+
private handleSubAgentSpawn;
|
|
127
|
+
/**
|
|
128
|
+
* Handle sub-agent completion
|
|
129
|
+
*/
|
|
130
|
+
private handleSubAgentComplete;
|
|
131
|
+
/**
|
|
132
|
+
* Handle swarm operation
|
|
133
|
+
*/
|
|
134
|
+
private handleSwarmOperation;
|
|
135
|
+
/**
|
|
136
|
+
* Categorize tool calls
|
|
137
|
+
*/
|
|
138
|
+
private categorizeToolCall;
|
|
139
|
+
/**
|
|
140
|
+
* Aggregate session tokens
|
|
141
|
+
*/
|
|
142
|
+
private aggregateSessionTokens;
|
|
143
|
+
/**
|
|
144
|
+
* Truncate content to max length
|
|
145
|
+
*/
|
|
146
|
+
private truncateContent;
|
|
147
|
+
/**
|
|
148
|
+
* Get storage path for an entity
|
|
149
|
+
*/
|
|
150
|
+
private getStoragePath;
|
|
151
|
+
/**
|
|
152
|
+
* Get markdown path for an entity
|
|
153
|
+
*/
|
|
154
|
+
private getMarkdownPath;
|
|
155
|
+
/**
|
|
156
|
+
* Save session to storage
|
|
157
|
+
*/
|
|
158
|
+
private saveSession;
|
|
159
|
+
/**
|
|
160
|
+
* Save session as markdown
|
|
161
|
+
*/
|
|
162
|
+
private saveSessionMarkdown;
|
|
163
|
+
/**
|
|
164
|
+
* Save message to storage
|
|
165
|
+
*/
|
|
166
|
+
private saveMessage;
|
|
167
|
+
/**
|
|
168
|
+
* Append message to conversation log
|
|
169
|
+
*/
|
|
170
|
+
private appendToConversationLog;
|
|
171
|
+
/**
|
|
172
|
+
* Save tool call to storage
|
|
173
|
+
*/
|
|
174
|
+
private saveToolCall;
|
|
175
|
+
/**
|
|
176
|
+
* Save sub-agent to storage
|
|
177
|
+
*/
|
|
178
|
+
private saveSubAgent;
|
|
179
|
+
/**
|
|
180
|
+
* Save sub-agent as markdown
|
|
181
|
+
*/
|
|
182
|
+
private saveSubAgentMarkdown;
|
|
183
|
+
/**
|
|
184
|
+
* Get current session
|
|
185
|
+
*/
|
|
186
|
+
getCurrentSession(): ClaudeSession | null;
|
|
187
|
+
/**
|
|
188
|
+
* Get current conversation
|
|
189
|
+
*/
|
|
190
|
+
getCurrentConversation(): ClaudeConversation | null;
|
|
191
|
+
/**
|
|
192
|
+
* Load session from storage
|
|
193
|
+
*/
|
|
194
|
+
loadSession(sessionId: SessionId): ClaudeSession | null;
|
|
195
|
+
/**
|
|
196
|
+
* List all stored sessions
|
|
197
|
+
*/
|
|
198
|
+
listSessions(): SessionId[];
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Process hook event from stdin (for use as CLI hook)
|
|
202
|
+
*/
|
|
203
|
+
export declare function processHookEvent(projectRoot: string, eventType: HookEventType, config?: Partial<CaptureConfig>): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* Generate Claude Code hook configuration
|
|
206
|
+
*/
|
|
207
|
+
export declare function generateHookConfig(projectRoot: string): Record<string, unknown>;
|
|
208
|
+
export default HookCaptureSystem;
|
|
209
|
+
//# sourceMappingURL=hook-capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-capture.d.ts","sourceRoot":"","sources":["../../src/claude/hook-capture.ts"],"names":[],"mappings":"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"}
|