claude-memory-store 0.1.1 → 0.1.3
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 +278 -76
- package/dist/atlas/client.d.ts +0 -2
- package/dist/atlas/client.d.ts.map +1 -1
- package/dist/atlas/client.js +0 -8
- package/dist/atlas/client.js.map +1 -1
- package/dist/atlas/embeddings.d.ts +31 -4
- package/dist/atlas/embeddings.d.ts.map +1 -1
- package/dist/atlas/embeddings.js +31 -4
- package/dist/atlas/embeddings.js.map +1 -1
- package/dist/atlas/indexes.d.ts.map +1 -1
- package/dist/atlas/indexes.js +5 -3
- package/dist/atlas/indexes.js.map +1 -1
- package/dist/atlas/vector.d.ts +11 -1
- package/dist/atlas/vector.d.ts.map +1 -1
- package/dist/atlas/vector.js +50 -3
- package/dist/atlas/vector.js.map +1 -1
- package/dist/bin/claude-memory.js +49 -35
- package/dist/bin/claude-memory.js.map +1 -1
- package/dist/bin/mcp-server.js +7 -21
- package/dist/bin/mcp-server.js.map +1 -1
- package/dist/cache/command-cache.js +1 -1
- package/dist/cache/command-cache.js.map +1 -1
- package/dist/cleanup.d.ts +6 -3
- package/dist/cleanup.d.ts.map +1 -1
- package/dist/cleanup.js +31 -11
- package/dist/cleanup.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -0
- package/dist/config.js.map +1 -1
- package/dist/decay.d.ts +29 -0
- package/dist/decay.d.ts.map +1 -0
- package/dist/decay.js +58 -0
- package/dist/decay.js.map +1 -0
- package/dist/editor/charts.d.ts +9 -0
- package/dist/editor/charts.d.ts.map +1 -0
- package/dist/editor/charts.js +157 -0
- package/dist/editor/charts.js.map +1 -0
- package/dist/editor/colors.d.ts +28 -0
- package/dist/editor/colors.d.ts.map +1 -0
- package/dist/editor/colors.js +66 -0
- package/dist/editor/colors.js.map +1 -0
- package/dist/editor/dashboard.d.ts +26 -0
- package/dist/editor/dashboard.d.ts.map +1 -0
- package/dist/editor/dashboard.js +156 -0
- package/dist/editor/dashboard.js.map +1 -0
- package/dist/editor/interactive.d.ts +24 -0
- package/dist/editor/interactive.d.ts.map +1 -0
- package/dist/editor/interactive.js +533 -0
- package/dist/editor/interactive.js.map +1 -0
- package/dist/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/hooks/pre-tool-use.js +15 -4
- package/dist/hooks/pre-tool-use.js.map +1 -1
- package/dist/hooks/stop.d.ts +1 -0
- package/dist/hooks/stop.d.ts.map +1 -1
- package/dist/hooks/stop.js +72 -0
- package/dist/hooks/stop.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/memory/developer.d.ts.map +1 -1
- package/dist/memory/developer.js +4 -0
- package/dist/memory/developer.js.map +1 -1
- package/dist/memory/fading.d.ts +12 -0
- package/dist/memory/fading.d.ts.map +1 -0
- package/dist/memory/fading.js +45 -0
- package/dist/memory/fading.js.map +1 -0
- package/dist/memory/project.d.ts +2 -0
- package/dist/memory/project.d.ts.map +1 -1
- package/dist/memory/project.js +60 -0
- package/dist/memory/project.js.map +1 -1
- package/dist/memory/working.d.ts.map +1 -1
- package/dist/memory/working.js +1 -0
- package/dist/memory/working.js.map +1 -1
- package/dist/natural-language/parser.d.ts +6 -0
- package/dist/natural-language/parser.d.ts.map +1 -1
- package/dist/natural-language/parser.js +17 -0
- package/dist/natural-language/parser.js.map +1 -1
- package/dist/natural-language/router.d.ts.map +1 -1
- package/dist/natural-language/router.js +48 -33
- package/dist/natural-language/router.js.map +1 -1
- package/dist/slash-commands/recall.js +1 -1
- package/dist/slash-commands/recall.js.map +1 -1
- package/dist/slash-commands/remember.d.ts.map +1 -1
- package/dist/slash-commands/remember.js +8 -2
- package/dist/slash-commands/remember.js.map +1 -1
- package/dist/slash-commands/stats.d.ts.map +1 -1
- package/dist/slash-commands/stats.js +11 -0
- package/dist/slash-commands/stats.js.map +1 -1
- package/dist/startup/conversation.d.ts +1 -0
- package/dist/startup/conversation.d.ts.map +1 -1
- package/dist/startup/conversation.js +7 -1
- package/dist/startup/conversation.js.map +1 -1
- package/dist/startup/feature-search.d.ts +5 -0
- package/dist/startup/feature-search.d.ts.map +1 -1
- package/dist/startup/feature-search.js +10 -26
- package/dist/startup/feature-search.js.map +1 -1
- package/dist/startup/injector.d.ts +1 -0
- package/dist/startup/injector.d.ts.map +1 -1
- package/dist/startup/injector.js +23 -5
- package/dist/startup/injector.js.map +1 -1
- package/dist/summarizer.d.ts.map +1 -1
- package/dist/summarizer.js +20 -4
- package/dist/summarizer.js.map +1 -1
- package/dist/types.d.ts +10 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/watch/event-log.d.ts +11 -0
- package/dist/watch/event-log.d.ts.map +1 -0
- package/dist/watch/event-log.js +80 -0
- package/dist/watch/event-log.js.map +1 -0
- package/dist/watch/metrics.d.ts +92 -0
- package/dist/watch/metrics.d.ts.map +1 -0
- package/dist/watch/metrics.js +260 -0
- package/dist/watch/metrics.js.map +1 -0
- package/dist/watch/monitor.d.ts +9 -0
- package/dist/watch/monitor.d.ts.map +1 -0
- package/dist/watch/monitor.js +232 -0
- package/dist/watch/monitor.js.map +1 -0
- package/dist/watch/renderer.d.ts +11 -0
- package/dist/watch/renderer.d.ts.map +1 -0
- package/dist/watch/renderer.js +173 -0
- package/dist/watch/renderer.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderDashboard = renderDashboard;
|
|
4
|
+
exports.gatherProjectStats = gatherProjectStats;
|
|
5
|
+
exports.gatherDeveloperStats = gatherDeveloperStats;
|
|
6
|
+
exports.formatDashboard = formatDashboard;
|
|
7
|
+
const colors_js_1 = require("./colors.js");
|
|
8
|
+
const client_js_1 = require("../atlas/client.js");
|
|
9
|
+
const project_id_js_1 = require("../project-id.js");
|
|
10
|
+
const project_js_1 = require("../memory/project.js");
|
|
11
|
+
const decay_js_1 = require("../decay.js");
|
|
12
|
+
const config_js_1 = require("../config.js");
|
|
13
|
+
const charts_js_1 = require("./charts.js");
|
|
14
|
+
const PROJECT_TYPES = ['architecture', 'pattern', 'avoid', 'thread', 'command', 'context'];
|
|
15
|
+
const DEV_TYPES = ['preference', 'style', 'dev_default', 'dev_avoid'];
|
|
16
|
+
const DISPLAY_NAMES = {
|
|
17
|
+
architecture: 'Architecture',
|
|
18
|
+
pattern: 'Patterns',
|
|
19
|
+
avoid: 'Avoid Rules',
|
|
20
|
+
thread: 'Open Threads',
|
|
21
|
+
command: 'Commands',
|
|
22
|
+
context: 'Context',
|
|
23
|
+
preference: 'Preferences',
|
|
24
|
+
style: 'Style',
|
|
25
|
+
dev_default: 'Defaults',
|
|
26
|
+
dev_avoid: 'Dev Avoid',
|
|
27
|
+
};
|
|
28
|
+
async function gatherStats(types, filterField, filterId, projectName) {
|
|
29
|
+
const collection = await (0, client_js_1.getCollection)();
|
|
30
|
+
const halfLife = (0, config_js_1.getDecayHalfLifeDays)();
|
|
31
|
+
const deathThreshold = (0, config_js_1.getDecayDeathThreshold)();
|
|
32
|
+
const docs = await collection
|
|
33
|
+
.find({ [filterField]: filterId, type: { $in: types } }, { projection: { type: 1, last_accessed: 1, access_count: 1, created_at: 1 } })
|
|
34
|
+
.toArray();
|
|
35
|
+
const categories = [];
|
|
36
|
+
let totalHealth = 0;
|
|
37
|
+
let totalItems = 0;
|
|
38
|
+
let activeItems = 0;
|
|
39
|
+
let decayingItems = 0;
|
|
40
|
+
const now = Date.now();
|
|
41
|
+
const dailyActivity = new Array(7).fill(0);
|
|
42
|
+
const dailyAccesses = new Array(7).fill(0);
|
|
43
|
+
const categoryMap = new Map();
|
|
44
|
+
for (const type of types) {
|
|
45
|
+
categoryMap.set(type, { count: 0, healthSum: 0, mostRecent: null });
|
|
46
|
+
}
|
|
47
|
+
for (const doc of docs) {
|
|
48
|
+
const type = doc.type;
|
|
49
|
+
const cat = categoryMap.get(type);
|
|
50
|
+
if (!cat)
|
|
51
|
+
continue;
|
|
52
|
+
const lastAccessed = doc.last_accessed;
|
|
53
|
+
const accessCount = doc.access_count;
|
|
54
|
+
const score = (0, decay_js_1.calculateDecayScore)(lastAccessed, accessCount, halfLife);
|
|
55
|
+
cat.count++;
|
|
56
|
+
cat.healthSum += score * 100;
|
|
57
|
+
if (!cat.mostRecent || lastAccessed > cat.mostRecent) {
|
|
58
|
+
cat.mostRecent = lastAccessed;
|
|
59
|
+
}
|
|
60
|
+
totalItems++;
|
|
61
|
+
totalHealth += score * 100;
|
|
62
|
+
if (score >= 0.2)
|
|
63
|
+
activeItems++;
|
|
64
|
+
else if (score >= deathThreshold)
|
|
65
|
+
decayingItems++;
|
|
66
|
+
const daysAgo = Math.floor((now - lastAccessed.getTime()) / 86_400_000);
|
|
67
|
+
if (daysAgo >= 0 && daysAgo < 7) {
|
|
68
|
+
dailyActivity[6 - daysAgo]++;
|
|
69
|
+
dailyAccesses[6 - daysAgo] += accessCount || 1;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
let maxCount = 0;
|
|
73
|
+
let minCount = Infinity;
|
|
74
|
+
let mostActiveCategory = 'None';
|
|
75
|
+
let leastUsedCategory = 'None';
|
|
76
|
+
for (const [type, cat] of categoryMap) {
|
|
77
|
+
categories.push({
|
|
78
|
+
name: type,
|
|
79
|
+
displayName: DISPLAY_NAMES[type] || type,
|
|
80
|
+
count: cat.count,
|
|
81
|
+
avgHealth: cat.count > 0 ? cat.healthSum / cat.count : 0,
|
|
82
|
+
mostRecentAccess: cat.mostRecent,
|
|
83
|
+
});
|
|
84
|
+
if (cat.count > maxCount) {
|
|
85
|
+
maxCount = cat.count;
|
|
86
|
+
mostActiveCategory = DISPLAY_NAMES[type] || type;
|
|
87
|
+
}
|
|
88
|
+
if (cat.count < minCount && cat.count > 0) {
|
|
89
|
+
minCount = cat.count;
|
|
90
|
+
leastUsedCategory = DISPLAY_NAMES[type] || type;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
projectName,
|
|
95
|
+
categories,
|
|
96
|
+
totalItems,
|
|
97
|
+
activeItems,
|
|
98
|
+
decayingItems,
|
|
99
|
+
avgHealth: totalItems > 0 ? totalHealth / totalItems : 0,
|
|
100
|
+
dailyActivity,
|
|
101
|
+
dailyAccesses,
|
|
102
|
+
mostActiveCategory,
|
|
103
|
+
leastUsedCategory,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
async function gatherProjectStats() {
|
|
107
|
+
const pm = await (0, project_js_1.getProjectMeta)();
|
|
108
|
+
return gatherStats(PROJECT_TYPES, 'project_id', (0, project_id_js_1.getProjectId)(), pm?.project_name || 'Unknown Project');
|
|
109
|
+
}
|
|
110
|
+
async function gatherDeveloperStats() {
|
|
111
|
+
return gatherStats(DEV_TYPES, 'developer_id', (0, project_id_js_1.getDeveloperId)(), 'Developer Memory');
|
|
112
|
+
}
|
|
113
|
+
function formatDashboard(data, scope) {
|
|
114
|
+
const lines = [];
|
|
115
|
+
const title = scope === 'project' ? 'CLAUDE MEMORY BROWSER' : 'DEVELOPER MEMORY BROWSER';
|
|
116
|
+
lines.push((0, charts_js_1.coloredHeader)(title, `Project: ${data.projectName}`));
|
|
117
|
+
lines.push('');
|
|
118
|
+
// Memory Usage panel
|
|
119
|
+
const maxCount = Math.max(...data.categories.map((c) => c.count), 1);
|
|
120
|
+
const usageLines = [];
|
|
121
|
+
for (const cat of data.categories) {
|
|
122
|
+
const nameStr = (0, colors_js_1.boldWhite)(cat.displayName.padEnd(14));
|
|
123
|
+
const bar = (0, charts_js_1.horizontalBar)(cat.count, maxCount, 20);
|
|
124
|
+
const countStr = (0, colors_js_1.dim)(`${cat.count} item${cat.count !== 1 ? 's' : ''}`);
|
|
125
|
+
const pct = data.totalItems > 0 ? (0, charts_js_1.percentLabel)((cat.count / data.totalItems) * 100) : (0, colors_js_1.dim)('0%');
|
|
126
|
+
const arrow = cat.mostRecentAccess ? (0, charts_js_1.activityArrow)(cat.mostRecentAccess) : '';
|
|
127
|
+
usageLines.push(`${nameStr} ${bar} ${countStr.padEnd(12)} ${pct}${arrow}`);
|
|
128
|
+
}
|
|
129
|
+
lines.push((0, charts_js_1.boxPanel)('Memory Usage', usageLines, 70));
|
|
130
|
+
lines.push('');
|
|
131
|
+
// Health panel
|
|
132
|
+
const activePercent = data.totalItems > 0 ? Math.round((data.activeItems / data.totalItems) * 100) : 0;
|
|
133
|
+
const decayPercent = data.totalItems > 0 ? Math.round((data.decayingItems / data.totalItems) * 100) : 0;
|
|
134
|
+
const healthLines = [
|
|
135
|
+
`${(0, colors_js_1.dim)('Total:')} ${(0, colors_js_1.boldWhite)(String(data.totalItems))} items`,
|
|
136
|
+
`${(0, colors_js_1.dim)('Active:')} ${(0, colors_js_1.green)(String(data.activeItems))} (${activePercent}%)`,
|
|
137
|
+
`${(0, colors_js_1.dim)('Decaying:')} ${(0, colors_js_1.yellow)(String(data.decayingItems))} (${decayPercent}%)`,
|
|
138
|
+
`${(0, colors_js_1.dim)('Health:')} ${(0, charts_js_1.healthGauge)(data.avgHealth)} ${(0, charts_js_1.percentLabel)(data.avgHealth)}`,
|
|
139
|
+
];
|
|
140
|
+
lines.push((0, charts_js_1.boxPanel)('Health', healthLines, 32));
|
|
141
|
+
lines.push('');
|
|
142
|
+
// Activity panel
|
|
143
|
+
const activityLines = [
|
|
144
|
+
`${(0, colors_js_1.dim)('Last 7 days:')} ${(0, charts_js_1.sparkline)(data.dailyActivity)}`,
|
|
145
|
+
`${(0, colors_js_1.dim)('Accesses:')} ${(0, charts_js_1.sparkline)(data.dailyAccesses)}`,
|
|
146
|
+
`${(0, colors_js_1.dim)('Most active:')} ${(0, colors_js_1.white)(data.mostActiveCategory)}`,
|
|
147
|
+
`${(0, colors_js_1.dim)('Least used:')} ${(0, colors_js_1.white)(data.leastUsedCategory)}`,
|
|
148
|
+
];
|
|
149
|
+
lines.push((0, charts_js_1.boxPanel)('Activity', activityLines, 42));
|
|
150
|
+
return lines.join('\n');
|
|
151
|
+
}
|
|
152
|
+
async function renderDashboard(scope = 'project') {
|
|
153
|
+
const data = scope === 'project' ? await gatherProjectStats() : await gatherDeveloperStats();
|
|
154
|
+
return formatDashboard(data, scope);
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/editor/dashboard.ts"],"names":[],"mappings":";;AAmNA,0CAGC;AAEQ,gDAAkB;AAAE,oDAAoB;AAAE,0CAAe;AAxNlE,2CAGqB;AACrB,kDAAmD;AACnD,oDAAgE;AAChE,qDAAsD;AAEtD,0CAAkD;AAClD,4CAA4E;AAE5E,2CAQqB;AAuBrB,MAAM,aAAa,GAAiB,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACzG,MAAM,SAAS,GAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;AAEpF,MAAM,aAAa,GAA2B;IAC5C,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,UAAU;IACvB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,KAAK,UAAU,WAAW,CACxB,KAAmB,EACnB,WAAmB,EACnB,QAAgB,EAChB,WAAmB;IAEnB,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAa,GAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,gCAAoB,GAAE,CAAC;IACxC,MAAM,cAAc,GAAG,IAAA,kCAAsB,GAAE,CAAC;IAEhD,MAAM,IAAI,GAAG,MAAM,UAAU;SAC1B,IAAI,CACH,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EACjD,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAC9E;SACA,OAAO,EAAW,CAAC;IAEtB,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyE,CAAC;IACrG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAc,CAAC;QAChC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,MAAM,YAAY,GAAG,GAAG,CAAC,aAAqB,CAAC;QAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,YAAsB,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAA,8BAAmB,EAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvE,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,CAAC,SAAS,IAAI,KAAK,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,YAAY,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YACrD,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC;QAChC,CAAC;QAED,UAAU,EAAE,CAAC;QACb,WAAW,IAAI,KAAK,GAAG,GAAG,CAAC;QAE3B,IAAI,KAAK,IAAI,GAAG;YAAE,WAAW,EAAE,CAAC;aAC3B,IAAI,KAAK,IAAI,cAAc;YAAE,aAAa,EAAE,CAAC;QAElD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QACxE,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChC,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,IAAI,kBAAkB,GAAG,MAAM,CAAC;IAChC,IAAI,iBAAiB,GAAG,MAAM,CAAC;IAE/B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI;YACxC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,gBAAgB,EAAE,GAAG,CAAC,UAAU;SACjC,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YACrB,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACnD,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,GAAG,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1C,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YACrB,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,UAAU;QACV,UAAU;QACV,WAAW;QACX,aAAa;QACb,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxD,aAAa;QACb,aAAa;QACb,kBAAkB;QAClB,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,EAAE,GAAG,MAAM,IAAA,2BAAc,GAAE,CAAC;IAClC,OAAO,WAAW,CAAC,aAAa,EAAE,YAAY,EAAE,IAAA,4BAAY,GAAE,EAAE,EAAE,EAAE,YAAY,IAAI,iBAAiB,CAAC,CAAC;AACzG,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,OAAO,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,IAAA,8BAAc,GAAE,EAAE,kBAAkB,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,eAAe,CAAC,IAAmB,EAAE,KAA8B;IAC1E,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,0BAA0B,CAAC;IACzF,KAAK,CAAC,IAAI,CAAC,IAAA,yBAAa,EAAC,KAAK,EAAE,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAA,yBAAa,EAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAA,eAAG,EAAC,GAAG,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAY,EAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,eAAG,EAAC,IAAI,CAAC,CAAC;QAChG,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,yBAAa,EAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAA,oBAAQ,EAAC,cAAc,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,eAAe;IACf,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExG,MAAM,WAAW,GAAG;QAClB,GAAG,IAAA,eAAG,EAAC,QAAQ,CAAC,OAAO,IAAA,qBAAS,EAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ;QACjE,GAAG,IAAA,eAAG,EAAC,SAAS,CAAC,MAAM,IAAA,iBAAK,EAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,aAAa,IAAI;QAC5E,GAAG,IAAA,eAAG,EAAC,WAAW,CAAC,IAAI,IAAA,kBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,YAAY,IAAI;QAC9E,GAAG,IAAA,eAAG,EAAC,SAAS,CAAC,MAAM,IAAA,uBAAW,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;KACrF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,IAAA,oBAAQ,EAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,iBAAiB;IACjB,MAAM,aAAa,GAAG;QACpB,GAAG,IAAA,eAAG,EAAC,cAAc,CAAC,IAAI,IAAA,qBAAS,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QACzD,GAAG,IAAA,eAAG,EAAC,WAAW,CAAC,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QACzD,GAAG,IAAA,eAAG,EAAC,cAAc,CAAC,IAAI,IAAA,iBAAK,EAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;QAC1D,GAAG,IAAA,eAAG,EAAC,aAAa,CAAC,IAAI,IAAA,iBAAK,EAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;KACzD,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,IAAA,oBAAQ,EAAC,UAAU,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,QAAiC,SAAS;IAC9E,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC,CAAC,MAAM,oBAAoB,EAAE,CAAC;IAC7F,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { OpenThread, VerifiedCommand } from '../types.js';
|
|
2
|
+
type Scope = 'project' | 'developer';
|
|
3
|
+
interface CategoryDef {
|
|
4
|
+
key: string;
|
|
5
|
+
displayName: string;
|
|
6
|
+
scope: Scope;
|
|
7
|
+
getItems: () => Promise<string[] | OpenThread[] | Record<string, VerifiedCommand>>;
|
|
8
|
+
addItem: (value: string, extra?: any) => Promise<void>;
|
|
9
|
+
removeItem: (value: string) => Promise<boolean>;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildCategoryChoices(categories: CategoryDef[], counts: Map<string, number>, scope: Scope): any[];
|
|
12
|
+
export declare function buildActionChoices(): ({
|
|
13
|
+
name: string;
|
|
14
|
+
value: "edit";
|
|
15
|
+
} | {
|
|
16
|
+
name: string;
|
|
17
|
+
value: "delete";
|
|
18
|
+
} | {
|
|
19
|
+
name: string;
|
|
20
|
+
value: "back";
|
|
21
|
+
})[];
|
|
22
|
+
export declare function interactiveEditor(initialScope?: Scope): Promise<void>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=interactive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/editor/interactive.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAuB/D,KAAK,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;AAErC,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IACnF,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAoKD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,WAAW,EAAE,EACzB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,KAAK,EAAE,KAAK,SA2Bb;AAiDD,wBAAgB,kBAAkB;;;;;;;;;KAMjC;AAyJD,wBAAsB,iBAAiB,CAAC,YAAY,GAAE,KAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEtF"}
|