pikakit 1.0.17 → 1.0.18

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.
@@ -19,6 +19,7 @@ import fs from "fs";
19
19
  import path from "path";
20
20
  import yaml from "js-yaml";
21
21
  import { KNOWLEDGE_DIR, LESSONS_PATH, DEBUG, VERSION } from "./config.js";
22
+ import { recordPatternEvent } from "./metrics-collector.js";
22
23
 
23
24
  // ============================================================================
24
25
  // CORE FUNCTIONS
@@ -111,6 +112,17 @@ function addLesson(pattern, message, severity = "WARNING", category = "general")
111
112
  db.lessons.push(lesson);
112
113
  saveKnowledge(db);
113
114
 
115
+ // Track this in metrics
116
+ try {
117
+ recordPatternEvent({
118
+ type: 'true_positive',
119
+ confidence: 0.8,
120
+ newPattern: true
121
+ });
122
+ } catch (e) {
123
+ // Ignore metrics errors
124
+ }
125
+
114
126
  console.log(`\nšŸŽ“ Lesson Learned: [${id}]`);
115
127
  console.log(` Pattern: /${pattern}/`);
116
128
  console.log(` Message: ${message}`);
@@ -100,26 +100,32 @@ const api = {
100
100
  // Full dashboard data
101
101
  '/api/dashboard': () => {
102
102
  try {
103
- const realKpis = metricsCollector?.getKPIs?.() || null;
104
- const hasRealData = realKpis?.kpis && Object.keys(realKpis.kpis).length > 0;
103
+ // Use getSummary from metrics-collector for real data
104
+ const summary = metricsCollector?.getSummary?.() || {};
105
+ const dashboardData = metricsCollector?.getDashboardData?.() || { kpis: {} };
105
106
 
106
- const kpis = hasRealData ? realKpis.kpis : {};
107
+ // Also get lessons count from YAML files as fallback/supplement
108
+ const lessonsFromFiles = getLessonsCount();
107
109
 
108
- const totalTasks = metricsCollector?.getMetricValue?.('total_tasks') || 0;
109
- const patternsLearned = getLessonsCount(); // Read directly from YAML files
110
- const skillsGenerated = skillGenerator?.getSkillCount?.() || 0;
110
+ const totalTasks = summary.totalTasks || 0;
111
+ const patternsLearned = lessonsFromFiles || summary.patternsLearned || 0;
112
+ const skillsGenerated = summary.skillsGenerated || 0;
111
113
 
112
114
  // Determine if this is a new user (no lessons yet)
113
115
  const isNewUser = patternsLearned === 0;
114
116
 
115
- const summary = {
117
+ // Build KPIs response
118
+ const kpis = dashboardData.kpis || {};
119
+
120
+ const responseSummary = {
116
121
  totalTasks,
117
122
  patternsLearned,
118
123
  skillsGenerated,
119
124
  version: '7.0.0',
120
- isNewUser
125
+ isNewUser,
126
+ lastUpdated: summary.lastUpdated || new Date().toISOString()
121
127
  };
122
- return { kpis: { kpis }, summary, version: '7.0.0', isNewUser };
128
+ return { kpis: { kpis }, summary: responseSummary, version: '7.0.0', isNewUser };
123
129
  } catch (e) {
124
130
  return { kpis: { kpis: {} }, summary: { isNewUser: true }, error: e.message, version: '7.0.0', isNewUser: true };
125
131
  }
@@ -128,7 +134,7 @@ const api = {
128
134
  // KPIs only
129
135
  '/api/kpis': () => {
130
136
  try {
131
- return metricsCollector?.getKPIs?.() || { kpis: {} };
137
+ return metricsCollector?.getDashboardData?.() || { kpis: {} };
132
138
  } catch (e) {
133
139
  return { kpis: {}, error: e.message };
134
140
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pikakit",
3
- "version": "1.0.17",
3
+ "version": "1.0.18",
4
4
  "description": "Enterprise-grade Agent Skill Manager with Antigravity Skills support, Progressive Disclosure detection, and semantic routing validation",
5
5
  "license": "MIT",
6
6
  "author": "pikakit <pikakit@gmail.com>",