open-agents-ai 0.187.428 → 0.187.430
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/index.js +339 -372
- package/npm-shrinkwrap.json +29 -36
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -540936,441 +540936,407 @@ import * as path5 from "node:path";
|
|
|
540936
540936
|
import * as fs4 from "node:fs";
|
|
540937
540937
|
function getMemoryStats(workingDir) {
|
|
540938
540938
|
const stats = {
|
|
540939
|
-
zettelkasten: { totalLinks: 0, avgLinksPerEpisode: 0,
|
|
540940
|
-
knowledgeGraph: { totalNodes: 0, totalEdges: 0, nodeTypes: {}, edgeTypes: {} },
|
|
540941
|
-
episodes: { total: 0,
|
|
540939
|
+
zettelkasten: { totalLinks: 0, avgLinksPerEpisode: 0, topLinked: [] },
|
|
540940
|
+
knowledgeGraph: { totalNodes: 0, totalEdges: 0, activeEdges: 0, nodeTypes: {}, edgeTypes: {} },
|
|
540941
|
+
episodes: { total: 0, byModality: {}, avgImportance: 0, recentCount: 0 }
|
|
540942
540942
|
};
|
|
540943
|
-
const
|
|
540944
|
-
if (fs4.existsSync(
|
|
540943
|
+
const episodesDbPath = path5.join(workingDir, ".oa", "episodes.db");
|
|
540944
|
+
if (fs4.existsSync(episodesDbPath)) {
|
|
540945
540945
|
try {
|
|
540946
|
-
const
|
|
540947
|
-
const
|
|
540948
|
-
|
|
540949
|
-
|
|
540950
|
-
|
|
540951
|
-
|
|
540952
|
-
|
|
540953
|
-
|
|
540954
|
-
|
|
540955
|
-
|
|
540956
|
-
|
|
540957
|
-
|
|
540958
|
-
|
|
540959
|
-
|
|
540960
|
-
|
|
540961
|
-
|
|
540962
|
-
|
|
540946
|
+
const episodeStore = new EpisodeStore(episodesDbPath);
|
|
540947
|
+
const allEpisodes = episodeStore.search({ limit: 1e4 });
|
|
540948
|
+
stats.episodes.total = allEpisodes.length;
|
|
540949
|
+
if (allEpisodes.length > 0) {
|
|
540950
|
+
const modalityCounts = {};
|
|
540951
|
+
let totalImportance = 0;
|
|
540952
|
+
const oneDayAgo = Date.now() - 864e5;
|
|
540953
|
+
let recentCount = 0;
|
|
540954
|
+
for (const ep of allEpisodes) {
|
|
540955
|
+
const modality = ep.modality || "unknown";
|
|
540956
|
+
modalityCounts[modality] = (modalityCounts[modality] || 0) + 1;
|
|
540957
|
+
totalImportance += ep.importance || 0;
|
|
540958
|
+
if (ep.timestamp > oneDayAgo) recentCount++;
|
|
540959
|
+
}
|
|
540960
|
+
stats.episodes.byModality = modalityCounts;
|
|
540961
|
+
stats.episodes.avgImportance = totalImportance / allEpisodes.length;
|
|
540962
|
+
stats.episodes.recentCount = recentCount;
|
|
540963
|
+
}
|
|
540964
|
+
episodeStore.close();
|
|
540963
540965
|
} catch (e2) {
|
|
540964
540966
|
}
|
|
540965
540967
|
}
|
|
540966
540968
|
const kgDbPath = path5.join(workingDir, ".oa", "knowledge.db");
|
|
540967
540969
|
if (fs4.existsSync(kgDbPath)) {
|
|
540968
540970
|
try {
|
|
540969
|
-
const
|
|
540970
|
-
|
|
540971
|
-
|
|
540972
|
-
stats.knowledgeGraph.
|
|
540973
|
-
const nodeTypes =
|
|
540974
|
-
for (const
|
|
540975
|
-
|
|
540976
|
-
|
|
540977
|
-
|
|
540978
|
-
|
|
540979
|
-
|
|
540980
|
-
|
|
540981
|
-
|
|
540971
|
+
const kg = new TemporalGraph(kgDbPath);
|
|
540972
|
+
stats.knowledgeGraph.totalNodes = kg.nodeCount();
|
|
540973
|
+
stats.knowledgeGraph.totalEdges = kg.edgeCount();
|
|
540974
|
+
stats.knowledgeGraph.activeEdges = kg.activeEdgeCount();
|
|
540975
|
+
const nodeTypes = ["entity", "event", "concept", "error", "file", "person", "tool", "location"];
|
|
540976
|
+
for (const nt of nodeTypes) {
|
|
540977
|
+
const nodes = kg.nodesByType(nt, 1e3);
|
|
540978
|
+
if (nodes.length > 0) {
|
|
540979
|
+
stats.knowledgeGraph.nodeTypes[nt] = nodes.length;
|
|
540980
|
+
}
|
|
540981
|
+
}
|
|
540982
|
+
kg.close();
|
|
540983
|
+
} catch (e2) {
|
|
540984
|
+
}
|
|
540985
|
+
}
|
|
540986
|
+
const zettelDbPath = path5.join(workingDir, ".oa", "episodes.db");
|
|
540987
|
+
if (fs4.existsSync(zettelDbPath)) {
|
|
540988
|
+
try {
|
|
540989
|
+
const episodeStore = new EpisodeStore(zettelDbPath);
|
|
540990
|
+
const episodes = episodeStore.search({ limit: 100 });
|
|
540991
|
+
let totalLinks = 0;
|
|
540992
|
+
const linkCounts = [];
|
|
540993
|
+
const episodesWithEmbeddings = episodes.filter((e2) => e2.embedding != null);
|
|
540994
|
+
for (const ep of episodesWithEmbeddings.slice(0, 50)) {
|
|
540995
|
+
try {
|
|
540996
|
+
const neighbors2 = findNeighbors(ep, episodesWithEmbeddings, 5, 0.3);
|
|
540997
|
+
if (neighbors2.length > 0) {
|
|
540998
|
+
totalLinks += neighbors2.length;
|
|
540999
|
+
linkCounts.push({ id: ep.id, linkCount: neighbors2.length });
|
|
541000
|
+
}
|
|
541001
|
+
} catch {
|
|
541002
|
+
}
|
|
540982
541003
|
}
|
|
540983
|
-
|
|
541004
|
+
stats.zettelkasten.totalLinks = totalLinks;
|
|
541005
|
+
stats.zettelkasten.avgLinksPerEpisode = episodesWithEmbeddings.length > 0 ? totalLinks / Math.min(episodesWithEmbeddings.length, 50) : 0;
|
|
541006
|
+
stats.zettelkasten.topLinked = linkCounts.sort((a2, b) => b.linkCount - a2.linkCount).slice(0, 5);
|
|
541007
|
+
episodeStore.close();
|
|
540984
541008
|
} catch (e2) {
|
|
540985
541009
|
}
|
|
540986
541010
|
}
|
|
540987
541011
|
return stats;
|
|
540988
541012
|
}
|
|
540989
541013
|
function formatTimestamp(ts) {
|
|
540990
|
-
if (!ts) return "
|
|
540991
|
-
const
|
|
540992
|
-
return
|
|
541014
|
+
if (!ts) return "unknown";
|
|
541015
|
+
const d2 = new Date(ts);
|
|
541016
|
+
return d2.toLocaleString();
|
|
540993
541017
|
}
|
|
540994
541018
|
async function showMemoryMenu(options2) {
|
|
540995
|
-
const { rl, workingDir, availableRows } = options2;
|
|
541019
|
+
const { rl, workingDir, availableRows = 20 } = options2;
|
|
541020
|
+
const stats = getMemoryStats(workingDir);
|
|
540996
541021
|
const items = [
|
|
540997
541022
|
{
|
|
540998
541023
|
key: "zettelkasten",
|
|
540999
|
-
label: import_chalk.default.cyan("
|
|
541000
|
-
detail: "Associative note links
|
|
541024
|
+
label: import_chalk.default.cyan("Zettelkasten") + import_chalk.default.gray(` (${stats.zettelkasten.totalLinks} links)`),
|
|
541025
|
+
detail: "Associative note links between episodes"
|
|
541001
541026
|
},
|
|
541002
541027
|
{
|
|
541003
|
-
key: "
|
|
541004
|
-
label: import_chalk.default.magenta("
|
|
541005
|
-
detail: "Temporal
|
|
541028
|
+
key: "knowledge",
|
|
541029
|
+
label: import_chalk.default.magenta("Knowledge Graph") + import_chalk.default.gray(` (${stats.knowledgeGraph.totalNodes} nodes, ${stats.knowledgeGraph.activeEdges} edges)`),
|
|
541030
|
+
detail: "Temporal graph of entities, events, and concepts"
|
|
541006
541031
|
},
|
|
541007
541032
|
{
|
|
541008
541033
|
key: "episodes",
|
|
541009
|
-
label: import_chalk.default.
|
|
541010
|
-
detail: "Stored experiences
|
|
541011
|
-
}
|
|
541034
|
+
label: import_chalk.default.yellow("Episodes") + import_chalk.default.gray(` (${stats.episodes.total} total)`),
|
|
541035
|
+
detail: "Stored experiences and observations"
|
|
541036
|
+
},
|
|
541037
|
+
{ key: "separator", label: import_chalk.default.gray("─".repeat(30)) },
|
|
541038
|
+
{ key: "back", label: import_chalk.default.red("← Back") }
|
|
541012
541039
|
];
|
|
541040
|
+
renderInfo2("Memory Browser — Select a system to explore");
|
|
541041
|
+
console.log();
|
|
541013
541042
|
const result = await tuiSelect({
|
|
541014
541043
|
items,
|
|
541015
|
-
activeKey: "zettelkasten",
|
|
541016
|
-
title: "Memory Systems",
|
|
541017
541044
|
rl,
|
|
541018
|
-
|
|
541019
|
-
|
|
541020
|
-
if (item.key === "zettelkasten") {
|
|
541021
|
-
showZettelkastenMenu(options2).then(() => {
|
|
541022
|
-
resolve41({ confirmed: true, key: "zettelkasten", index: 0 });
|
|
541023
|
-
});
|
|
541024
|
-
return true;
|
|
541025
|
-
}
|
|
541026
|
-
if (item.key === "knowledge_graph") {
|
|
541027
|
-
showKnowledgeGraphMenu(options2).then(() => {
|
|
541028
|
-
resolve41({ confirmed: true, key: "knowledge_graph", index: 1 });
|
|
541029
|
-
});
|
|
541030
|
-
return true;
|
|
541031
|
-
}
|
|
541032
|
-
if (item.key === "episodes") {
|
|
541033
|
-
showEpisodesMenu(options2).then(() => {
|
|
541034
|
-
resolve41({ confirmed: true, key: "episodes", index: 2 });
|
|
541035
|
-
});
|
|
541036
|
-
return true;
|
|
541037
|
-
}
|
|
541038
|
-
return false;
|
|
541039
|
-
}
|
|
541045
|
+
skipKeys: ["separator"],
|
|
541046
|
+
availableRows
|
|
541040
541047
|
});
|
|
541041
|
-
if (result.confirmed
|
|
541042
|
-
|
|
541048
|
+
if (!result.confirmed || result.key === "back") {
|
|
541049
|
+
return;
|
|
541050
|
+
}
|
|
541051
|
+
switch (result.key) {
|
|
541052
|
+
case "zettelkasten":
|
|
541053
|
+
await showZettelkastenMenu(options2);
|
|
541054
|
+
break;
|
|
541055
|
+
case "knowledge":
|
|
541056
|
+
await showKnowledgeGraphMenu(options2);
|
|
541057
|
+
break;
|
|
541058
|
+
case "episodes":
|
|
541059
|
+
await showEpisodesMenu(options2);
|
|
541060
|
+
break;
|
|
541043
541061
|
}
|
|
541044
541062
|
}
|
|
541045
541063
|
async function showZettelkastenMenu(options2) {
|
|
541046
|
-
const { rl, workingDir, availableRows } = options2;
|
|
541047
|
-
const
|
|
541048
|
-
|
|
541049
|
-
|
|
541050
|
-
|
|
541051
|
-
label: import_chalk.default.gray("←") + " Back",
|
|
541052
|
-
detail: "Return to memory menu"
|
|
541053
|
-
},
|
|
541054
|
-
{
|
|
541055
|
-
key: "__stats__",
|
|
541056
|
-
label: import_chalk.default.yellow("📊") + " Statistics",
|
|
541057
|
-
detail: `Links: ${stats.zettelkasten.totalLinks} | Avg: ${stats.zettelkasten.avgLinksPerEpisode.toFixed(2)} per episode`
|
|
541058
|
-
}
|
|
541059
|
-
];
|
|
541060
|
-
for (const neighbor of stats.zettelkasten.topNeighbors.slice(0, 10)) {
|
|
541061
|
-
items.push({
|
|
541062
|
-
key: `neighbor_${neighbor.id}`,
|
|
541063
|
-
label: import_chalk.default.cyan("◈") + ` ${neighbor.id.slice(0, 16)}...`,
|
|
541064
|
-
detail: `${neighbor.linkCount} links`
|
|
541065
|
-
});
|
|
541064
|
+
const { rl, workingDir, availableRows = 20 } = options2;
|
|
541065
|
+
const dbPath = path5.join(workingDir, ".oa", "episodes.db");
|
|
541066
|
+
if (!fs4.existsSync(dbPath)) {
|
|
541067
|
+
renderError2("No episode database found at .oa/episodes.db");
|
|
541068
|
+
return;
|
|
541066
541069
|
}
|
|
541067
|
-
|
|
541068
|
-
|
|
541069
|
-
|
|
541070
|
-
|
|
541071
|
-
|
|
541072
|
-
|
|
541073
|
-
|
|
541074
|
-
|
|
541075
|
-
|
|
541076
|
-
|
|
541077
|
-
|
|
541078
|
-
|
|
541079
|
-
|
|
541080
|
-
|
|
541081
|
-
|
|
541082
|
-
|
|
541083
|
-
resolve41({ confirmed: true, key: "__stats__", index: 1 });
|
|
541084
|
-
return true;
|
|
541085
|
-
}
|
|
541086
|
-
if (item.key?.startsWith("neighbor_")) {
|
|
541087
|
-
const neighborId = item.key.replace("neighbor_", "");
|
|
541088
|
-
showNeighborDetail(options2, neighborId).then(() => {
|
|
541089
|
-
resolve41({ confirmed: true, key: item.key, index: -1 });
|
|
541070
|
+
renderInfo2("Zettelkasten — Linked Episodes");
|
|
541071
|
+
console.log();
|
|
541072
|
+
try {
|
|
541073
|
+
const episodeStore = new EpisodeStore(dbPath);
|
|
541074
|
+
const episodes = episodeStore.search({ limit: 100 });
|
|
541075
|
+
const episodesWithEmbeddings = episodes.filter((e2) => e2.embedding != null);
|
|
541076
|
+
const items = [];
|
|
541077
|
+
for (const ep of episodesWithEmbeddings.slice(0, 50)) {
|
|
541078
|
+
try {
|
|
541079
|
+
const neighbors2 = findNeighbors(ep, episodesWithEmbeddings, 5, 0.3);
|
|
541080
|
+
const linkCount = neighbors2.length;
|
|
541081
|
+
const preview = (ep.gist || ep.content || "").slice(0, 50);
|
|
541082
|
+
items.push({
|
|
541083
|
+
key: ep.id,
|
|
541084
|
+
label: import_chalk.default.cyan(ep.id.slice(0, 8)) + import_chalk.default.gray(` (${linkCount} links)`) + " " + import_chalk.default.white(preview + "..."),
|
|
541085
|
+
detail: `Modality: ${ep.modality}, Importance: ${ep.importance}`
|
|
541090
541086
|
});
|
|
541091
|
-
|
|
541087
|
+
} catch {
|
|
541092
541088
|
}
|
|
541093
|
-
return false;
|
|
541094
541089
|
}
|
|
541095
|
-
|
|
541096
|
-
|
|
541097
|
-
await
|
|
541090
|
+
items.push({ key: "separator", label: import_chalk.default.gray("─".repeat(30)) });
|
|
541091
|
+
items.push({ key: "back", label: import_chalk.default.red("← Back") });
|
|
541092
|
+
const result = await tuiSelect({
|
|
541093
|
+
items,
|
|
541094
|
+
rl,
|
|
541095
|
+
skipKeys: ["separator"],
|
|
541096
|
+
availableRows
|
|
541097
|
+
});
|
|
541098
|
+
episodeStore.close();
|
|
541099
|
+
if (result.confirmed && result.key !== "back") {
|
|
541100
|
+
await showNeighborDetail(options2, result.key, episodesWithEmbeddings);
|
|
541101
|
+
}
|
|
541102
|
+
} catch (e2) {
|
|
541103
|
+
renderError2(`Failed to load Zettelkasten: ${e2}`);
|
|
541098
541104
|
}
|
|
541099
541105
|
}
|
|
541100
|
-
async function showNeighborDetail(options2,
|
|
541101
|
-
const { rl, availableRows } = options2;
|
|
541102
|
-
const
|
|
541103
|
-
|
|
541104
|
-
|
|
541105
|
-
|
|
541106
|
-
|
|
541107
|
-
|
|
541108
|
-
{
|
|
541109
|
-
|
|
541110
|
-
|
|
541111
|
-
|
|
541112
|
-
}
|
|
541113
|
-
];
|
|
541114
|
-
await tuiSelect({
|
|
541115
|
-
items,
|
|
541116
|
-
activeKey: "__back__",
|
|
541117
|
-
title: `Neighbor: ${neighborId.slice(0, 24)}...`,
|
|
541118
|
-
rl,
|
|
541119
|
-
availableRows,
|
|
541120
|
-
onEnter: (item, { resolve: resolve41 }) => {
|
|
541121
|
-
if (item.key === "__back__") {
|
|
541122
|
-
resolve41({ confirmed: false, key: "", index: -1 });
|
|
541123
|
-
return true;
|
|
541124
|
-
}
|
|
541125
|
-
return false;
|
|
541106
|
+
async function showNeighborDetail(options2, episodeId, allEpisodes) {
|
|
541107
|
+
const { rl, workingDir, availableRows = 20 } = options2;
|
|
541108
|
+
const dbPath = path5.join(workingDir, ".oa", "episodes.db");
|
|
541109
|
+
renderInfo2(`Neighbors of ${episodeId.slice(0, 8)}`);
|
|
541110
|
+
console.log();
|
|
541111
|
+
try {
|
|
541112
|
+
const episodeStore = new EpisodeStore(dbPath);
|
|
541113
|
+
const episode = episodeStore.get(episodeId);
|
|
541114
|
+
if (!episode || !episode.embedding) {
|
|
541115
|
+
renderWarning2("Episode not found or has no embedding");
|
|
541116
|
+
episodeStore.close();
|
|
541117
|
+
return;
|
|
541126
541118
|
}
|
|
541127
|
-
|
|
541128
|
-
|
|
541129
|
-
|
|
541130
|
-
|
|
541131
|
-
|
|
541132
|
-
const items = [
|
|
541133
|
-
{
|
|
541134
|
-
key: "__back__",
|
|
541135
|
-
label: import_chalk.default.gray("←") + " Back",
|
|
541136
|
-
detail: "Return to memory menu"
|
|
541137
|
-
},
|
|
541138
|
-
{
|
|
541139
|
-
key: "__stats__",
|
|
541140
|
-
label: import_chalk.default.yellow("📊") + " Statistics",
|
|
541141
|
-
detail: `Nodes: ${stats.knowledgeGraph.totalNodes} | Edges: ${stats.knowledgeGraph.totalEdges}`
|
|
541119
|
+
const neighbors2 = findNeighbors(episode, allEpisodes, 10, 0.3);
|
|
541120
|
+
if (neighbors2.length === 0) {
|
|
541121
|
+
renderWarning2("No linked episodes found");
|
|
541122
|
+
episodeStore.close();
|
|
541123
|
+
return;
|
|
541142
541124
|
}
|
|
541143
|
-
|
|
541144
|
-
|
|
541145
|
-
|
|
541146
|
-
|
|
541147
|
-
|
|
541148
|
-
|
|
541149
|
-
});
|
|
541150
|
-
|
|
541151
|
-
|
|
541152
|
-
|
|
541153
|
-
|
|
541154
|
-
|
|
541155
|
-
detail: `${count} edges`
|
|
541125
|
+
const items = neighbors2.map(({ episode: n2, similarity }) => ({
|
|
541126
|
+
key: n2.id,
|
|
541127
|
+
label: import_chalk.default.cyan(n2.id.slice(0, 8)) + " " + import_chalk.default.gray(`(sim: ${similarity.toFixed(2)})`),
|
|
541128
|
+
detail: n2.gist || n2.content?.slice(0, 60) || "No preview"
|
|
541129
|
+
}));
|
|
541130
|
+
items.push({ key: "separator", label: import_chalk.default.gray("─".repeat(30)) });
|
|
541131
|
+
items.push({ key: "back", label: import_chalk.default.red("← Back") });
|
|
541132
|
+
const result = await tuiSelect({
|
|
541133
|
+
items,
|
|
541134
|
+
rl,
|
|
541135
|
+
skipKeys: ["separator"],
|
|
541136
|
+
availableRows
|
|
541156
541137
|
});
|
|
541157
|
-
|
|
541158
|
-
|
|
541159
|
-
|
|
541160
|
-
activeKey: "__back__",
|
|
541161
|
-
title: "Knowledge Graph — Temporal Nodes & Edges",
|
|
541162
|
-
rl,
|
|
541163
|
-
availableRows,
|
|
541164
|
-
onEnter: (item, { resolve: resolve41 }) => {
|
|
541165
|
-
if (item.key === "__back__") {
|
|
541166
|
-
resolve41({ confirmed: false, key: "", index: -1 });
|
|
541167
|
-
return true;
|
|
541168
|
-
}
|
|
541169
|
-
if (item.key === "__stats__") {
|
|
541170
|
-
renderInfo2("Knowledge Graph Statistics:");
|
|
541171
|
-
console.log(` Total Nodes: ${stats.knowledgeGraph.totalNodes}`);
|
|
541172
|
-
console.log(` Total Edges: ${stats.knowledgeGraph.totalEdges}`);
|
|
541173
|
-
console.log(` Node Types: ${Object.keys(stats.knowledgeGraph.nodeTypes).join(", ") || "none"}`);
|
|
541174
|
-
console.log(` Edge Types: ${Object.keys(stats.knowledgeGraph.edgeTypes).join(", ") || "none"}`);
|
|
541175
|
-
resolve41({ confirmed: true, key: "__stats__", index: 1 });
|
|
541176
|
-
return true;
|
|
541177
|
-
}
|
|
541178
|
-
resolve41({ confirmed: true, key: item.key, index: -1 });
|
|
541179
|
-
return true;
|
|
541138
|
+
episodeStore.close();
|
|
541139
|
+
if (result.confirmed && result.key !== "back") {
|
|
541140
|
+
await showEpisodeDetail(options2, result.key);
|
|
541180
541141
|
}
|
|
541181
|
-
})
|
|
541182
|
-
|
|
541183
|
-
await showKnowledgeGraphMenu(options2);
|
|
541142
|
+
} catch (e2) {
|
|
541143
|
+
renderError2(`Failed to load neighbors: ${e2}`);
|
|
541184
541144
|
}
|
|
541185
541145
|
}
|
|
541186
|
-
async function
|
|
541187
|
-
const { rl, workingDir, availableRows } = options2;
|
|
541188
|
-
const
|
|
541189
|
-
|
|
541190
|
-
|
|
541191
|
-
|
|
541192
|
-
label: import_chalk.default.gray("←") + " Back",
|
|
541193
|
-
detail: "Return to memory menu"
|
|
541194
|
-
},
|
|
541195
|
-
{
|
|
541196
|
-
key: "__stats__",
|
|
541197
|
-
label: import_chalk.default.yellow("📊") + " Statistics",
|
|
541198
|
-
detail: `Total: ${stats.episodes.total} | Avg Importance: ${stats.episodes.avgImportance.toFixed(2)}`
|
|
541199
|
-
}
|
|
541200
|
-
];
|
|
541201
|
-
for (const [modality, count] of Object.entries(stats.episodes.modalities)) {
|
|
541202
|
-
items.push({
|
|
541203
|
-
key: `modality_${modality}`,
|
|
541204
|
-
label: import_chalk.default.green("●") + ` ${modality}`,
|
|
541205
|
-
detail: `${count} episodes`
|
|
541206
|
-
});
|
|
541146
|
+
async function showKnowledgeGraphMenu(options2) {
|
|
541147
|
+
const { rl, workingDir, availableRows = 20 } = options2;
|
|
541148
|
+
const dbPath = path5.join(workingDir, ".oa", "knowledge.db");
|
|
541149
|
+
if (!fs4.existsSync(dbPath)) {
|
|
541150
|
+
renderError2("No knowledge graph database found at .oa/knowledge.db");
|
|
541151
|
+
return;
|
|
541207
541152
|
}
|
|
541208
|
-
|
|
541209
|
-
|
|
541210
|
-
|
|
541211
|
-
|
|
541212
|
-
|
|
541153
|
+
renderInfo2("Knowledge Graph — Nodes and Edges");
|
|
541154
|
+
console.log();
|
|
541155
|
+
try {
|
|
541156
|
+
const kg = new TemporalGraph(dbPath);
|
|
541157
|
+
const nodeTypes = ["entity", "event", "concept", "error", "file", "person", "tool", "location"];
|
|
541158
|
+
const items = [];
|
|
541159
|
+
for (const nt of nodeTypes) {
|
|
541160
|
+
const nodes = kg.nodesByType(nt, 100);
|
|
541161
|
+
if (nodes.length > 0) {
|
|
541162
|
+
items.push({
|
|
541163
|
+
key: `type:${nt}`,
|
|
541164
|
+
label: import_chalk.default.magenta(nt) + import_chalk.default.gray(` (${nodes.length} nodes)`),
|
|
541165
|
+
detail: `Browse ${nt} nodes`
|
|
541166
|
+
});
|
|
541167
|
+
}
|
|
541168
|
+
}
|
|
541169
|
+
items.push({ key: "separator", label: import_chalk.default.gray("─".repeat(30)) });
|
|
541170
|
+
items.push({ key: "back", label: import_chalk.default.red("← Back") });
|
|
541171
|
+
const result = await tuiSelect({
|
|
541172
|
+
items,
|
|
541173
|
+
rl,
|
|
541174
|
+
skipKeys: ["separator"],
|
|
541175
|
+
availableRows
|
|
541213
541176
|
});
|
|
541177
|
+
kg.close();
|
|
541178
|
+
if (result.confirmed && result.key !== "back" && result.key?.startsWith("type:")) {
|
|
541179
|
+
await showNodesByType(options2, result.key.replace("type:", ""));
|
|
541180
|
+
}
|
|
541181
|
+
} catch (e2) {
|
|
541182
|
+
renderError2(`Failed to load Knowledge Graph: ${e2}`);
|
|
541214
541183
|
}
|
|
541215
|
-
|
|
541216
|
-
|
|
541217
|
-
|
|
541218
|
-
|
|
541219
|
-
|
|
541220
|
-
|
|
541221
|
-
|
|
541184
|
+
}
|
|
541185
|
+
async function showNodesByType(options2, nodeType) {
|
|
541186
|
+
const { rl, workingDir, availableRows = 20 } = options2;
|
|
541187
|
+
const dbPath = path5.join(workingDir, ".oa", "knowledge.db");
|
|
541188
|
+
renderInfo2(`Nodes of type: ${nodeType}`);
|
|
541189
|
+
console.log();
|
|
541190
|
+
try {
|
|
541191
|
+
const kg = new TemporalGraph(dbPath);
|
|
541192
|
+
const nodes = kg.nodesByType(nodeType, 50);
|
|
541193
|
+
const items = nodes.map((n2) => ({
|
|
541194
|
+
key: n2.id,
|
|
541195
|
+
label: import_chalk.default.magenta(n2.text.slice(0, 40)) + import_chalk.default.gray(` (${n2.mentionCount} mentions)`),
|
|
541196
|
+
detail: `First seen: ${formatTimestamp(n2.firstSeen)}`
|
|
541197
|
+
}));
|
|
541198
|
+
items.push({ key: "separator", label: import_chalk.default.gray("─".repeat(30)) });
|
|
541199
|
+
items.push({ key: "back", label: import_chalk.default.red("← Back") });
|
|
541200
|
+
const result = await tuiSelect({
|
|
541201
|
+
items,
|
|
541202
|
+
rl,
|
|
541203
|
+
skipKeys: ["separator"],
|
|
541204
|
+
availableRows
|
|
541222
541205
|
});
|
|
541223
|
-
|
|
541224
|
-
|
|
541225
|
-
|
|
541226
|
-
activeKey: "__back__",
|
|
541227
|
-
title: "Episodes — Stored Experiences",
|
|
541228
|
-
rl,
|
|
541229
|
-
availableRows,
|
|
541230
|
-
onEnter: (item, { resolve: resolve41 }) => {
|
|
541231
|
-
if (item.key === "__back__") {
|
|
541232
|
-
resolve41({ confirmed: false, key: "", index: -1 });
|
|
541233
|
-
return true;
|
|
541234
|
-
}
|
|
541235
|
-
if (item.key === "__stats__") {
|
|
541236
|
-
renderInfo2("Episode Statistics:");
|
|
541237
|
-
console.log(` Total Episodes: ${stats.episodes.total}`);
|
|
541238
|
-
console.log(` Avg Importance: ${stats.episodes.avgImportance.toFixed(2)}`);
|
|
541239
|
-
console.log(` Oldest: ${formatTimestamp(stats.episodes.oldestTs)}`);
|
|
541240
|
-
console.log(` Newest: ${formatTimestamp(stats.episodes.newestTs)}`);
|
|
541241
|
-
console.log(` Modalities: ${Object.entries(stats.episodes.modalities).map(([k, v]) => `${k}(${v})`).join(", ") || "none"}`);
|
|
541242
|
-
resolve41({ confirmed: true, key: "__stats__", index: 1 });
|
|
541243
|
-
return true;
|
|
541244
|
-
}
|
|
541245
|
-
if (item.key?.startsWith("episode_")) {
|
|
541246
|
-
const episodeId = item.key.replace("episode_", "");
|
|
541247
|
-
showEpisodeDetail(options2, episodeId).then(() => {
|
|
541248
|
-
resolve41({ confirmed: true, key: item.key, index: -1 });
|
|
541249
|
-
});
|
|
541250
|
-
return true;
|
|
541251
|
-
}
|
|
541252
|
-
resolve41({ confirmed: true, key: item.key, index: -1 });
|
|
541253
|
-
return true;
|
|
541206
|
+
kg.close();
|
|
541207
|
+
if (result.confirmed && result.key !== "back") {
|
|
541208
|
+
await showNodeDetail(options2, result.key);
|
|
541254
541209
|
}
|
|
541255
|
-
})
|
|
541256
|
-
|
|
541257
|
-
await showEpisodesMenu(options2);
|
|
541210
|
+
} catch (e2) {
|
|
541211
|
+
renderError2(`Failed to load nodes: ${e2}`);
|
|
541258
541212
|
}
|
|
541259
541213
|
}
|
|
541260
|
-
function
|
|
541261
|
-
const
|
|
541262
|
-
|
|
541214
|
+
async function showNodeDetail(options2, nodeId) {
|
|
541215
|
+
const { rl, workingDir } = options2;
|
|
541216
|
+
const dbPath = path5.join(workingDir, ".oa", "knowledge.db");
|
|
541217
|
+
renderInfo2(`Node: ${nodeId}`);
|
|
541218
|
+
console.log();
|
|
541263
541219
|
try {
|
|
541264
|
-
const
|
|
541265
|
-
const
|
|
541266
|
-
|
|
541267
|
-
|
|
541268
|
-
|
|
541269
|
-
|
|
541270
|
-
|
|
541271
|
-
|
|
541272
|
-
|
|
541273
|
-
|
|
541220
|
+
const kg = new TemporalGraph(dbPath);
|
|
541221
|
+
const node = kg.getNode(nodeId);
|
|
541222
|
+
if (!node) {
|
|
541223
|
+
renderWarning2("Node not found");
|
|
541224
|
+
kg.close();
|
|
541225
|
+
return;
|
|
541226
|
+
}
|
|
541227
|
+
console.log(import_chalk.default.bold("Text:"), node.text);
|
|
541228
|
+
console.log(import_chalk.default.bold("Type:"), node.nodeType);
|
|
541229
|
+
console.log(import_chalk.default.bold("Mentions:"), node.mentionCount);
|
|
541230
|
+
console.log(import_chalk.default.bold("First seen:"), formatTimestamp(node.firstSeen));
|
|
541231
|
+
console.log(import_chalk.default.bold("Last seen:"), formatTimestamp(node.lastSeen));
|
|
541232
|
+
console.log();
|
|
541233
|
+
const edges = kg.currentEdges(nodeId);
|
|
541234
|
+
if (edges.length > 0) {
|
|
541235
|
+
console.log(import_chalk.default.bold("Edges:"));
|
|
541236
|
+
for (const e2 of edges.slice(0, 10)) {
|
|
541237
|
+
const otherId = e2.srcId === nodeId ? e2.dstId : e2.srcId;
|
|
541238
|
+
const otherNode = kg.getNode(otherId);
|
|
541239
|
+
console.log(` ${import_chalk.default.cyan(e2.relation)} → ${otherNode?.text || otherId.slice(0, 8)}`);
|
|
541240
|
+
}
|
|
541241
|
+
}
|
|
541242
|
+
kg.close();
|
|
541274
541243
|
} catch (e2) {
|
|
541275
|
-
|
|
541244
|
+
renderError2(`Failed to load node: ${e2}`);
|
|
541276
541245
|
}
|
|
541246
|
+
console.log();
|
|
541247
|
+
renderInfo2("Press Enter to go back...");
|
|
541248
|
+
await new Promise((resolve41) => {
|
|
541249
|
+
rl.resume();
|
|
541250
|
+
rl.once("line", () => resolve41());
|
|
541251
|
+
});
|
|
541277
541252
|
}
|
|
541278
|
-
async function
|
|
541279
|
-
const { rl, workingDir, availableRows } = options2;
|
|
541280
|
-
const
|
|
541281
|
-
if (!
|
|
541282
|
-
|
|
541253
|
+
async function showEpisodesMenu(options2) {
|
|
541254
|
+
const { rl, workingDir, availableRows = 20 } = options2;
|
|
541255
|
+
const dbPath = path5.join(workingDir, ".oa", "episodes.db");
|
|
541256
|
+
if (!fs4.existsSync(dbPath)) {
|
|
541257
|
+
renderError2("No episode database found at .oa/episodes.db");
|
|
541283
541258
|
return;
|
|
541284
541259
|
}
|
|
541285
|
-
|
|
541286
|
-
|
|
541287
|
-
|
|
541288
|
-
|
|
541289
|
-
|
|
541290
|
-
|
|
541291
|
-
|
|
541292
|
-
|
|
541293
|
-
|
|
541294
|
-
|
|
541295
|
-
|
|
541296
|
-
|
|
541297
|
-
|
|
541298
|
-
label: import_chalk.default.yellow("★") + " Importance",
|
|
541299
|
-
detail: String(episode.importance || 0)
|
|
541300
|
-
},
|
|
541301
|
-
{
|
|
541302
|
-
key: "__modality__",
|
|
541303
|
-
label: import_chalk.default.cyan("◈") + " Modality",
|
|
541304
|
-
detail: episode.modality || "text"
|
|
541305
|
-
},
|
|
541306
|
-
{
|
|
541307
|
-
key: "__timestamp__",
|
|
541308
|
-
label: import_chalk.default.blue("⏱") + " Timestamp",
|
|
541309
|
-
detail: formatTimestamp(episode.timestamp || null)
|
|
541310
|
-
}
|
|
541311
|
-
];
|
|
541312
|
-
if (episode.gist) {
|
|
541313
|
-
items.push({
|
|
541314
|
-
key: "__gist__",
|
|
541315
|
-
label: import_chalk.default.magenta("📝") + " Gist",
|
|
541316
|
-
detail: episode.gist.slice(0, 60) + (episode.gist.length > 60 ? "..." : "")
|
|
541260
|
+
renderInfo2("Episodes — Recent Experiences");
|
|
541261
|
+
console.log();
|
|
541262
|
+
try {
|
|
541263
|
+
const episodeStore = new EpisodeStore(dbPath);
|
|
541264
|
+
const episodes = episodeStore.search({ limit: 50 });
|
|
541265
|
+
const items = episodes.map((ep) => {
|
|
541266
|
+
const preview = (ep.gist || ep.content || "").slice(0, 50);
|
|
541267
|
+
const timeAgo = formatTimeAgo(ep.timestamp);
|
|
541268
|
+
return {
|
|
541269
|
+
key: ep.id,
|
|
541270
|
+
label: import_chalk.default.yellow(ep.id.slice(0, 8)) + import_chalk.default.gray(` [${ep.modality}]`) + " " + import_chalk.default.white(preview + "..."),
|
|
541271
|
+
detail: `Importance: ${ep.importance}, ${timeAgo}`
|
|
541272
|
+
};
|
|
541317
541273
|
});
|
|
541318
|
-
|
|
541319
|
-
|
|
541320
|
-
const
|
|
541321
|
-
|
|
541322
|
-
|
|
541323
|
-
|
|
541324
|
-
|
|
541274
|
+
items.push({ key: "separator", label: import_chalk.default.gray("─".repeat(30)) });
|
|
541275
|
+
items.push({ key: "back", label: import_chalk.default.red("← Back") });
|
|
541276
|
+
const result = await tuiSelect({
|
|
541277
|
+
items,
|
|
541278
|
+
rl,
|
|
541279
|
+
skipKeys: ["separator"],
|
|
541280
|
+
availableRows
|
|
541325
541281
|
});
|
|
541326
|
-
|
|
541327
|
-
|
|
541328
|
-
|
|
541329
|
-
activeKey: "__back__",
|
|
541330
|
-
title: `Episode: ${episodeId.slice(0, 20)}...`,
|
|
541331
|
-
rl,
|
|
541332
|
-
availableRows,
|
|
541333
|
-
onEnter: (item, { resolve: resolve41 }) => {
|
|
541334
|
-
if (item.key === "__back__") {
|
|
541335
|
-
resolve41({ confirmed: false, key: "", index: -1 });
|
|
541336
|
-
return true;
|
|
541337
|
-
}
|
|
541338
|
-
if (item.key === "__text__" && episode.text) {
|
|
541339
|
-
console.log("\n" + import_chalk.default.dim("─".repeat(40)));
|
|
541340
|
-
console.log(import_chalk.default.white("Full Text:"));
|
|
541341
|
-
console.log(episode.text);
|
|
541342
|
-
console.log(import_chalk.default.dim("─".repeat(40)) + "\n");
|
|
541343
|
-
resolve41({ confirmed: true, key: "__text__", index: -1 });
|
|
541344
|
-
return true;
|
|
541345
|
-
}
|
|
541346
|
-
if (item.key === "__gist__" && episode.gist) {
|
|
541347
|
-
console.log("\n" + import_chalk.default.dim("─".repeat(40)));
|
|
541348
|
-
console.log(import_chalk.default.magenta("Full Gist:"));
|
|
541349
|
-
console.log(episode.gist);
|
|
541350
|
-
console.log(import_chalk.default.dim("─".repeat(40)) + "\n");
|
|
541351
|
-
resolve41({ confirmed: true, key: "__gist__", index: -1 });
|
|
541352
|
-
return true;
|
|
541353
|
-
}
|
|
541354
|
-
return false;
|
|
541282
|
+
episodeStore.close();
|
|
541283
|
+
if (result.confirmed && result.key !== "back") {
|
|
541284
|
+
await showEpisodeDetail(options2, result.key);
|
|
541355
541285
|
}
|
|
541356
|
-
})
|
|
541286
|
+
} catch (e2) {
|
|
541287
|
+
renderError2(`Failed to load episodes: ${e2}`);
|
|
541288
|
+
}
|
|
541289
|
+
}
|
|
541290
|
+
function formatTimeAgo(timestamp) {
|
|
541291
|
+
const seconds = Math.floor((Date.now() - timestamp) / 1e3);
|
|
541292
|
+
if (seconds < 60) return "just now";
|
|
541293
|
+
if (seconds < 3600) return `${Math.floor(seconds / 60)}m ago`;
|
|
541294
|
+
if (seconds < 86400) return `${Math.floor(seconds / 3600)}h ago`;
|
|
541295
|
+
return `${Math.floor(seconds / 86400)}d ago`;
|
|
541357
541296
|
}
|
|
541358
|
-
function
|
|
541359
|
-
const
|
|
541360
|
-
|
|
541297
|
+
async function showEpisodeDetail(options2, episodeId) {
|
|
541298
|
+
const { rl, workingDir } = options2;
|
|
541299
|
+
const dbPath = path5.join(workingDir, ".oa", "episodes.db");
|
|
541300
|
+
renderInfo2(`Episode: ${episodeId.slice(0, 8)}`);
|
|
541301
|
+
console.log();
|
|
541361
541302
|
try {
|
|
541362
|
-
const
|
|
541363
|
-
const
|
|
541364
|
-
|
|
541365
|
-
|
|
541366
|
-
|
|
541367
|
-
|
|
541368
|
-
|
|
541369
|
-
|
|
541370
|
-
|
|
541303
|
+
const episodeStore = new EpisodeStore(dbPath);
|
|
541304
|
+
const episode = episodeStore.get(episodeId);
|
|
541305
|
+
if (!episode) {
|
|
541306
|
+
renderWarning2("Episode not found");
|
|
541307
|
+
episodeStore.close();
|
|
541308
|
+
return;
|
|
541309
|
+
}
|
|
541310
|
+
console.log(import_chalk.default.bold("ID:"), episode.id);
|
|
541311
|
+
console.log(import_chalk.default.bold("Timestamp:"), formatTimestamp(episode.timestamp));
|
|
541312
|
+
console.log(import_chalk.default.bold("Modality:"), episode.modality);
|
|
541313
|
+
console.log(import_chalk.default.bold("Importance:"), episode.importance);
|
|
541314
|
+
console.log(import_chalk.default.bold("Decay Class:"), episode.decayClass);
|
|
541315
|
+
console.log(import_chalk.default.bold("Strength:"), episode.strength);
|
|
541316
|
+
if (episode.toolName) {
|
|
541317
|
+
console.log(import_chalk.default.bold("Tool:"), episode.toolName);
|
|
541318
|
+
}
|
|
541319
|
+
if (episode.gist) {
|
|
541320
|
+
console.log();
|
|
541321
|
+
console.log(import_chalk.default.bold("Gist:"));
|
|
541322
|
+
console.log(import_chalk.default.gray(episode.gist));
|
|
541323
|
+
}
|
|
541324
|
+
if (episode.content) {
|
|
541325
|
+
console.log();
|
|
541326
|
+
console.log(import_chalk.default.bold("Content:"));
|
|
541327
|
+
const content = episode.content.length > 500 ? episode.content.slice(0, 500) + "..." : episode.content;
|
|
541328
|
+
console.log(import_chalk.default.white(content));
|
|
541329
|
+
}
|
|
541330
|
+
episodeStore.close();
|
|
541371
541331
|
} catch (e2) {
|
|
541372
|
-
|
|
541332
|
+
renderError2(`Failed to load episode: ${e2}`);
|
|
541373
541333
|
}
|
|
541334
|
+
console.log();
|
|
541335
|
+
renderInfo2("Press Enter to go back...");
|
|
541336
|
+
await new Promise((resolve41) => {
|
|
541337
|
+
rl.resume();
|
|
541338
|
+
rl.once("line", () => resolve41());
|
|
541339
|
+
});
|
|
541374
541340
|
}
|
|
541375
541341
|
var import_chalk;
|
|
541376
541342
|
var init_memory_menu = __esm({
|
|
@@ -541379,6 +541345,7 @@ var init_memory_menu = __esm({
|
|
|
541379
541345
|
import_chalk = __toESM(require_source(), 1);
|
|
541380
541346
|
init_tui_select();
|
|
541381
541347
|
init_render2();
|
|
541348
|
+
init_dist7();
|
|
541382
541349
|
}
|
|
541383
541350
|
});
|
|
541384
541351
|
|
|
@@ -581352,7 +581319,7 @@ import { readFileSync as readFileSync70, writeFileSync as writeFileSync48, appen
|
|
|
581352
581319
|
import { existsSync as existsSync88 } from "node:fs";
|
|
581353
581320
|
import { execSync as execSync56 } from "node:child_process";
|
|
581354
581321
|
import { homedir as homedir40 } from "node:os";
|
|
581355
|
-
function
|
|
581322
|
+
function formatTimeAgo2(date) {
|
|
581356
581323
|
const seconds = Math.floor((Date.now() - date.getTime()) / 1e3);
|
|
581357
581324
|
if (seconds < 60) return "just now";
|
|
581358
581325
|
const minutes = Math.floor(seconds / 60);
|
|
@@ -586511,7 +586478,7 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
|
|
|
586511
586478
|
if (savedCtx && savedCtx.entries.length > 0) {
|
|
586512
586479
|
const lastEntry = savedCtx.entries[savedCtx.entries.length - 1];
|
|
586513
586480
|
const lastTime = lastEntry.savedAt ? new Date(lastEntry.savedAt) : null;
|
|
586514
|
-
const timeAgo = lastTime ?
|
|
586481
|
+
const timeAgo = lastTime ? formatTimeAgo2(lastTime) : "unknown";
|
|
586515
586482
|
const lastTask = lastEntry.task?.slice(0, 80) || "unknown";
|
|
586516
586483
|
setTimeout(async () => {
|
|
586517
586484
|
writeContent(() => {
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "open-agents-ai",
|
|
3
|
-
"version": "0.187.
|
|
3
|
+
"version": "0.187.430",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "open-agents-ai",
|
|
9
|
-
"version": "0.187.
|
|
9
|
+
"version": "0.187.430",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "CC-BY-NC-4.0",
|
|
12
12
|
"dependencies": {
|
|
@@ -392,9 +392,9 @@
|
|
|
392
392
|
"license": "Apache-2.0"
|
|
393
393
|
},
|
|
394
394
|
"node_modules/@chainsafe/as-sha256": {
|
|
395
|
-
"version": "1.2.
|
|
396
|
-
"resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-1.2.
|
|
397
|
-
"integrity": "sha512-
|
|
395
|
+
"version": "1.2.4",
|
|
396
|
+
"resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-1.2.4.tgz",
|
|
397
|
+
"integrity": "sha512-3GXDysZOKD6cTYbm48lEdXdUbS7cafjXQZfgHOspTByhoGR/JM3KBXyF3vE6bf63ImjNPyoEZwnQcpYPQ6k3bQ==",
|
|
398
398
|
"license": "Apache-2.0"
|
|
399
399
|
},
|
|
400
400
|
"node_modules/@chainsafe/is-ip": {
|
|
@@ -481,13 +481,13 @@
|
|
|
481
481
|
}
|
|
482
482
|
},
|
|
483
483
|
"node_modules/@helia/bitswap": {
|
|
484
|
-
"version": "3.2.
|
|
485
|
-
"resolved": "https://registry.npmjs.org/@helia/bitswap/-/bitswap-3.2.
|
|
486
|
-
"integrity": "sha512-
|
|
484
|
+
"version": "3.2.3",
|
|
485
|
+
"resolved": "https://registry.npmjs.org/@helia/bitswap/-/bitswap-3.2.3.tgz",
|
|
486
|
+
"integrity": "sha512-uquUTgYaU5Z08SVFn+Psg1xhkeAqCdLWav0zAaNJE1bQX7UeLItW82+Nh5I40RaH9gMFFqL3IQR0mIzi+bj5Gg==",
|
|
487
487
|
"license": "Apache-2.0 OR MIT",
|
|
488
488
|
"dependencies": {
|
|
489
489
|
"@helia/interface": "^6.2.1",
|
|
490
|
-
"@helia/utils": "^2.5.
|
|
490
|
+
"@helia/utils": "^2.5.2",
|
|
491
491
|
"@libp2p/interface": "^3.2.0",
|
|
492
492
|
"@libp2p/logger": "^6.2.4",
|
|
493
493
|
"@libp2p/peer-collections": "^7.0.15",
|
|
@@ -523,14 +523,14 @@
|
|
|
523
523
|
}
|
|
524
524
|
},
|
|
525
525
|
"node_modules/@helia/block-brokers": {
|
|
526
|
-
"version": "5.2.
|
|
527
|
-
"resolved": "https://registry.npmjs.org/@helia/block-brokers/-/block-brokers-5.2.
|
|
528
|
-
"integrity": "sha512-
|
|
526
|
+
"version": "5.2.4",
|
|
527
|
+
"resolved": "https://registry.npmjs.org/@helia/block-brokers/-/block-brokers-5.2.4.tgz",
|
|
528
|
+
"integrity": "sha512-UsxtWVy2W95FVM561BZXEnb41RL6pr+cLF+AIxVIaugEvg4edUKh+3sbZXoINtzbqS664Ss2dhisHR1ZnYI57Q==",
|
|
529
529
|
"license": "Apache-2.0 OR MIT",
|
|
530
530
|
"dependencies": {
|
|
531
|
-
"@helia/bitswap": "^3.2.
|
|
531
|
+
"@helia/bitswap": "^3.2.3",
|
|
532
532
|
"@helia/interface": "^6.2.1",
|
|
533
|
-
"@helia/utils": "^2.5.
|
|
533
|
+
"@helia/utils": "^2.5.2",
|
|
534
534
|
"@libp2p/interface": "^3.2.0",
|
|
535
535
|
"@libp2p/peer-id": "^6.0.6",
|
|
536
536
|
"@libp2p/utils": "^7.0.15",
|
|
@@ -673,9 +673,9 @@
|
|
|
673
673
|
}
|
|
674
674
|
},
|
|
675
675
|
"node_modules/@helia/utils": {
|
|
676
|
-
"version": "2.5.
|
|
677
|
-
"resolved": "https://registry.npmjs.org/@helia/utils/-/utils-2.5.
|
|
678
|
-
"integrity": "sha512-
|
|
676
|
+
"version": "2.5.2",
|
|
677
|
+
"resolved": "https://registry.npmjs.org/@helia/utils/-/utils-2.5.2.tgz",
|
|
678
|
+
"integrity": "sha512-6/+RInRpJsJoo13ECQsSkBtK2xUGl/KWaJpBuK9tqg+ng3s5cec2qO9RVhZt4bdkPPqJc/PX+G9zwVhKqp5UwQ==",
|
|
679
679
|
"license": "Apache-2.0 OR MIT",
|
|
680
680
|
"dependencies": {
|
|
681
681
|
"@helia/interface": "^6.2.1",
|
|
@@ -1520,9 +1520,9 @@
|
|
|
1520
1520
|
}
|
|
1521
1521
|
},
|
|
1522
1522
|
"node_modules/@libp2p/webrtc": {
|
|
1523
|
-
"version": "6.0.
|
|
1524
|
-
"resolved": "https://registry.npmjs.org/@libp2p/webrtc/-/webrtc-6.0.
|
|
1525
|
-
"integrity": "sha512-
|
|
1523
|
+
"version": "6.0.19",
|
|
1524
|
+
"resolved": "https://registry.npmjs.org/@libp2p/webrtc/-/webrtc-6.0.19.tgz",
|
|
1525
|
+
"integrity": "sha512-BY0WAMfWcmmhlxB3hWafjjfiRtFO0IrfS9ffT8u4nfDG/FT+vrR/CLJtmEEsypuR6cuuPJCWgrKpKQXgjVm7AQ==",
|
|
1526
1526
|
"license": "Apache-2.0 OR MIT",
|
|
1527
1527
|
"dependencies": {
|
|
1528
1528
|
"@chainsafe/is-ip": "^2.1.0",
|
|
@@ -1537,7 +1537,6 @@
|
|
|
1537
1537
|
"@multiformats/multiaddr-matcher": "^3.0.1",
|
|
1538
1538
|
"@peculiar/webcrypto": "^1.5.0",
|
|
1539
1539
|
"@peculiar/x509": "^2.0.0",
|
|
1540
|
-
"detect-browser": "^5.3.0",
|
|
1541
1540
|
"get-port": "^7.1.0",
|
|
1542
1541
|
"interface-datastore": "^9.0.1",
|
|
1543
1542
|
"it-length-prefixed": "^10.0.1",
|
|
@@ -2773,9 +2772,9 @@
|
|
|
2773
2772
|
"license": "MIT"
|
|
2774
2773
|
},
|
|
2775
2774
|
"node_modules/axios": {
|
|
2776
|
-
"version": "1.15.
|
|
2777
|
-
"resolved": "https://registry.npmjs.org/axios/-/axios-1.15.
|
|
2778
|
-
"integrity": "sha512-
|
|
2775
|
+
"version": "1.15.2",
|
|
2776
|
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.15.2.tgz",
|
|
2777
|
+
"integrity": "sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A==",
|
|
2779
2778
|
"license": "MIT",
|
|
2780
2779
|
"dependencies": {
|
|
2781
2780
|
"follow-redirects": "^1.15.11",
|
|
@@ -2858,9 +2857,9 @@
|
|
|
2858
2857
|
}
|
|
2859
2858
|
},
|
|
2860
2859
|
"node_modules/bare-os": {
|
|
2861
|
-
"version": "3.
|
|
2862
|
-
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.
|
|
2863
|
-
"integrity": "sha512-
|
|
2860
|
+
"version": "3.9.0",
|
|
2861
|
+
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.0.tgz",
|
|
2862
|
+
"integrity": "sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==",
|
|
2864
2863
|
"license": "Apache-2.0",
|
|
2865
2864
|
"optional": true,
|
|
2866
2865
|
"engines": {
|
|
@@ -3894,12 +3893,6 @@
|
|
|
3894
3893
|
"npm": "1.2.8000 || >= 1.4.16"
|
|
3895
3894
|
}
|
|
3896
3895
|
},
|
|
3897
|
-
"node_modules/detect-browser": {
|
|
3898
|
-
"version": "5.3.0",
|
|
3899
|
-
"resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz",
|
|
3900
|
-
"integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==",
|
|
3901
|
-
"license": "MIT"
|
|
3902
|
-
},
|
|
3903
3896
|
"node_modules/detect-libc": {
|
|
3904
3897
|
"version": "2.1.2",
|
|
3905
3898
|
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
|
@@ -3951,9 +3944,9 @@
|
|
|
3951
3944
|
"license": "MIT"
|
|
3952
3945
|
},
|
|
3953
3946
|
"node_modules/electron-to-chromium": {
|
|
3954
|
-
"version": "1.5.
|
|
3955
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.
|
|
3956
|
-
"integrity": "sha512-
|
|
3947
|
+
"version": "1.5.342",
|
|
3948
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.342.tgz",
|
|
3949
|
+
"integrity": "sha512-GTuy59SdGxYgz+HN8KwOjFAVF2gfoKEmv0PFholcvVtbI9GPDND0m6ynGX3gAKOavcHRLrcfNy0QMbHbAemYdw==",
|
|
3957
3950
|
"license": "ISC",
|
|
3958
3951
|
"peer": true
|
|
3959
3952
|
},
|
package/package.json
CHANGED