@claude-flow/cli 3.7.0-alpha.8 → 3.7.0-alpha.80
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/.claude/agents/github/release-manager.md +2 -2
- package/.claude/agents/github/release-swarm.md +1 -1
- package/.claude/agents/github/repo-architect.md +2 -2
- package/.claude/agents/github/swarm-pr.md +1 -1
- package/.claude/agents/github/workflow-automation.md +2 -2
- package/.claude/commands/github/code-review-swarm.md +1 -1
- package/.claude/commands/github/issue-tracker.md +3 -3
- package/.claude/commands/github/release-manager.md +5 -3
- package/.claude/commands/github/release-swarm.md +1 -1
- package/.claude/commands/github/repo-architect.md +2 -2
- package/.claude/commands/github/swarm-issue.md +4 -1
- package/.claude/commands/github/swarm-pr.md +6 -3
- package/.claude/commands/github/sync-coordinator.md +3 -1
- package/.claude/commands/github/workflow-automation.md +2 -2
- package/.claude/helpers/github-safe.js +95 -60
- package/.claude/helpers/github-setup.sh +26 -9
- package/.claude/helpers/hook-handler.cjs +12 -4
- package/.claude/helpers/statusline.cjs +31 -2
- package/.claude/helpers/statusline.js +35 -4
- package/.claude/settings.json +1 -1
- package/.claude/skills/dual-mode/README.md +71 -0
- package/.claude/skills/dual-mode/dual-collect.md +103 -0
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
- package/.claude/skills/dual-mode/dual-spawn.md +81 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +0 -11
- package/.claude/skills/flow-nexus-platform/SKILL.md +2 -5
- package/.claude/skills/flow-nexus-swarm/SKILL.md +0 -6
- package/.claude/skills/github-code-review/SKILL.md +2 -17
- package/.claude/skills/github-multi-repo/SKILL.md +4 -16
- package/.claude/skills/github-project-management/SKILL.md +18 -33
- package/.claude/skills/github-release-management/SKILL.md +4 -21
- package/.claude/skills/github-workflow-automation/SKILL.md +8 -26
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
- package/.claude/skills/sparc-methodology/SKILL.md +2 -11
- package/.claude/skills/stream-chain/SKILL.md +0 -3
- package/.claude/skills/swarm-advanced/SKILL.md +2 -5
- package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
- package/.claude/skills/verification-quality/SKILL.md +120 -78
- package/README.md +57 -38
- package/bin/cli.js +15 -2
- package/bin/mcp-server.js +1 -1
- package/dist/src/__probe.d.ts +2 -0
- package/dist/src/__probe.d.ts.map +1 -0
- package/dist/src/__probe.js +5 -0
- package/dist/src/__probe.js.map +1 -0
- package/dist/src/commands/agent-wasm.js +2 -2
- package/dist/src/commands/agent-wasm.js.map +1 -1
- package/dist/src/commands/benchmark-cosign.d.ts +29 -0
- package/dist/src/commands/benchmark-cosign.d.ts.map +1 -0
- package/dist/src/commands/benchmark-cosign.js +222 -0
- package/dist/src/commands/benchmark-cosign.js.map +1 -0
- package/dist/src/commands/benchmark-verify.d.ts +21 -0
- package/dist/src/commands/benchmark-verify.d.ts.map +1 -0
- package/dist/src/commands/benchmark-verify.js +202 -0
- package/dist/src/commands/benchmark-verify.js.map +1 -0
- package/dist/src/commands/daemon.d.ts +20 -0
- package/dist/src/commands/daemon.d.ts.map +1 -1
- package/dist/src/commands/daemon.js +366 -7
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +224 -46
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.d.ts.map +1 -1
- package/dist/src/commands/embeddings.js +18 -9
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/hive-mind.d.ts.map +1 -1
- package/dist/src/commands/hive-mind.js +25 -7
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +56 -29
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +21 -1
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +128 -3
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/start.js +1 -1
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/swarm.js +1 -1
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/task.d.ts.map +1 -1
- package/dist/src/commands/task.js +8 -4
- package/dist/src/commands/task.js.map +1 -1
- package/dist/src/config-adapter.js +1 -1
- package/dist/src/config-adapter.js.map +1 -1
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +61 -18
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +1 -0
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +133 -0
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts +1 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -1
- package/dist/src/init/helpers-generator.js +19 -2
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/mcp-generator.js +4 -4
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +84 -19
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +75 -31
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +30 -0
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +18 -5
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +12 -0
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +38 -5
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.d.ts +3 -2
- package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.js +157 -83
- package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +119 -11
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +101 -24
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.js +6 -6
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
- package/dist/src/mcp-tools/autopilot-tools.js +10 -10
- package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
- package/dist/src/mcp-tools/browser-session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/browser-session-tools.js +18 -7
- package/dist/src/mcp-tools/browser-session-tools.js.map +1 -1
- package/dist/src/mcp-tools/browser-tools.js +23 -23
- package/dist/src/mcp-tools/browser-tools.js.map +1 -1
- package/dist/src/mcp-tools/claims-tools.js +12 -12
- package/dist/src/mcp-tools/claims-tools.js.map +1 -1
- package/dist/src/mcp-tools/config-tools.js +6 -6
- package/dist/src/mcp-tools/config-tools.js.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.js +7 -7
- package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
- package/dist/src/mcp-tools/daa-tools.js +8 -8
- package/dist/src/mcp-tools/daa-tools.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +10 -10
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/github-tools.js +5 -5
- package/dist/src/mcp-tools/github-tools.js.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.js +21 -21
- package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-consensus-runtime.d.ts +149 -0
- package/dist/src/mcp-tools/hive-consensus-runtime.d.ts.map +1 -0
- package/dist/src/mcp-tools/hive-consensus-runtime.js +296 -0
- package/dist/src/mcp-tools/hive-consensus-runtime.js.map +1 -0
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +53 -9
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts +2 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +179 -46
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/managed-agent-tools.d.ts +22 -0
- package/dist/src/mcp-tools/managed-agent-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/managed-agent-tools.js +357 -0
- package/dist/src/mcp-tools/managed-agent-tools.js.map +1 -0
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +499 -68
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +6 -6
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +6 -6
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/mcp-tools/progress-tools.js +4 -4
- package/dist/src/mcp-tools/progress-tools.js.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.js +27 -11
- package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
- package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +34 -9
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +130 -6
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts +28 -0
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +80 -9
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +91 -18
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +55 -7
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +5 -5
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +11 -11
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/mcp-tools/wasm-agent-tools.js +11 -11
- package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +118 -10
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/ann-router-registry.d.ts +61 -0
- package/dist/src/memory/ann-router-registry.d.ts.map +1 -0
- package/dist/src/memory/ann-router-registry.js +72 -0
- package/dist/src/memory/ann-router-registry.js.map +1 -0
- package/dist/src/memory/diskann-registry.d.ts +56 -0
- package/dist/src/memory/diskann-registry.d.ts.map +1 -0
- package/dist/src/memory/diskann-registry.js +88 -0
- package/dist/src/memory/diskann-registry.js.map +1 -0
- package/dist/src/memory/memory-bridge.d.ts +4 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +49 -8
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +12 -0
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +98 -19
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
- package/dist/src/memory/sona-optimizer.js +3 -0
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/parser.d.ts +9 -0
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +11 -0
- package/dist/src/parser.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts +15 -4
- package/dist/src/plugins/store/discovery.d.ts.map +1 -1
- package/dist/src/plugins/store/discovery.js +40 -18
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/ruvector/agent-wasm.d.ts.map +1 -1
- package/dist/src/ruvector/agent-wasm.js +4 -1
- package/dist/src/ruvector/agent-wasm.js.map +1 -1
- package/dist/src/ruvector/coverage-tools.js +6 -6
- package/dist/src/ruvector/coverage-tools.js.map +1 -1
- package/dist/src/services/headless-worker-executor.d.ts +6 -0
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -1
- package/dist/src/services/headless-worker-executor.js +63 -6
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/worker-daemon.d.ts +80 -2
- package/dist/src/services/worker-daemon.d.ts.map +1 -1
- package/dist/src/services/worker-daemon.js +372 -11
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -8
- package/.claude/agents/core/coder.md +0 -453
- package/.claude/agents/core/researcher.md +0 -369
- package/.claude/agents/core/reviewer.md +0 -520
- package/.claude/agents/core/tester.md +0 -512
- package/.claude/agents/goal/goal-planner.md +0 -73
- package/.claude/agents/v3/adr-architect.md +0 -184
- package/.claude/agents/v3/memory-specialist.md +0 -995
- package/.claude/agents/v3/security-auditor.md +0 -771
- package/.claude/agents/v3/sparc-orchestrator.md +0 -182
- package/.claude/commands/flow-nexus/app-store.md +0 -124
- package/.claude/commands/flow-nexus/challenges.md +0 -120
- package/.claude/commands/flow-nexus/login-registration.md +0 -65
- package/.claude/commands/flow-nexus/neural-network.md +0 -134
- package/.claude/commands/flow-nexus/payments.md +0 -116
- package/.claude/commands/flow-nexus/sandbox.md +0 -83
- package/.claude/commands/flow-nexus/swarm.md +0 -87
- package/.claude/commands/flow-nexus/user-tools.md +0 -152
- package/.claude/commands/flow-nexus/workflow.md +0 -115
- package/.claude/skills/agentic-jujutsu/SKILL.md +0 -645
- package/.claude/skills/aidefence-scan.md +0 -151
- package/.claude/skills/aidefence.yaml +0 -297
- package/.claude/skills/hive-mind-advanced/SKILL.md +0 -712
- package/.claude/skills/performance-analysis/SKILL.md +0 -563
- package/.claude/skills/secure-review.md +0 -181
- package/.claude/skills/worker-benchmarks/skill.md +0 -135
- package/.claude/skills/worker-integration/skill.md +0 -154
- package/dist/src/ruvector/flash-attention.d.ts +0 -195
- package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
- package/dist/src/ruvector/flash-attention.js +0 -643
- package/dist/src/ruvector/flash-attention.js.map +0 -1
- package/dist/src/ruvector/moe-router.d.ts +0 -206
- package/dist/src/ruvector/moe-router.d.ts.map +0 -1
- package/dist/src/ruvector/moe-router.js +0 -626
- package/dist/src/ruvector/moe-router.js.map +0 -1
- package/dist/src/services/event-stream.d.ts +0 -25
- package/dist/src/services/event-stream.d.ts.map +0 -1
- package/dist/src/services/event-stream.js +0 -27
- package/dist/src/services/event-stream.js.map +0 -1
- package/dist/src/services/loop-worker-runner.d.ts +0 -16
- package/dist/src/services/loop-worker-runner.d.ts.map +0 -1
- package/dist/src/services/loop-worker-runner.js +0 -34
- package/dist/src/services/loop-worker-runner.js.map +0 -1
- package/dist/src/services/runtime-capabilities.d.ts +0 -22
- package/dist/src/services/runtime-capabilities.d.ts.map +0 -1
- package/dist/src/services/runtime-capabilities.js +0 -45
- package/dist/src/services/runtime-capabilities.js.map +0 -1
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: secure-review
|
|
3
|
-
version: 1.0.0
|
|
4
|
-
description: Security-focused code review with AI manipulation detection
|
|
5
|
-
author: rUv
|
|
6
|
-
tags: [security, code-review, aidefence]
|
|
7
|
-
|
|
8
|
-
invocation:
|
|
9
|
-
- /secure-review
|
|
10
|
-
- /security-review
|
|
11
|
-
|
|
12
|
-
requires:
|
|
13
|
-
- "@claude-flow/aidefence"
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Secure Review Skill
|
|
17
|
-
|
|
18
|
-
Perform security-focused code reviews that include AI manipulation detection, credential scanning, and security best practice validation.
|
|
19
|
-
|
|
20
|
-
## Commands
|
|
21
|
-
|
|
22
|
-
### `/secure-review <file-or-directory>`
|
|
23
|
-
Review code for security issues including:
|
|
24
|
-
- Hardcoded credentials
|
|
25
|
-
- Prompt injection vulnerabilities
|
|
26
|
-
- Unsafe input handling
|
|
27
|
-
- Security anti-patterns
|
|
28
|
-
|
|
29
|
-
### `/secure-review --quick <file>`
|
|
30
|
-
Quick security scan without detailed analysis.
|
|
31
|
-
|
|
32
|
-
### `/secure-review --fix <file>`
|
|
33
|
-
Review and suggest fixes for security issues.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Execution Instructions
|
|
38
|
-
|
|
39
|
-
When `/secure-review` is invoked:
|
|
40
|
-
|
|
41
|
-
### Step 1: Initialize Security Tools
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
import { createAIDefence } from '@claude-flow/aidefence';
|
|
45
|
-
|
|
46
|
-
const aidefence = createAIDefence({ enableLearning: true });
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### Step 2: Read and Analyze Files
|
|
50
|
-
|
|
51
|
-
For each file to review:
|
|
52
|
-
|
|
53
|
-
1. **Read the file** using the Read tool
|
|
54
|
-
2. **Scan for PII/Credentials**:
|
|
55
|
-
```typescript
|
|
56
|
-
const piiResult = aidefence.hasPII(fileContent);
|
|
57
|
-
if (piiResult) {
|
|
58
|
-
findings.push({
|
|
59
|
-
type: 'pii',
|
|
60
|
-
severity: 'high',
|
|
61
|
-
message: 'Potential credentials or PII detected',
|
|
62
|
-
file: filePath
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
3. **Check for dangerous patterns**:
|
|
68
|
-
```typescript
|
|
69
|
-
const dangerousPatterns = [
|
|
70
|
-
{ pattern: /eval\s*\(/, message: 'Unsafe eval() usage', severity: 'critical' },
|
|
71
|
-
{ pattern: /innerHTML\s*=/, message: 'Potential XSS via innerHTML', severity: 'high' },
|
|
72
|
-
{ pattern: /shell:\s*true/, message: 'Shell injection risk', severity: 'critical' },
|
|
73
|
-
{ pattern: /dangerouslySetInnerHTML/, message: 'Dangerous HTML injection', severity: 'high' },
|
|
74
|
-
{ pattern: /password.*=.*['"][^'"]+['"]/, message: 'Hardcoded password', severity: 'critical' },
|
|
75
|
-
];
|
|
76
|
-
|
|
77
|
-
for (const { pattern, message, severity } of dangerousPatterns) {
|
|
78
|
-
const match = fileContent.match(pattern);
|
|
79
|
-
if (match) {
|
|
80
|
-
findings.push({ type: 'security', severity, message, file: filePath, line: getLineNumber(match) });
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
4. **Scan for prompt injection in AI code**:
|
|
86
|
-
```typescript
|
|
87
|
-
// If file contains AI/LLM related code
|
|
88
|
-
if (/openai|anthropic|llm|prompt|chat/i.test(fileContent)) {
|
|
89
|
-
// Check for unsafe prompt construction
|
|
90
|
-
const unsafePromptPatterns = [
|
|
91
|
-
/\$\{.*user.*\}/i, // Template literal with user input
|
|
92
|
-
/\+ .*input/i, // String concatenation with input
|
|
93
|
-
/prompt.*=.*request/i, // Direct request to prompt
|
|
94
|
-
];
|
|
95
|
-
|
|
96
|
-
for (const pattern of unsafePromptPatterns) {
|
|
97
|
-
if (pattern.test(fileContent)) {
|
|
98
|
-
findings.push({
|
|
99
|
-
type: 'prompt_injection_risk',
|
|
100
|
-
severity: 'high',
|
|
101
|
-
message: 'Potential prompt injection vulnerability - user input directly in prompt',
|
|
102
|
-
file: filePath
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Step 3: Generate Report
|
|
110
|
-
|
|
111
|
-
```markdown
|
|
112
|
-
## Security Review Report
|
|
113
|
-
|
|
114
|
-
### Summary
|
|
115
|
-
- Files reviewed: X
|
|
116
|
-
- Critical issues: X
|
|
117
|
-
- High severity: X
|
|
118
|
-
- Medium severity: X
|
|
119
|
-
- Low severity: X
|
|
120
|
-
|
|
121
|
-
### Findings
|
|
122
|
-
|
|
123
|
-
#### Critical
|
|
124
|
-
1. **[file.ts:42]** Hardcoded API key detected
|
|
125
|
-
- **Risk**: Credential exposure
|
|
126
|
-
- **Fix**: Move to environment variable
|
|
127
|
-
|
|
128
|
-
#### High
|
|
129
|
-
1. **[api.ts:108]** User input directly concatenated to prompt
|
|
130
|
-
- **Risk**: Prompt injection vulnerability
|
|
131
|
-
- **Fix**: Sanitize and validate user input before including in prompts
|
|
132
|
-
|
|
133
|
-
### Recommendations
|
|
134
|
-
1. Enable input validation at all API boundaries
|
|
135
|
-
2. Use environment variables for all credentials
|
|
136
|
-
3. Implement prompt injection defenses for AI code
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Step 4: Learn from Review
|
|
140
|
-
|
|
141
|
-
```typescript
|
|
142
|
-
// Store review patterns for learning
|
|
143
|
-
for (const finding of findings) {
|
|
144
|
-
await aidefence.learnFromDetection(
|
|
145
|
-
finding.context,
|
|
146
|
-
{ safe: false, threats: [{ type: finding.type, severity: finding.severity }] }
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Example Output
|
|
152
|
-
|
|
153
|
-
```
|
|
154
|
-
🔍 Security Review: src/api/
|
|
155
|
-
|
|
156
|
-
Scanning 12 files...
|
|
157
|
-
|
|
158
|
-
❌ CRITICAL: src/api/config.ts:15
|
|
159
|
-
Hardcoded API key: sk-ant-api03...
|
|
160
|
-
→ Move to .env file and use process.env.ANTHROPIC_API_KEY
|
|
161
|
-
|
|
162
|
-
⚠️ HIGH: src/api/chat.ts:42
|
|
163
|
-
User input directly in prompt template
|
|
164
|
-
→ Sanitize input: const sanitized = sanitizeForPrompt(userInput)
|
|
165
|
-
|
|
166
|
-
⚠️ HIGH: src/api/chat.ts:67
|
|
167
|
-
No input length validation
|
|
168
|
-
→ Add: if (input.length > MAX_INPUT_LENGTH) throw new Error('...')
|
|
169
|
-
|
|
170
|
-
ℹ️ MEDIUM: src/api/utils.ts:23
|
|
171
|
-
Using eval() for JSON parsing
|
|
172
|
-
→ Use JSON.parse() instead
|
|
173
|
-
|
|
174
|
-
📊 Summary: 1 critical, 2 high, 1 medium issues found
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
## Integration Notes
|
|
178
|
-
|
|
179
|
-
- Works with `reviewer` agent for comprehensive code reviews
|
|
180
|
-
- Findings are stored in memory for pattern learning
|
|
181
|
-
- Can be triggered automatically via pre-commit hooks
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: worker-benchmarks
|
|
3
|
-
description: Run comprehensive worker system benchmarks and performance analysis
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
invocable: true
|
|
6
|
-
author: agentic-flow
|
|
7
|
-
capabilities:
|
|
8
|
-
- performance_testing
|
|
9
|
-
- metrics_collection
|
|
10
|
-
- optimization_recommendations
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Worker Benchmarks Skill
|
|
14
|
-
|
|
15
|
-
Run comprehensive performance benchmarks for the agentic-flow worker system.
|
|
16
|
-
|
|
17
|
-
## Quick Start
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
# Run full benchmark suite
|
|
21
|
-
npx agentic-flow workers benchmark
|
|
22
|
-
|
|
23
|
-
# Run specific benchmark
|
|
24
|
-
npx agentic-flow workers benchmark --type trigger-detection
|
|
25
|
-
npx agentic-flow workers benchmark --type registry
|
|
26
|
-
npx agentic-flow workers benchmark --type agent-selection
|
|
27
|
-
npx agentic-flow workers benchmark --type concurrent
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Benchmark Types
|
|
31
|
-
|
|
32
|
-
### 1. Trigger Detection (`trigger-detection`)
|
|
33
|
-
Tests keyword detection speed across 12 worker triggers.
|
|
34
|
-
- **Target**: p95 < 5ms
|
|
35
|
-
- **Iterations**: 1000
|
|
36
|
-
- **Metrics**: latency, throughput, histogram
|
|
37
|
-
|
|
38
|
-
### 2. Worker Registry (`registry`)
|
|
39
|
-
Tests CRUD operations on worker entries.
|
|
40
|
-
- **Target**: p95 < 10ms
|
|
41
|
-
- **Iterations**: 500 creates, gets, updates
|
|
42
|
-
- **Metrics**: per-operation latency breakdown
|
|
43
|
-
|
|
44
|
-
### 3. Agent Selection (`agent-selection`)
|
|
45
|
-
Tests performance-based agent selection.
|
|
46
|
-
- **Target**: p95 < 1ms
|
|
47
|
-
- **Iterations**: 1000
|
|
48
|
-
- **Metrics**: selection confidence, agent scores
|
|
49
|
-
|
|
50
|
-
### 4. Model Cache (`cache`)
|
|
51
|
-
Tests model caching performance.
|
|
52
|
-
- **Target**: p95 < 0.5ms
|
|
53
|
-
- **Metrics**: hit rate, cache size, eviction stats
|
|
54
|
-
|
|
55
|
-
### 5. Concurrent Workers (`concurrent`)
|
|
56
|
-
Tests parallel worker creation and updates.
|
|
57
|
-
- **Target**: < 1000ms for 10 workers
|
|
58
|
-
- **Metrics**: per-worker latency, memory usage
|
|
59
|
-
|
|
60
|
-
### 6. Memory Key Generation (`memory-keys`)
|
|
61
|
-
Tests memory pattern key generation.
|
|
62
|
-
- **Target**: p95 < 0.1ms
|
|
63
|
-
- **Iterations**: 5000
|
|
64
|
-
- **Metrics**: unique patterns, throughput
|
|
65
|
-
|
|
66
|
-
## Output Format
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
═══════════════════════════════════════════════════════════
|
|
70
|
-
📈 BENCHMARK RESULTS
|
|
71
|
-
═══════════════════════════════════════════════════════════
|
|
72
|
-
|
|
73
|
-
✅ Trigger Detection
|
|
74
|
-
Operation: detect
|
|
75
|
-
Count: 1,000
|
|
76
|
-
Avg: 0.045ms | p95: 0.120ms (target: 5ms)
|
|
77
|
-
Throughput: 22,222 ops/s
|
|
78
|
-
Memory Δ: 0.12MB
|
|
79
|
-
|
|
80
|
-
✅ Worker Registry
|
|
81
|
-
Operation: crud
|
|
82
|
-
Count: 1,500
|
|
83
|
-
Avg: 1.234ms | p95: 3.456ms (target: 10ms)
|
|
84
|
-
Throughput: 810 ops/s
|
|
85
|
-
Memory Δ: 2.34MB
|
|
86
|
-
|
|
87
|
-
───────────────────────────────────────────────────────────
|
|
88
|
-
📊 SUMMARY
|
|
89
|
-
───────────────────────────────────────────────────────────
|
|
90
|
-
Total Tests: 6
|
|
91
|
-
Passed: 6 | Failed: 0
|
|
92
|
-
Avg Latency: 0.567ms
|
|
93
|
-
Total Duration: 2345ms
|
|
94
|
-
Peak Memory: 8.90MB
|
|
95
|
-
═══════════════════════════════════════════════════════════
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## Integration with Settings
|
|
99
|
-
|
|
100
|
-
Benchmark thresholds are configured in `.claude/settings.json`:
|
|
101
|
-
|
|
102
|
-
```json
|
|
103
|
-
{
|
|
104
|
-
"performance": {
|
|
105
|
-
"benchmarkThresholds": {
|
|
106
|
-
"triggerDetection": { "p95Ms": 5 },
|
|
107
|
-
"workerRegistry": { "p95Ms": 10 },
|
|
108
|
-
"agentSelection": { "p95Ms": 1 },
|
|
109
|
-
"memoryKeyGeneration": { "p95Ms": 0.1 },
|
|
110
|
-
"concurrentWorkers": { "totalMs": 1000 }
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## Programmatic Usage
|
|
117
|
-
|
|
118
|
-
```typescript
|
|
119
|
-
import { workerBenchmarks, runBenchmarks } from 'agentic-flow/workers/worker-benchmarks';
|
|
120
|
-
|
|
121
|
-
// Run full suite
|
|
122
|
-
const suite = await runBenchmarks();
|
|
123
|
-
console.log(suite.summary);
|
|
124
|
-
|
|
125
|
-
// Run individual benchmarks
|
|
126
|
-
const triggerResult = await workerBenchmarks.benchmarkTriggerDetection(1000);
|
|
127
|
-
const registryResult = await workerBenchmarks.benchmarkRegistryOperations(500);
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## Performance Optimization Tips
|
|
131
|
-
|
|
132
|
-
1. **Model Cache**: Enable with `CLAUDE_FLOW_MODEL_CACHE_MB=512`
|
|
133
|
-
2. **Parallel Workers**: Enable with `CLAUDE_FLOW_WORKER_PARALLEL=true`
|
|
134
|
-
3. **Warning Suppression**: Enable with `CLAUDE_FLOW_SUPPRESS_WARNINGS=true`
|
|
135
|
-
4. **SQLite WAL Mode**: Automatic for better concurrent performance
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: worker-integration
|
|
3
|
-
description: Worker-Agent integration for intelligent task dispatch and performance tracking
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
invocable: true
|
|
6
|
-
author: agentic-flow
|
|
7
|
-
capabilities:
|
|
8
|
-
- agent_selection
|
|
9
|
-
- performance_tracking
|
|
10
|
-
- memory_coordination
|
|
11
|
-
- self_learning
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Worker-Agent Integration Skill
|
|
15
|
-
|
|
16
|
-
Intelligent coordination between background workers and specialized agents.
|
|
17
|
-
|
|
18
|
-
## Quick Start
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
# View agent recommendations for a trigger
|
|
22
|
-
npx agentic-flow workers agents ultralearn
|
|
23
|
-
npx agentic-flow workers agents optimize
|
|
24
|
-
|
|
25
|
-
# View performance metrics
|
|
26
|
-
npx agentic-flow workers metrics
|
|
27
|
-
|
|
28
|
-
# View integration stats
|
|
29
|
-
npx agentic-flow workers stats --integration
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Agent Mappings
|
|
33
|
-
|
|
34
|
-
Workers automatically dispatch to optimal agents based on trigger type:
|
|
35
|
-
|
|
36
|
-
| Trigger | Primary Agents | Fallback | Pipeline Phases |
|
|
37
|
-
|---------|---------------|----------|-----------------|
|
|
38
|
-
| `ultralearn` | researcher, coder | planner | discovery → patterns → vectorization → summary |
|
|
39
|
-
| `optimize` | performance-analyzer, coder | researcher | static-analysis → performance → patterns |
|
|
40
|
-
| `audit` | security-analyst, tester | reviewer | security → secrets → vulnerability-scan |
|
|
41
|
-
| `benchmark` | performance-analyzer | coder, tester | performance → metrics → report |
|
|
42
|
-
| `testgaps` | tester | coder | discovery → coverage → gaps |
|
|
43
|
-
| `document` | documenter, researcher | coder | api-discovery → patterns → indexing |
|
|
44
|
-
| `deepdive` | researcher, security-analyst | coder | call-graph → deps → trace |
|
|
45
|
-
| `refactor` | coder, reviewer | researcher | complexity → smells → patterns |
|
|
46
|
-
|
|
47
|
-
## Performance-Based Selection
|
|
48
|
-
|
|
49
|
-
The system learns from execution history to improve agent selection:
|
|
50
|
-
|
|
51
|
-
```typescript
|
|
52
|
-
// Agent selection considers:
|
|
53
|
-
// 1. Quality score (0-1)
|
|
54
|
-
// 2. Success rate
|
|
55
|
-
// 3. Average latency
|
|
56
|
-
// 4. Execution count
|
|
57
|
-
|
|
58
|
-
const { agent, confidence, reasoning } = selectBestAgent('optimize');
|
|
59
|
-
// agent: "performance-analyzer"
|
|
60
|
-
// confidence: 0.87
|
|
61
|
-
// reasoning: "Selected based on 45 executions with 94.2% success"
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Memory Key Patterns
|
|
65
|
-
|
|
66
|
-
Workers store results using consistent patterns:
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
{trigger}/{topic}/{phase}
|
|
70
|
-
|
|
71
|
-
Examples:
|
|
72
|
-
- ultralearn/auth-module/analysis
|
|
73
|
-
- optimize/database/performance
|
|
74
|
-
- audit/payment/vulnerabilities
|
|
75
|
-
- benchmark/api/metrics
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Benchmark Thresholds
|
|
79
|
-
|
|
80
|
-
Agents are monitored against performance thresholds:
|
|
81
|
-
|
|
82
|
-
```json
|
|
83
|
-
{
|
|
84
|
-
"researcher": {
|
|
85
|
-
"p95_latency": "<500ms",
|
|
86
|
-
"memory_mb": "<256MB"
|
|
87
|
-
},
|
|
88
|
-
"coder": {
|
|
89
|
-
"p95_latency": "<300ms",
|
|
90
|
-
"quality_score": ">0.85"
|
|
91
|
-
},
|
|
92
|
-
"security-analyst": {
|
|
93
|
-
"scan_coverage": ">95%",
|
|
94
|
-
"p95_latency": "<1000ms"
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Feedback Loop
|
|
100
|
-
|
|
101
|
-
Workers provide feedback for continuous improvement:
|
|
102
|
-
|
|
103
|
-
```typescript
|
|
104
|
-
import { workerAgentIntegration } from 'agentic-flow/workers/worker-agent-integration';
|
|
105
|
-
|
|
106
|
-
// Record execution feedback
|
|
107
|
-
workerAgentIntegration.recordFeedback(
|
|
108
|
-
'optimize', // trigger
|
|
109
|
-
'coder', // agent
|
|
110
|
-
true, // success
|
|
111
|
-
245, // latency ms
|
|
112
|
-
0.92 // quality score
|
|
113
|
-
);
|
|
114
|
-
|
|
115
|
-
// Check compliance
|
|
116
|
-
const { compliant, violations } = workerAgentIntegration.checkBenchmarkCompliance('coder');
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Integration Statistics
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
$ npx agentic-flow workers stats --integration
|
|
123
|
-
|
|
124
|
-
Worker-Agent Integration Stats
|
|
125
|
-
══════════════════════════════
|
|
126
|
-
Total Agents: 6
|
|
127
|
-
Tracked Agents: 4
|
|
128
|
-
Total Feedback: 156
|
|
129
|
-
Avg Quality Score: 0.89
|
|
130
|
-
|
|
131
|
-
Model Cache Stats
|
|
132
|
-
─────────────────
|
|
133
|
-
Hits: 1,234
|
|
134
|
-
Misses: 45
|
|
135
|
-
Hit Rate: 96.5%
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Configuration
|
|
139
|
-
|
|
140
|
-
Enable integration features in `.claude/settings.json`:
|
|
141
|
-
|
|
142
|
-
```json
|
|
143
|
-
{
|
|
144
|
-
"workers": {
|
|
145
|
-
"enabled": true,
|
|
146
|
-
"parallel": true,
|
|
147
|
-
"memoryDepositEnabled": true,
|
|
148
|
-
"agentMappings": {
|
|
149
|
-
"ultralearn": ["researcher", "coder"],
|
|
150
|
-
"optimize": ["performance-analyzer", "coder"]
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
```
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flash Attention Implementation for RuVector Intelligence System
|
|
3
|
-
*
|
|
4
|
-
* Implements block-wise attention computation for faster similarity calculations.
|
|
5
|
-
* Achieves O(N) memory instead of O(N^2) through tiling strategy.
|
|
6
|
-
*
|
|
7
|
-
* Key optimizations:
|
|
8
|
-
* - Block-wise computation to fit in L1 cache
|
|
9
|
-
* - Fused softmax-matmul operations
|
|
10
|
-
* - Float32Array for all operations
|
|
11
|
-
* - Online softmax for numerical stability
|
|
12
|
-
*
|
|
13
|
-
* Target: 2-5x speedup on CPU vs naive attention
|
|
14
|
-
*
|
|
15
|
-
* Created with love by ruv.io
|
|
16
|
-
*/
|
|
17
|
-
export interface FlashAttentionConfig {
|
|
18
|
-
/** Block size for tiling (32-64 optimal for CPU L1 cache) */
|
|
19
|
-
blockSize: number;
|
|
20
|
-
/** Number of dimensions in embedding vectors */
|
|
21
|
-
dimensions: number;
|
|
22
|
-
/** Temperature for softmax scaling */
|
|
23
|
-
temperature: number;
|
|
24
|
-
/** Enable numerical stability optimizations */
|
|
25
|
-
useStableMode: boolean;
|
|
26
|
-
/** Use optimized CPU path (default: true) */
|
|
27
|
-
useCPUOptimizations: boolean;
|
|
28
|
-
}
|
|
29
|
-
export interface AttentionResult {
|
|
30
|
-
/** Output vectors after attention */
|
|
31
|
-
output: Float32Array[];
|
|
32
|
-
/** Attention weights (optional, for debugging) */
|
|
33
|
-
weights?: Float32Array[];
|
|
34
|
-
/** Computation time in milliseconds */
|
|
35
|
-
computeTimeMs: number;
|
|
36
|
-
}
|
|
37
|
-
export interface BenchmarkResult {
|
|
38
|
-
/** Naive attention time in milliseconds */
|
|
39
|
-
naiveTimeMs: number;
|
|
40
|
-
/** Flash attention time in milliseconds */
|
|
41
|
-
flashTimeMs: number;
|
|
42
|
-
/** Speedup factor (naive / flash) */
|
|
43
|
-
speedup: number;
|
|
44
|
-
/** Number of vectors benchmarked */
|
|
45
|
-
numVectors: number;
|
|
46
|
-
/** Dimensions of vectors */
|
|
47
|
-
dimensions: number;
|
|
48
|
-
/** Memory usage estimate for naive (bytes) */
|
|
49
|
-
naiveMemoryBytes: number;
|
|
50
|
-
/** Memory usage estimate for flash (bytes) */
|
|
51
|
-
flashMemoryBytes: number;
|
|
52
|
-
/** Memory reduction factor */
|
|
53
|
-
memoryReduction: number;
|
|
54
|
-
}
|
|
55
|
-
export declare class FlashAttention {
|
|
56
|
-
private config;
|
|
57
|
-
private lastSpeedup;
|
|
58
|
-
private benchmarkHistory;
|
|
59
|
-
private scoreBuffer;
|
|
60
|
-
private expBuffer;
|
|
61
|
-
private accumBuffer;
|
|
62
|
-
constructor(config?: Partial<FlashAttentionConfig>);
|
|
63
|
-
/**
|
|
64
|
-
* Main attention computation using Flash Attention algorithm
|
|
65
|
-
*
|
|
66
|
-
* @param queries - Query vectors [N x D]
|
|
67
|
-
* @param keys - Key vectors [M x D]
|
|
68
|
-
* @param values - Value vectors [M x D]
|
|
69
|
-
* @returns Attention output [N x D]
|
|
70
|
-
*/
|
|
71
|
-
attention(queries: Float32Array[], keys: Float32Array[], values: Float32Array[]): AttentionResult;
|
|
72
|
-
/**
|
|
73
|
-
* CPU-optimized attention with aggressive optimizations
|
|
74
|
-
*
|
|
75
|
-
* Key optimizations:
|
|
76
|
-
* - Blocked score computation (better cache utilization)
|
|
77
|
-
* - Top-K sparse attention (only use most relevant keys)
|
|
78
|
-
* - Pre-allocated buffers to avoid GC pressure
|
|
79
|
-
* - 8x loop unrolling for dot products
|
|
80
|
-
* - Fused max-finding during score computation
|
|
81
|
-
*/
|
|
82
|
-
private cpuOptimizedAttention;
|
|
83
|
-
/**
|
|
84
|
-
* Partial dot product using only first N dimensions (for screening)
|
|
85
|
-
*/
|
|
86
|
-
private partialDotProduct;
|
|
87
|
-
/**
|
|
88
|
-
* Partial sort to get top-K elements (QuickSelect-like)
|
|
89
|
-
* Only ensures first K elements are the largest, not sorted
|
|
90
|
-
*/
|
|
91
|
-
private partialSort;
|
|
92
|
-
/**
|
|
93
|
-
* Swap two indices in array
|
|
94
|
-
*/
|
|
95
|
-
private swapIndices;
|
|
96
|
-
/**
|
|
97
|
-
* Fast dot product with 8x unrolling
|
|
98
|
-
*/
|
|
99
|
-
private fastDotProduct;
|
|
100
|
-
/**
|
|
101
|
-
* Block-wise attention computation (Flash Attention core algorithm)
|
|
102
|
-
*
|
|
103
|
-
* Algorithm:
|
|
104
|
-
* For each block of queries Q_b:
|
|
105
|
-
* For each block of keys K_b:
|
|
106
|
-
* S_b = Q_b @ K_b.T / sqrt(d) // Block scores
|
|
107
|
-
* P_b = softmax(S_b) // Block attention
|
|
108
|
-
* O_b += P_b @ V_b // Accumulate output
|
|
109
|
-
*
|
|
110
|
-
* @param Q - Query vectors
|
|
111
|
-
* @param K - Key vectors
|
|
112
|
-
* @param V - Value vectors
|
|
113
|
-
* @param blockSize - Block size for tiling
|
|
114
|
-
*/
|
|
115
|
-
blockAttention(Q: Float32Array[], K: Float32Array[], V: Float32Array[], blockSize: number): Float32Array[];
|
|
116
|
-
/**
|
|
117
|
-
* Get the speedup factor from the last benchmark
|
|
118
|
-
*/
|
|
119
|
-
getSpeedup(): number;
|
|
120
|
-
/**
|
|
121
|
-
* Run benchmark comparing naive vs CPU-optimized attention
|
|
122
|
-
*
|
|
123
|
-
* @param numVectors - Number of vectors to test
|
|
124
|
-
* @param dimensions - Dimensions per vector
|
|
125
|
-
* @param iterations - Number of iterations for averaging
|
|
126
|
-
*/
|
|
127
|
-
benchmark(numVectors?: number, dimensions?: number, iterations?: number): BenchmarkResult;
|
|
128
|
-
/**
|
|
129
|
-
* Get benchmark history
|
|
130
|
-
*/
|
|
131
|
-
getBenchmarkHistory(): BenchmarkResult[];
|
|
132
|
-
/**
|
|
133
|
-
* Get configuration
|
|
134
|
-
*/
|
|
135
|
-
getConfig(): FlashAttentionConfig;
|
|
136
|
-
/**
|
|
137
|
-
* Update configuration
|
|
138
|
-
*/
|
|
139
|
-
setConfig(config: Partial<FlashAttentionConfig>): void;
|
|
140
|
-
/**
|
|
141
|
-
* Naive O(N^2) attention implementation for comparison
|
|
142
|
-
*/
|
|
143
|
-
private naiveAttention;
|
|
144
|
-
/**
|
|
145
|
-
* Compute block of attention scores
|
|
146
|
-
*/
|
|
147
|
-
private computeBlockScores;
|
|
148
|
-
/**
|
|
149
|
-
* Online softmax with output accumulation (key to Flash Attention)
|
|
150
|
-
*
|
|
151
|
-
* Uses the online softmax trick to maintain numerical stability
|
|
152
|
-
* while processing blocks incrementally.
|
|
153
|
-
*/
|
|
154
|
-
private onlineSoftmaxAccumulate;
|
|
155
|
-
/**
|
|
156
|
-
* Compute dot product of two vectors
|
|
157
|
-
*/
|
|
158
|
-
private dotProduct;
|
|
159
|
-
/**
|
|
160
|
-
* Stable softmax implementation
|
|
161
|
-
*/
|
|
162
|
-
private softmax;
|
|
163
|
-
/**
|
|
164
|
-
* Generate random vectors for benchmarking
|
|
165
|
-
*/
|
|
166
|
-
private generateRandomVectors;
|
|
167
|
-
/**
|
|
168
|
-
* Validate input arrays
|
|
169
|
-
*/
|
|
170
|
-
private validateInputs;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Get singleton FlashAttention instance
|
|
174
|
-
*
|
|
175
|
-
* @param config - Optional configuration (only used on first call)
|
|
176
|
-
* @returns FlashAttention instance
|
|
177
|
-
*/
|
|
178
|
-
export declare function getFlashAttention(config?: Partial<FlashAttentionConfig>): FlashAttention;
|
|
179
|
-
/**
|
|
180
|
-
* Reset singleton (for testing)
|
|
181
|
-
*/
|
|
182
|
-
export declare function resetFlashAttention(): void;
|
|
183
|
-
/**
|
|
184
|
-
* Compute attention using Flash Attention
|
|
185
|
-
*/
|
|
186
|
-
export declare function computeAttention(queries: Float32Array[], keys: Float32Array[], values: Float32Array[], config?: Partial<FlashAttentionConfig>): AttentionResult;
|
|
187
|
-
/**
|
|
188
|
-
* Run Flash Attention benchmark
|
|
189
|
-
*/
|
|
190
|
-
export declare function benchmarkFlashAttention(numVectors?: number, dimensions?: number, iterations?: number): BenchmarkResult;
|
|
191
|
-
/**
|
|
192
|
-
* Get current speedup from last benchmark
|
|
193
|
-
*/
|
|
194
|
-
export declare function getFlashAttentionSpeedup(): number;
|
|
195
|
-
//# sourceMappingURL=flash-attention.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flash-attention.d.ts","sourceRoot":"","sources":["../../../src/ruvector/flash-attention.ts"],"names":[],"mappings":"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"}
|