@devflow-tools/cli 0.16.34 → 0.17.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.
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAkBlE,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAa5D;AAED,wBAAsB,wBAAwB,CAAC,OAAO,GAAE;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACvF,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAWzD"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAmBlE,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAa5D;AAED,wBAAsB,wBAAwB,CAAC,OAAO,GAAE;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACvF,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCzD"}
@@ -1,5 +1,6 @@
1
1
  import { KnowledgeEngine } from '@devflow-tools/knowledge-engine';
2
2
  import { EmbeddingProvider } from '@devflow-tools/memory-engine';
3
+ import { openGlobalDevFlowDatabase } from '@devflow-tools/database';
3
4
  function createKnowledgeEngine(projectRoot) {
4
5
  return new KnowledgeEngine({
5
6
  projectRoot,
@@ -22,16 +23,70 @@ export async function resyncKnowledgeDocs(options) {
22
23
  }
23
24
  }
24
25
  export async function backfillKnowledgeVectors(options = {}) {
25
- const engine = createKnowledgeEngine(options.projectRoot ?? process.cwd());
26
+ const projectRoot = options.projectRoot ?? process.cwd();
27
+ const startedAt = Date.now();
28
+ const engine = createKnowledgeEngine(projectRoot);
29
+ recordKnowledgeVectorBackfillMetric(projectRoot, {
30
+ phase: 'started',
31
+ source: options.source ?? 'all',
32
+ batchSize: options.batchSize ?? 32,
33
+ });
26
34
  try {
27
- return await engine.backfillVectors({
35
+ const result = await engine.backfillVectors({
28
36
  source: options.source,
29
37
  batchSize: options.batchSize,
30
38
  onProgress: options.onProgress,
31
39
  });
40
+ recordKnowledgeVectorBackfillMetric(projectRoot, {
41
+ phase: 'completed',
42
+ source: options.source ?? 'all',
43
+ processed: result.processed,
44
+ remaining: result.remaining,
45
+ }, Date.now() - startedAt);
46
+ return result;
47
+ }
48
+ catch (error) {
49
+ recordKnowledgeVectorBackfillMetric(projectRoot, {
50
+ phase: 'failed',
51
+ source: options.source ?? 'all',
52
+ errorCategory: classifyBackfillError(error),
53
+ error: error instanceof Error ? error.message.slice(0, 500) : String(error).slice(0, 500),
54
+ success: false,
55
+ }, Date.now() - startedAt);
56
+ throw error;
32
57
  }
33
58
  finally {
34
59
  engine.close();
35
60
  }
36
61
  }
62
+ function recordKnowledgeVectorBackfillMetric(projectRoot, metadata, duration) {
63
+ try {
64
+ const database = openGlobalDevFlowDatabase();
65
+ try {
66
+ database.insertEvent({
67
+ kind: 'knowledge_vector_backfill',
68
+ timestamp: Date.now(),
69
+ duration,
70
+ success: metadata.success === false ? false : true,
71
+ metadata: { projectRoot, ...metadata },
72
+ });
73
+ }
74
+ finally {
75
+ database.close();
76
+ }
77
+ }
78
+ catch {
79
+ // Diagnostics must not change the outcome of a maintenance operation.
80
+ }
81
+ }
82
+ function classifyBackfillError(error) {
83
+ const message = error instanceof Error ? error.message : String(error);
84
+ if (/warmup|model|embedding provider/iu.test(message))
85
+ return 'embedding_provider_unavailable';
86
+ if (/dimension|vector|shape/iu.test(message))
87
+ return 'embedding_contract_mismatch';
88
+ if (/sqlite|database|locked|busy/iu.test(message))
89
+ return 'storage_unavailable';
90
+ return 'unexpected_backfill_failure';
91
+ }
37
92
  //# sourceMappingURL=docs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAUjE,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,IAAI,eAAe,CAAC;QACzB,WAAW;QACX,QAAQ,EAAE,IAAI,iBAAiB,EAAE;KAClC,CAAuB,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAIzC;IACC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;YAC3C,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,UAK3C,EAAE;IACJ,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "devflow",
3
3
  "description": "DevFlow — Developer Intelligence Platform: project context, code graph, knowledge base, memory engine, and workflow automation with 14 domain plugins",
4
- "version": "0.16.34",
4
+ "version": "0.17.1",
5
5
  "author": {
6
6
  "name": "DevFlow"
7
7
  },
@@ -19,10 +19,16 @@
19
19
  "WebFetch"
20
20
  ],
21
21
  "source": "core",
22
- "sourceVersion": "0.16.34",
22
+ "sourceVersion": "0.17.1",
23
23
  "requiresContext": true,
24
24
  "evidenceMode": "mixed",
25
- "skillPath": "skills/devflow:context/SKILL.md"
25
+ "skillPath": "skills/devflow:context/SKILL.md",
26
+ "hostTools": {
27
+ "claude-code": [
28
+ "mcp__devflow__get_project_context",
29
+ "mcp__devflow__search_symbol"
30
+ ]
31
+ }
26
32
  },
27
33
  "devflow:graph": {
28
34
  "mcpTools": [
@@ -38,10 +44,15 @@
38
44
  "Explore"
39
45
  ],
40
46
  "source": "core",
41
- "sourceVersion": "0.16.34",
47
+ "sourceVersion": "0.17.1",
42
48
  "requiresContext": true,
43
49
  "evidenceMode": "mixed",
44
- "skillPath": "skills/devflow:graph/SKILL.md"
50
+ "skillPath": "skills/devflow:graph/SKILL.md",
51
+ "hostTools": {
52
+ "claude-code": [
53
+ "mcp__devflow__get_dependency_graph"
54
+ ]
55
+ }
45
56
  },
46
57
  "devflow:knowledge": {
47
58
  "mcpTools": [
@@ -52,10 +63,15 @@
52
63
  "WebFetch"
53
64
  ],
54
65
  "source": "core",
55
- "sourceVersion": "0.16.34",
66
+ "sourceVersion": "0.17.1",
56
67
  "requiresContext": true,
57
68
  "evidenceMode": "mixed",
58
- "skillPath": "skills/devflow:knowledge/SKILL.md"
69
+ "skillPath": "skills/devflow:knowledge/SKILL.md",
70
+ "hostTools": {
71
+ "claude-code": [
72
+ "mcp__devflow__get_knowledge"
73
+ ]
74
+ }
59
75
  },
60
76
  "devflow:memory": {
61
77
  "mcpTools": [
@@ -71,10 +87,15 @@
71
87
  "Explore"
72
88
  ],
73
89
  "source": "core",
74
- "sourceVersion": "0.16.34",
90
+ "sourceVersion": "0.17.1",
75
91
  "requiresContext": true,
76
92
  "evidenceMode": "mixed",
77
- "skillPath": "skills/devflow:memory/SKILL.md"
93
+ "skillPath": "skills/devflow:memory/SKILL.md",
94
+ "hostTools": {
95
+ "claude-code": [
96
+ "mcp__devflow__get_memory"
97
+ ]
98
+ }
78
99
  },
79
100
  "devflow:workflow": {
80
101
  "mcpTools": [
@@ -82,10 +103,15 @@
82
103
  ],
83
104
  "blockedNative": [],
84
105
  "source": "core",
85
- "sourceVersion": "0.16.34",
106
+ "sourceVersion": "0.17.1",
86
107
  "requiresContext": true,
87
108
  "evidenceMode": "mixed",
88
- "skillPath": "skills/devflow:workflow/SKILL.md"
109
+ "skillPath": "skills/devflow:workflow/SKILL.md",
110
+ "hostTools": {
111
+ "claude-code": [
112
+ "mcp__devflow__run_workflow"
113
+ ]
114
+ }
89
115
  },
90
116
  "devflow:animation": {
91
117
  "mcpTools": [
@@ -106,7 +132,12 @@
106
132
  "sourceVersion": "0.1.0",
107
133
  "requiresContext": true,
108
134
  "evidenceMode": "mixed",
109
- "skillPath": "skills/devflow:animation/SKILL.md"
135
+ "skillPath": "skills/devflow:animation/SKILL.md",
136
+ "hostTools": {
137
+ "claude-code": [
138
+ "mcp__devflow__animation_suggest"
139
+ ]
140
+ }
110
141
  },
111
142
  "devflow:css": {
112
143
  "mcpTools": [
@@ -127,7 +158,12 @@
127
158
  "sourceVersion": "0.1.0",
128
159
  "requiresContext": true,
129
160
  "evidenceMode": "mixed",
130
- "skillPath": "skills/devflow:css/SKILL.md"
161
+ "skillPath": "skills/devflow:css/SKILL.md",
162
+ "hostTools": {
163
+ "claude-code": [
164
+ "mcp__devflow__css_audit_selectors"
165
+ ]
166
+ }
131
167
  },
132
168
  "devflow:docker": {
133
169
  "mcpTools": [
@@ -148,7 +184,12 @@
148
184
  "sourceVersion": "0.1.0",
149
185
  "requiresContext": true,
150
186
  "evidenceMode": "mixed",
151
- "skillPath": "skills/devflow:docker/SKILL.md"
187
+ "skillPath": "skills/devflow:docker/SKILL.md",
188
+ "hostTools": {
189
+ "claude-code": [
190
+ "mcp__devflow__docker_dockerize_project"
191
+ ]
192
+ }
152
193
  },
153
194
  "devflow:electron": {
154
195
  "mcpTools": [
@@ -172,7 +213,12 @@
172
213
  "skillPath": "skills/devflow:electron/SKILL.md",
173
214
  "runtimePackages": [
174
215
  "electron"
175
- ]
216
+ ],
217
+ "hostTools": {
218
+ "claude-code": [
219
+ "mcp__devflow__electron_diagnose_bug"
220
+ ]
221
+ }
176
222
  },
177
223
  "devflow:git": {
178
224
  "mcpTools": [
@@ -193,7 +239,12 @@
193
239
  "sourceVersion": "0.1.0",
194
240
  "requiresContext": true,
195
241
  "evidenceMode": "mixed",
196
- "skillPath": "skills/devflow:git/SKILL.md"
242
+ "skillPath": "skills/devflow:git/SKILL.md",
243
+ "hostTools": {
244
+ "claude-code": [
245
+ "mcp__devflow__git_analyze_repo"
246
+ ]
247
+ }
197
248
  },
198
249
  "devflow:graphql": {
199
250
  "mcpTools": [
@@ -217,7 +268,12 @@
217
268
  "skillPath": "skills/devflow:graphql/SKILL.md",
218
269
  "runtimePackages": [
219
270
  "graphql"
220
- ]
271
+ ],
272
+ "hostTools": {
273
+ "claude-code": [
274
+ "mcp__devflow__graphql_diagnose_bug"
275
+ ]
276
+ }
221
277
  },
222
278
  "devflow:nest": {
223
279
  "mcpTools": [
@@ -242,7 +298,13 @@
242
298
  "skillPath": "skills/devflow:nest/SKILL.md",
243
299
  "runtimePackages": [
244
300
  "@nestjs/core"
245
- ]
301
+ ],
302
+ "hostTools": {
303
+ "claude-code": [
304
+ "mcp__devflow__nest_diagnose_bug",
305
+ "mcp__devflow__nest_new_module"
306
+ ]
307
+ }
246
308
  },
247
309
  "devflow:nextjs": {
248
310
  "mcpTools": [
@@ -268,7 +330,13 @@
268
330
  "runtimePackages": [
269
331
  "next",
270
332
  "react"
271
- ]
333
+ ],
334
+ "hostTools": {
335
+ "claude-code": [
336
+ "mcp__devflow__nextjs_diagnose_bug",
337
+ "mcp__devflow__nextjs_new_page"
338
+ ]
339
+ }
272
340
  },
273
341
  "devflow:performance": {
274
342
  "mcpTools": [
@@ -289,7 +357,12 @@
289
357
  "sourceVersion": "0.1.0",
290
358
  "requiresContext": true,
291
359
  "evidenceMode": "mixed",
292
- "skillPath": "skills/devflow:performance/SKILL.md"
360
+ "skillPath": "skills/devflow:performance/SKILL.md",
361
+ "hostTools": {
362
+ "claude-code": [
363
+ "mcp__devflow__performance_audit_performance"
364
+ ]
365
+ }
293
366
  },
294
367
  "devflow:react": {
295
368
  "mcpTools": [
@@ -318,7 +391,16 @@
318
391
  "runtimePackages": [
319
392
  "react",
320
393
  "react-dom"
321
- ]
394
+ ],
395
+ "hostTools": {
396
+ "claude-code": [
397
+ "mcp__devflow__react_review_hooks",
398
+ "mcp__devflow__react_audit_performance",
399
+ "mcp__devflow__react_refactor_component",
400
+ "mcp__devflow__react_diagnose_bug",
401
+ "mcp__devflow__react_new_component"
402
+ ]
403
+ }
322
404
  },
323
405
  "devflow:tailwind": {
324
406
  "mcpTools": [
@@ -343,7 +425,13 @@
343
425
  "skillPath": "skills/devflow:tailwind/SKILL.md",
344
426
  "runtimePackages": [
345
427
  "tailwindcss"
346
- ]
428
+ ],
429
+ "hostTools": {
430
+ "claude-code": [
431
+ "mcp__devflow__tailwind_new_component",
432
+ "mcp__devflow__tailwind_optimize_classes"
433
+ ]
434
+ }
347
435
  },
348
436
  "devflow:taro": {
349
437
  "mcpTools": [
@@ -367,7 +455,12 @@
367
455
  "skillPath": "skills/devflow:taro/SKILL.md",
368
456
  "runtimePackages": [
369
457
  "@tarojs/taro"
370
- ]
458
+ ],
459
+ "hostTools": {
460
+ "claude-code": [
461
+ "mcp__devflow__taro_new_page"
462
+ ]
463
+ }
371
464
  },
372
465
  "devflow:ui-layout": {
373
466
  "mcpTools": [
@@ -388,7 +481,12 @@
388
481
  "sourceVersion": "0.1.0",
389
482
  "requiresContext": true,
390
483
  "evidenceMode": "mixed",
391
- "skillPath": "skills/devflow:ui-layout/SKILL.md"
484
+ "skillPath": "skills/devflow:ui-layout/SKILL.md",
485
+ "hostTools": {
486
+ "claude-code": [
487
+ "mcp__devflow__ui_layout_generate"
488
+ ]
489
+ }
392
490
  },
393
491
  "devflow:vue": {
394
492
  "mcpTools": [
@@ -413,7 +511,13 @@
413
511
  "skillPath": "skills/devflow:vue/SKILL.md",
414
512
  "runtimePackages": [
415
513
  "vue"
416
- ]
514
+ ],
515
+ "hostTools": {
516
+ "claude-code": [
517
+ "mcp__devflow__vue_diagnose_bug",
518
+ "mcp__devflow__vue_debug_reactivity"
519
+ ]
520
+ }
417
521
  }
418
522
  }
419
523
  }