@dragonflymcp/plugin 1.0.4 → 1.0.6
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/dist/tools/analytics/index.d.ts.map +1 -1
- package/dist/tools/analytics/index.js +3 -3
- package/dist/tools/analytics/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/checkpoint-concept.md +0 -7
- package/templates/agents/code-analysis-concept.md +0 -9
- package/templates/agents/debate-synthesis.md +1 -1
- package/templates/agents/quality-concept.md +77 -0
- package/templates/agents/security-concept.md +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/analytics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/analytics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAY1D,eAAO,MAAM,KAAK,EAAE,IAAI,EAkCvB,CAAC;AAiLF,eAAO,MAAM,eAAe,0CAAkC,CAAC;AAC/D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Analytics Module
|
|
3
3
|
* 2 MCP tools for workflow timeline visualization and configuration validation.
|
|
4
4
|
*/
|
|
5
|
+
import { existsSync } from "fs";
|
|
6
|
+
import Database from "better-sqlite3";
|
|
5
7
|
import { successResponse, args as a } from "../../utils/responses.js";
|
|
6
8
|
import { createDispatcher, createModule } from "../../core/dispatcher.js";
|
|
7
9
|
import { createLazyLoader } from "../../utils/lazy.js";
|
|
@@ -127,13 +129,11 @@ function buildFilter(args) {
|
|
|
127
129
|
return filter;
|
|
128
130
|
}
|
|
129
131
|
function validateDb(dbPath, dbName, requiredTables, errors, warnings) {
|
|
130
|
-
|
|
131
|
-
if (!fs.existsSync(dbPath)) {
|
|
132
|
+
if (!existsSync(dbPath)) {
|
|
132
133
|
errors.push({ db: dbName, table: "", message: `Database file not found: ${dbPath}`, severity: "error" });
|
|
133
134
|
return;
|
|
134
135
|
}
|
|
135
136
|
try {
|
|
136
|
-
const Database = require("better-sqlite3");
|
|
137
137
|
const db = new Database(dbPath, { readonly: true });
|
|
138
138
|
try {
|
|
139
139
|
const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").all();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/analytics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/analytics/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -87,13 +87,6 @@ Creates a new checkpoint.
|
|
|
87
87
|
**Output Format**:
|
|
88
88
|
|
|
89
89
|
```yaml
|
|
90
|
-
# Checkpoint structure (saved via zen_checkpoint_save MCP tool)
|
|
91
|
-
checkpoint_id: "chk-{timestamp}"
|
|
92
|
-
name: "commit-abc123"
|
|
93
|
-
type: "commit"
|
|
94
|
-
created_at: "ISO-8601"
|
|
95
|
-
automatic: true
|
|
96
|
-
|
|
97
90
|
# Captured State (varies by type)
|
|
98
91
|
task_state:
|
|
99
92
|
description: "What was being worked on"
|
|
@@ -153,15 +153,6 @@ If MCP servers are not available:
|
|
|
153
153
|
- ❌ Block workflow if MCP unavailable
|
|
154
154
|
- ❌ Skip when MCP is available
|
|
155
155
|
|
|
156
|
-
## Always Do This
|
|
157
|
-
|
|
158
|
-
- ✅ Use Sonnet model exclusively
|
|
159
|
-
- ✅ Use MCP tools for analysis
|
|
160
|
-
- ✅ Provide graceful fallback
|
|
161
|
-
- ✅ Return structured results to parent workflow
|
|
162
|
-
- ✅ Include recommendations
|
|
163
|
-
- ✅ Track tool usage in metadata
|
|
164
|
-
|
|
165
156
|
---
|
|
166
157
|
|
|
167
158
|
**Model Assignment**: Sonnet
|
|
@@ -26,6 +26,15 @@ skills:
|
|
|
26
26
|
- security-vulnerability-scanning # SQL injection, XSS, command injection detection
|
|
27
27
|
- project-structure # Validate files are in correct locations
|
|
28
28
|
- documentation-generation # Validate documentation completeness
|
|
29
|
+
- error-classification # Error taxonomy, retryability, response strategies
|
|
30
|
+
# P2 - Enhancement
|
|
31
|
+
- code-coverage-analysis # Gap identification, prioritized test recommendations
|
|
32
|
+
# P3 - Additional
|
|
33
|
+
- performance-testing-patterns # Load testing, stress testing, benchmarking
|
|
34
|
+
- accessibility-checking # WCAG compliance, ARIA best practices
|
|
35
|
+
# Existing Skills
|
|
36
|
+
- smart-retry
|
|
37
|
+
- workflow-replay
|
|
29
38
|
---
|
|
30
39
|
|
|
31
40
|
# ✅ Quality Concept
|
|
@@ -36,6 +45,22 @@ skills:
|
|
|
36
45
|
**Cost per Action**: ~$0.003 (per action: review or test)
|
|
37
46
|
**Never Calls**: No other concepts (pure quality assurance)
|
|
38
47
|
|
|
48
|
+
## Activation Sequence
|
|
49
|
+
|
|
50
|
+
When invoked, I execute the Quality concept:
|
|
51
|
+
|
|
52
|
+
1. ✅ Load quality concept template
|
|
53
|
+
2. ✅ Activate Sonnet model (thorough quality analysis)
|
|
54
|
+
3. ✅ Read implementation details
|
|
55
|
+
4. ✅ Perform review or test action
|
|
56
|
+
5. ✅ Return structured results to parent workflow
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Purpose
|
|
61
|
+
|
|
62
|
+
The Quality concept is responsible for code review (security, patterns, standards) and test execution (running tests, measuring coverage).
|
|
63
|
+
|
|
39
64
|
## Core Principle: Rule-Based Validation
|
|
40
65
|
|
|
41
66
|
Quality assurance uses clear rules and patterns:
|
|
@@ -262,6 +287,10 @@ details:
|
|
|
262
287
|
cost: 0.003
|
|
263
288
|
```
|
|
264
289
|
|
|
290
|
+
## State Management
|
|
291
|
+
|
|
292
|
+
Quality results are returned to the parent workflow session. Use `zen_event_log` MCP tool for quality provenance tracking.
|
|
293
|
+
|
|
265
294
|
## Integration with Synchronizations
|
|
266
295
|
|
|
267
296
|
The quality concept is triggered by:
|
|
@@ -281,6 +310,46 @@ Review and test actions can run **simultaneously** because they:
|
|
|
281
310
|
|
|
282
311
|
**Performance benefit**: Both actions complete in ~2 seconds total when parallelized.
|
|
283
312
|
|
|
313
|
+
## Cost Optimization
|
|
314
|
+
|
|
315
|
+
**Why Sonnet (not Opus)?**
|
|
316
|
+
MAP-Elites evolution (Feb 2026) on the Payment Processor Security Review benchmark proved:
|
|
317
|
+
- Sonnet scored 0.93 vs Opus 0.95 — only +2% for 5x the cost
|
|
318
|
+
- Sonnet found 16/19 security issues; Opus found 19/19 (3 additional edge cases)
|
|
319
|
+
- Cost: $0.003 vs $0.015 (5x savings)
|
|
320
|
+
- The structured checklist approach and skill-based guidance close the gap — extra reasoning capacity provides diminishing returns
|
|
321
|
+
|
|
322
|
+
## Example Usage
|
|
323
|
+
|
|
324
|
+
```markdown
|
|
325
|
+
Implementation Concept completed: impl-001
|
|
326
|
+
|
|
327
|
+
[Synchronization triggers quality (review + test in parallel)]
|
|
328
|
+
|
|
329
|
+
[Task tool invokes quality-concept agent TWICE with model="sonnet"]
|
|
330
|
+
|
|
331
|
+
Quality Concept - Review (Sonnet):
|
|
332
|
+
✓ Security checks: All passed
|
|
333
|
+
✓ Code quality: 2 minor warnings
|
|
334
|
+
✓ Result: Approved
|
|
335
|
+
✓ Review complete
|
|
336
|
+
Cost: $0.003
|
|
337
|
+
Duration: 1.5 seconds
|
|
338
|
+
|
|
339
|
+
Quality Concept - Test (Sonnet):
|
|
340
|
+
✓ Ran 12 tests: All passed
|
|
341
|
+
✓ Coverage: 94%
|
|
342
|
+
✓ Result: Passed
|
|
343
|
+
✓ Tests complete
|
|
344
|
+
Cost: $0.003
|
|
345
|
+
Duration: 1.8 seconds
|
|
346
|
+
|
|
347
|
+
Total Quality Cost: $0.006 (both actions)
|
|
348
|
+
Total Duration: 2 seconds (parallel execution)
|
|
349
|
+
|
|
350
|
+
Next: Version concept will be triggered
|
|
351
|
+
```
|
|
352
|
+
|
|
284
353
|
## Never Do This
|
|
285
354
|
|
|
286
355
|
- ❌ Call other concepts directly
|
|
@@ -297,3 +366,11 @@ Review and test actions can run **simultaneously** because they:
|
|
|
297
366
|
- ✅ Measure coverage accurately
|
|
298
367
|
- ✅ Use progressive disclosure format
|
|
299
368
|
- ✅ Return structured results to parent workflow
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
**Model Assignment**: Sonnet
|
|
373
|
+
**Cost Tier**: Low ($0.003 per action)
|
|
374
|
+
**Purpose**: Rule-based quality assurance
|
|
375
|
+
**Integration**: Triggered by implementation, triggers version
|
|
376
|
+
**Parallel**: Review + test can run simultaneously
|
|
@@ -210,25 +210,6 @@ Final security gate before version control.
|
|
|
210
210
|
- Vulnerabilities found/fixed
|
|
211
211
|
- Integrity hash of approved files
|
|
212
212
|
|
|
213
|
-
## Blocking Behavior
|
|
214
|
-
|
|
215
|
-
Security concept can **block** workflow progression:
|
|
216
|
-
|
|
217
|
-
1. **Architecture blocked** if:
|
|
218
|
-
- Critical security requirements not addressed
|
|
219
|
-
- OWASP A01-A03 violations in design
|
|
220
|
-
- Missing authentication/authorization design
|
|
221
|
-
|
|
222
|
-
2. **Commit blocked** if:
|
|
223
|
-
- Any critical vulnerability unfixed
|
|
224
|
-
- Hardcoded secrets detected
|
|
225
|
-
- High-severity issues without justification
|
|
226
|
-
|
|
227
|
-
3. **Override mechanism**:
|
|
228
|
-
- Requires explicit user approval via AskUserQuestion
|
|
229
|
-
- Records justification in attestation
|
|
230
|
-
- Flags in provenance for audit
|
|
231
|
-
|
|
232
213
|
## Never Do This
|
|
233
214
|
|
|
234
215
|
- Skip threat modeling ("it's just a small feature")
|