@a-company/paradigm 3.17.1 → 3.18.0
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/{chunk-ZRPEI35Q.js → chunk-BKMNLROM.js} +533 -5
- package/dist/{chunk-D4VBBKGV.js → chunk-TUW27EIC.js} +137 -37
- package/dist/{chunk-6GWRQWQB.js → chunk-YHRRJM6J.js} +137 -33
- package/dist/{delete-OINCSDQH.js → delete-2PX6DDAY.js} +5 -5
- package/dist/{dist-YHDSIZQD.js → dist-IKBGY7FQ.js} +3 -1
- package/dist/{edit-7FSQNAPE.js → edit-GJYLJYDU.js} +1 -1
- package/dist/index.js +9 -9
- package/dist/{list-Q4R7L7WJ.js → list-RHYZPKG3.js} +3 -3
- package/dist/{lore-server-BLJWN7PY.js → lore-server-XEW7EG62.js} +83 -20
- package/dist/mcp.js +52 -18
- package/dist/{record-YJ3D3462.js → record-PGVYYZFU.js} +7 -7
- package/dist/{reindex-T4N3NG73.js → reindex-UAYAEF7M.js} +1 -1
- package/dist/{review-3OW3KVW7.js → review-BRY5R45L.js} +1 -1
- package/dist/{serve-GCCMOIHR.js → serve-KBMKF4KG.js} +1 -1
- package/dist/{show-CJGHREFS.js → show-6CHTSR33.js} +19 -4
- package/dist/{timeline-ELO5JTQO.js → timeline-HC527YXE.js} +11 -10
- package/lore-ui/dist/assets/{index-BMWob_U9.js → index-CDr7Tr1E.js} +10 -10
- package/lore-ui/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
loadLoreEntry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YHRRJM6J.js";
|
|
5
5
|
import "./chunk-ZXMDA7VB.js";
|
|
6
6
|
|
|
7
7
|
// src/commands/lore/show.ts
|
|
@@ -32,8 +32,10 @@ Entry not found: ${id}
|
|
|
32
32
|
console.log(chalk.white.bold(` ${entry.title}`));
|
|
33
33
|
console.log(chalk.gray(` ${entry.id} \xB7 ${colorFn(entry.type)} \xB7 ${entry.timestamp}`));
|
|
34
34
|
console.log();
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
console.log(` \u{1F464} ${chalk.white(entry.author)}`);
|
|
36
|
+
if (entry.agent) {
|
|
37
|
+
console.log(` \u{1F916} ${chalk.gray(entry.agent.model)}${entry.agent.provider ? chalk.gray(` (${entry.agent.provider})`) : ""}`);
|
|
38
|
+
}
|
|
37
39
|
if (entry.duration_minutes) {
|
|
38
40
|
console.log(` \u23F1 ${entry.duration_minutes} minutes`);
|
|
39
41
|
}
|
|
@@ -41,7 +43,7 @@ Entry not found: ${id}
|
|
|
41
43
|
console.log(chalk.gray(" Summary:"));
|
|
42
44
|
console.log(` ${entry.summary}`);
|
|
43
45
|
console.log();
|
|
44
|
-
if (entry.symbols_touched
|
|
46
|
+
if (entry.symbols_touched?.length > 0) {
|
|
45
47
|
console.log(chalk.gray(" Symbols touched:"));
|
|
46
48
|
console.log(` ${entry.symbols_touched.map((s) => chalk.cyan(s)).join(" ")}`);
|
|
47
49
|
console.log();
|
|
@@ -117,6 +119,19 @@ Entry not found: ${id}
|
|
|
117
119
|
if (entry.commit) {
|
|
118
120
|
console.log(` Commit: ${chalk.gray(entry.commit)}`);
|
|
119
121
|
}
|
|
122
|
+
if (entry.git_context) {
|
|
123
|
+
const gc = entry.git_context;
|
|
124
|
+
console.log(chalk.gray(" Git context:"));
|
|
125
|
+
console.log(` ${chalk.gray(gc.ref.slice(0, 8))} on ${chalk.cyan(gc.branch)}${gc.dirty ? chalk.yellow(" (dirty)") : ""}`);
|
|
126
|
+
console.log();
|
|
127
|
+
}
|
|
128
|
+
if (entry.meta && Object.keys(entry.meta).length > 0) {
|
|
129
|
+
console.log(chalk.gray(" Metadata:"));
|
|
130
|
+
for (const [k, v] of Object.entries(entry.meta)) {
|
|
131
|
+
console.log(` ${chalk.white(k)}: ${chalk.gray(String(v))}`);
|
|
132
|
+
}
|
|
133
|
+
console.log();
|
|
134
|
+
}
|
|
120
135
|
if (entry.tags && entry.tags.length > 0) {
|
|
121
136
|
console.log(` Tags: ${entry.tags.map((t) => chalk.gray(`[${t}]`)).join(" ")}`);
|
|
122
137
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
loadLoreEntries
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YHRRJM6J.js";
|
|
5
5
|
import "./chunk-ZXMDA7VB.js";
|
|
6
6
|
|
|
7
7
|
// src/commands/lore/timeline.ts
|
|
@@ -26,19 +26,20 @@ async function loreTimelineCommand(options) {
|
|
|
26
26
|
}
|
|
27
27
|
const symbolCounts = /* @__PURE__ */ new Map();
|
|
28
28
|
for (const entry of entries) {
|
|
29
|
-
for (const sym of entry.symbols_touched) {
|
|
29
|
+
for (const sym of entry.symbols_touched || []) {
|
|
30
30
|
symbolCounts.set(sym, (symbolCounts.get(sym) || 0) + 1);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
const hotSymbols = Array.from(symbolCounts.entries()).sort(([, a], [, b]) => b - a).slice(0, 10).map(([symbol, count]) => ({ symbol, count }));
|
|
34
34
|
const authorActivity = /* @__PURE__ */ new Map();
|
|
35
35
|
for (const entry of entries) {
|
|
36
|
-
const aid = entry.author
|
|
36
|
+
const aid = entry.author;
|
|
37
37
|
const existing = authorActivity.get(aid);
|
|
38
38
|
if (!existing) {
|
|
39
|
-
authorActivity.set(aid, { count: 1,
|
|
39
|
+
authorActivity.set(aid, { count: 1, hasAgent: entry.agent != null, lastActive: entry.timestamp });
|
|
40
40
|
} else {
|
|
41
41
|
existing.count++;
|
|
42
|
+
if (entry.agent) existing.hasAgent = true;
|
|
42
43
|
if (entry.timestamp > existing.lastActive) existing.lastActive = entry.timestamp;
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -49,8 +50,8 @@ async function loreTimelineCommand(options) {
|
|
|
49
50
|
id: e.id,
|
|
50
51
|
type: e.type,
|
|
51
52
|
title: e.title,
|
|
52
|
-
author: e.author
|
|
53
|
-
symbols: e.symbols_touched
|
|
53
|
+
author: e.author,
|
|
54
|
+
symbols: e.symbols_touched || []
|
|
54
55
|
}));
|
|
55
56
|
}
|
|
56
57
|
console.log(JSON.stringify({
|
|
@@ -59,7 +60,7 @@ async function loreTimelineCommand(options) {
|
|
|
59
60
|
hotSymbols,
|
|
60
61
|
authors: Array.from(authorActivity.entries()).map(([id, info]) => ({
|
|
61
62
|
id,
|
|
62
|
-
|
|
63
|
+
hasAgent: info.hasAgent,
|
|
63
64
|
entries: info.count,
|
|
64
65
|
lastActive: info.lastActive
|
|
65
66
|
}))
|
|
@@ -82,9 +83,9 @@ async function loreTimelineCommand(options) {
|
|
|
82
83
|
for (const entry of dayEntries) {
|
|
83
84
|
const colorFn = typeColor[entry.type] || chalk.white;
|
|
84
85
|
const time = entry.timestamp.slice(11, 16);
|
|
85
|
-
const authorIcon = entry.
|
|
86
|
+
const authorIcon = entry.agent ? "\u{1F916}" : "\u{1F464}";
|
|
86
87
|
console.log(` ${chalk.gray(time)} ${colorFn(entry.type.padEnd(14))} ${chalk.white(entry.title)}`);
|
|
87
|
-
console.log(` ${authorIcon} ${chalk.gray(entry.author
|
|
88
|
+
console.log(` ${authorIcon} ${chalk.gray(entry.author)} ${(entry.symbols_touched || []).slice(0, 4).map((s) => chalk.cyan(s)).join(" ")}`);
|
|
88
89
|
}
|
|
89
90
|
console.log();
|
|
90
91
|
}
|
|
@@ -99,7 +100,7 @@ async function loreTimelineCommand(options) {
|
|
|
99
100
|
if (authorActivity.size > 0) {
|
|
100
101
|
console.log(chalk.white(" Active Authors:"));
|
|
101
102
|
for (const [id, info] of authorActivity) {
|
|
102
|
-
const icon = info.
|
|
103
|
+
const icon = info.hasAgent ? "\u{1F916}" : "\u{1F464}";
|
|
103
104
|
console.log(` ${icon} ${chalk.white(id)} - ${info.count} entries`);
|
|
104
105
|
}
|
|
105
106
|
console.log();
|