@wipcomputer/memory-crystal 0.7.29 → 0.7.32
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/CHANGELOG.md +75 -0
- package/SKILL.md +1 -1
- package/package.json +1 -1
- package/scripts/migrate-lance-to-sqlite.mjs +2 -1
- package/_trash/RELEASE-NOTES-v0-7-23.md +0 -48
- package/_trash/RELEASE-NOTES-v0-7-25.md +0 -24
- package/_trash/RELEASE-NOTES-v0-7-26.md +0 -7
- package/_trash/RELEASE-NOTES-v0-7-28.md +0 -31
- package/_trash/RELEASE-NOTES-v0-7-29.md +0 -28
- package/_trash/RELEASE-NOTES-v0-7-4.md +0 -64
- package/_trash/RELEASE-NOTES-v0-7-5.md +0 -19
- package/dist/bridge.d.ts +0 -7
- package/dist/bridge.js +0 -14
- package/dist/bulk-copy.d.ts +0 -17
- package/dist/bulk-copy.js +0 -90
- package/dist/cc-hook.d.ts +0 -8
- package/dist/cc-hook.js +0 -368
- package/dist/cc-poller.d.ts +0 -1
- package/dist/cc-poller.js +0 -550
- package/dist/chunk-25LXQJ4Z.js +0 -110
- package/dist/chunk-2DRXIRQW.js +0 -97
- package/dist/chunk-2ZNH5F6E.js +0 -1281
- package/dist/chunk-3G3SFYYI.js +0 -288
- package/dist/chunk-3RG5ZIWI.js +0 -10
- package/dist/chunk-3S6TI23B.js +0 -97
- package/dist/chunk-3VFIJYS4.js +0 -818
- package/dist/chunk-52QE3YI3.js +0 -1169
- package/dist/chunk-57RP3DIN.js +0 -1205
- package/dist/chunk-5HSZ4W2P.js +0 -62
- package/dist/chunk-645IPXW3.js +0 -290
- package/dist/chunk-7A7ELD4C.js +0 -1205
- package/dist/chunk-7FYY4GZM.js +0 -1205
- package/dist/chunk-7IUE7ODU.js +0 -254
- package/dist/chunk-7RMLKZIS.js +0 -108
- package/dist/chunk-AA3OPP4Z.js +0 -432
- package/dist/chunk-AEWLSYPH.js +0 -72
- package/dist/chunk-ASSZDR6I.js +0 -108
- package/dist/chunk-AYRJVWUC.js +0 -1205
- package/dist/chunk-CCYI5O3D.js +0 -148
- package/dist/chunk-D3I3ZSE2.js +0 -411
- package/dist/chunk-DACSKLY6.js +0 -219
- package/dist/chunk-DW5B4BL7.js +0 -108
- package/dist/chunk-EKSACBTJ.js +0 -1070
- package/dist/chunk-EXEZZADG.js +0 -248
- package/dist/chunk-F3Y7EL7K.js +0 -83
- package/dist/chunk-FBQWSDPC.js +0 -1328
- package/dist/chunk-FHRZNOMW.js +0 -1205
- package/dist/chunk-IM7N24MT.js +0 -129
- package/dist/chunk-IPNYIXFK.js +0 -1178
- package/dist/chunk-J7MRSZIO.js +0 -167
- package/dist/chunk-JITKI2OI.js +0 -106
- package/dist/chunk-JWZXYVET.js +0 -1068
- package/dist/chunk-KCQUXVYT.js +0 -108
- package/dist/chunk-KOQ43OX6.js +0 -1281
- package/dist/chunk-KYVWO6ZM.js +0 -1069
- package/dist/chunk-L3VHARQH.js +0 -413
- package/dist/chunk-LBWDS6BE.js +0 -288
- package/dist/chunk-LOVAHSQV.js +0 -411
- package/dist/chunk-LQOYCAGG.js +0 -446
- package/dist/chunk-LWAIPJ2W.js +0 -146
- package/dist/chunk-M5DHKW7M.js +0 -127
- package/dist/chunk-MBKCIJHM.js +0 -1328
- package/dist/chunk-MK42FMEG.js +0 -147
- package/dist/chunk-MOBMYHKL.js +0 -1205
- package/dist/chunk-MPLTNMRG.js +0 -67
- package/dist/chunk-NIJCVN3O.js +0 -147
- package/dist/chunk-NZCFSZQ7.js +0 -1205
- package/dist/chunk-O2UITJGH.js +0 -465
- package/dist/chunk-OCRA44AZ.js +0 -108
- package/dist/chunk-P3KJR66H.js +0 -117
- package/dist/chunk-PEK6JH65.js +0 -432
- package/dist/chunk-PJ6FFKEX.js +0 -77
- package/dist/chunk-PLUBBZYR.js +0 -800
- package/dist/chunk-PNKVD2UK.js +0 -26
- package/dist/chunk-PSQZURHO.js +0 -229
- package/dist/chunk-SGL6ISBJ.js +0 -1061
- package/dist/chunk-SJABZZT5.js +0 -97
- package/dist/chunk-TD3P3K32.js +0 -1199
- package/dist/chunk-TMDZJJKV.js +0 -288
- package/dist/chunk-UNHVZB5G.js +0 -411
- package/dist/chunk-VAFTWSTE.js +0 -1061
- package/dist/chunk-VNFXFQBB.js +0 -217
- package/dist/chunk-X3GVFKSJ.js +0 -1205
- package/dist/chunk-XZ3S56RQ.js +0 -1061
- package/dist/chunk-Y72C7F6O.js +0 -148
- package/dist/chunk-YLICP577.js +0 -1205
- package/dist/chunk-YX6AXLVK.js +0 -159
- package/dist/chunk-ZCQYHTNU.js +0 -146
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +0 -1105
- package/dist/cloud-crystal.js +0 -6
- package/dist/core.d.ts +0 -232
- package/dist/core.js +0 -12
- package/dist/crypto.d.ts +0 -20
- package/dist/crypto.js +0 -27
- package/dist/crystal-capture.sh +0 -29
- package/dist/crystal-serve.d.ts +0 -4
- package/dist/crystal-serve.js +0 -252
- package/dist/dev-update-SZ2Z4WCQ.js +0 -6
- package/dist/discover.d.ts +0 -30
- package/dist/discover.js +0 -177
- package/dist/doctor.d.ts +0 -9
- package/dist/doctor.js +0 -334
- package/dist/dream-weaver.d.ts +0 -8
- package/dist/dream-weaver.js +0 -56
- package/dist/file-sync.d.ts +0 -48
- package/dist/file-sync.js +0 -18
- package/dist/installer.d.ts +0 -61
- package/dist/installer.js +0 -676
- package/dist/ldm-backup.sh +0 -116
- package/dist/ldm.d.ts +0 -50
- package/dist/ldm.js +0 -32
- package/dist/mcp-server.d.ts +0 -1
- package/dist/mcp-server.js +0 -265
- package/dist/migrate.d.ts +0 -1
- package/dist/migrate.js +0 -89
- package/dist/mirror-sync.d.ts +0 -1
- package/dist/mirror-sync.js +0 -159
- package/dist/oc-backfill.d.ts +0 -19
- package/dist/oc-backfill.js +0 -74
- package/dist/openclaw.d.ts +0 -5
- package/dist/openclaw.js +0 -423
- package/dist/pair.d.ts +0 -4
- package/dist/pair.js +0 -75
- package/dist/poller.d.ts +0 -1
- package/dist/poller.js +0 -634
- package/dist/role.d.ts +0 -24
- package/dist/role.js +0 -13
- package/dist/search-pipeline-4K4OJSSS.js +0 -255
- package/dist/search-pipeline-4PRS6LI7.js +0 -280
- package/dist/search-pipeline-7UJMXPLO.js +0 -280
- package/dist/search-pipeline-DQTRLGBH.js +0 -74
- package/dist/search-pipeline-HNG37REH.js +0 -282
- package/dist/search-pipeline-IZFPLBUB.js +0 -280
- package/dist/search-pipeline-MID6F26Q.js +0 -73
- package/dist/search-pipeline-N52JZFNN.js +0 -282
- package/dist/search-pipeline-OPB2PRQQ.js +0 -280
- package/dist/search-pipeline-VXTE5HAD.js +0 -262
- package/dist/search-pipeline-XHFKADRG.js +0 -73
- package/dist/staging.d.ts +0 -29
- package/dist/staging.js +0 -21
- package/dist/summarize.d.ts +0 -19
- package/dist/summarize.js +0 -10
- package/dist/worker-demo.js +0 -186
- package/dist/worker-mcp.js +0 -404
- package/dist/worker.js +0 -137
package/dist/chunk-MPLTNMRG.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
// src/bridge.ts
|
|
2
|
-
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
3
|
-
import { execSync } from "child_process";
|
|
4
|
-
import { join } from "path";
|
|
5
|
-
var HOME = process.env.HOME || "";
|
|
6
|
-
function _checkLocalBridge() {
|
|
7
|
-
if (existsSync(join(HOME, ".openclaw", "extensions", "lesa-bridge", "dist", "index.js"))) return true;
|
|
8
|
-
if (existsSync(join(HOME, ".ldm", "extensions", "lesa-bridge", "dist", "index.js"))) return true;
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
function isBridgeInstalled() {
|
|
12
|
-
try {
|
|
13
|
-
execSync("which lesa 2>/dev/null", { encoding: "utf-8" });
|
|
14
|
-
return true;
|
|
15
|
-
} catch {
|
|
16
|
-
return _checkLocalBridge();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function isBridgeRegistered() {
|
|
20
|
-
const mcpPath = join(HOME, ".claude", ".mcp.json");
|
|
21
|
-
try {
|
|
22
|
-
if (existsSync(mcpPath)) {
|
|
23
|
-
const config = JSON.parse(readFileSync(mcpPath, "utf-8"));
|
|
24
|
-
if (config.mcpServers && config.mcpServers["lesa-bridge"]) return true;
|
|
25
|
-
}
|
|
26
|
-
} catch {
|
|
27
|
-
}
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
function isBridgeDesktopRegistered() {
|
|
31
|
-
const desktopConfig = join(HOME, "Library", "Application Support", "Claude", "claude_desktop_config.json");
|
|
32
|
-
try {
|
|
33
|
-
if (existsSync(desktopConfig)) {
|
|
34
|
-
const config = JSON.parse(readFileSync(desktopConfig, "utf-8"));
|
|
35
|
-
if (config.mcpServers && config.mcpServers["lesa-bridge"]) return true;
|
|
36
|
-
}
|
|
37
|
-
} catch {
|
|
38
|
-
}
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
function registerBridgeMcp() {
|
|
42
|
-
execSync("claude mcp add --scope user lesa-bridge -- lesa", {
|
|
43
|
-
encoding: "utf-8",
|
|
44
|
-
stdio: "pipe"
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
function registerBridgeDesktop() {
|
|
48
|
-
const desktopConfig = join(HOME, "Library", "Application Support", "Claude", "claude_desktop_config.json");
|
|
49
|
-
if (!existsSync(desktopConfig)) return false;
|
|
50
|
-
try {
|
|
51
|
-
const config = JSON.parse(readFileSync(desktopConfig, "utf-8"));
|
|
52
|
-
if (!config.mcpServers) config.mcpServers = {};
|
|
53
|
-
config.mcpServers["lesa-bridge"] = { command: "lesa" };
|
|
54
|
-
writeFileSync(desktopConfig, JSON.stringify(config, null, 2) + "\n");
|
|
55
|
-
return true;
|
|
56
|
-
} catch {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export {
|
|
62
|
-
isBridgeInstalled,
|
|
63
|
-
isBridgeRegistered,
|
|
64
|
-
isBridgeDesktopRegistered,
|
|
65
|
-
registerBridgeMcp,
|
|
66
|
-
registerBridgeDesktop
|
|
67
|
-
};
|
package/dist/chunk-NIJCVN3O.js
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
// src/dev-update.ts
|
|
2
|
-
import { execSync } from "child_process";
|
|
3
|
-
import { existsSync, mkdirSync, writeFileSync, readFileSync } from "fs";
|
|
4
|
-
import { join, basename } from "path";
|
|
5
|
-
var HOME = process.env.HOME || "/Users/lesa";
|
|
6
|
-
var STAFF_DIR = join(HOME, "Documents", "wipcomputer--mac-mini-01", "staff");
|
|
7
|
-
var CC_REPOS = join(STAFF_DIR, "Parker", "Claude Code - Mini", "repos");
|
|
8
|
-
var LESA_REPOS = join(STAFF_DIR, "L\u0113sa", "repos");
|
|
9
|
-
var DEV_UPDATES_DIR = join(CC_REPOS, "wip-dev-updates");
|
|
10
|
-
var LAST_RUN_PATH = join(HOME, ".openclaw", "memory", "dev-update-last-run.json");
|
|
11
|
-
function loadLastRun() {
|
|
12
|
-
try {
|
|
13
|
-
if (existsSync(LAST_RUN_PATH)) {
|
|
14
|
-
return JSON.parse(readFileSync(LAST_RUN_PATH, "utf-8"));
|
|
15
|
-
}
|
|
16
|
-
} catch {
|
|
17
|
-
}
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
function saveLastRun(run) {
|
|
21
|
-
const dir = join(HOME, ".openclaw", "memory");
|
|
22
|
-
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
23
|
-
writeFileSync(LAST_RUN_PATH, JSON.stringify(run, null, 2));
|
|
24
|
-
}
|
|
25
|
-
function git(repoPath, cmd) {
|
|
26
|
-
try {
|
|
27
|
-
return execSync(`git -C "${repoPath}" ${cmd}`, {
|
|
28
|
-
encoding: "utf-8",
|
|
29
|
-
timeout: 1e4,
|
|
30
|
-
stdio: ["pipe", "pipe", "pipe"]
|
|
31
|
-
}).trim();
|
|
32
|
-
} catch {
|
|
33
|
-
return "";
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function scanRepo(repoPath, since) {
|
|
37
|
-
if (!existsSync(join(repoPath, ".git"))) return null;
|
|
38
|
-
const name = basename(repoPath);
|
|
39
|
-
if (name === "_third-party-repos" || name === "wip-dev-updates") return null;
|
|
40
|
-
const recentCommits = git(repoPath, `log --oneline --since="${since}"`);
|
|
41
|
-
const uncommitted = git(repoPath, "status --porcelain");
|
|
42
|
-
if (!recentCommits && !uncommitted) return null;
|
|
43
|
-
const lines = [];
|
|
44
|
-
lines.push(`# ${name}`);
|
|
45
|
-
lines.push("");
|
|
46
|
-
if (recentCommits) {
|
|
47
|
-
lines.push("## Recent Commits");
|
|
48
|
-
lines.push("");
|
|
49
|
-
lines.push("```");
|
|
50
|
-
lines.push(...recentCommits.split("\n").slice(0, 10));
|
|
51
|
-
lines.push("```");
|
|
52
|
-
lines.push("");
|
|
53
|
-
}
|
|
54
|
-
if (uncommitted) {
|
|
55
|
-
lines.push("## Uncommitted Changes");
|
|
56
|
-
lines.push("");
|
|
57
|
-
lines.push("```");
|
|
58
|
-
lines.push(...uncommitted.split("\n").slice(0, 20));
|
|
59
|
-
lines.push("```");
|
|
60
|
-
lines.push("");
|
|
61
|
-
}
|
|
62
|
-
if (recentCommits) {
|
|
63
|
-
const diffStat = git(repoPath, `diff --stat "HEAD@{${since}}" HEAD`);
|
|
64
|
-
if (diffStat) {
|
|
65
|
-
lines.push("## Files Changed");
|
|
66
|
-
lines.push("");
|
|
67
|
-
lines.push("```");
|
|
68
|
-
lines.push(...diffStat.split("\n").slice(-15));
|
|
69
|
-
lines.push("```");
|
|
70
|
-
lines.push("");
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const branch = git(repoPath, "branch --show-current") || "unknown";
|
|
74
|
-
lines.push(`**Branch:** ${branch}`);
|
|
75
|
-
lines.push("");
|
|
76
|
-
return lines.join("\n");
|
|
77
|
-
}
|
|
78
|
-
function runDevUpdate(author) {
|
|
79
|
-
const lastRun = loadLastRun();
|
|
80
|
-
if (lastRun) {
|
|
81
|
-
const elapsed = Date.now() - new Date(lastRun.timestamp).getTime();
|
|
82
|
-
if (elapsed < 60 * 60 * 1e3) {
|
|
83
|
-
return { reposUpdated: 0, files: [] };
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
let since = "6 hours ago";
|
|
87
|
-
if (lastRun?.timestamp) {
|
|
88
|
-
const lastDate = new Date(lastRun.timestamp);
|
|
89
|
-
const hoursAgo = Math.ceil((Date.now() - lastDate.getTime()) / (1e3 * 60 * 60));
|
|
90
|
-
since = `${Math.max(hoursAgo, 1)} hours ago`;
|
|
91
|
-
}
|
|
92
|
-
const now = /* @__PURE__ */ new Date();
|
|
93
|
-
const ts = [
|
|
94
|
-
String(now.getMonth() + 1).padStart(2, "0"),
|
|
95
|
-
String(now.getDate()).padStart(2, "0"),
|
|
96
|
-
String(now.getFullYear())
|
|
97
|
-
].join("-") + "--" + [
|
|
98
|
-
String(now.getHours()).padStart(2, "0"),
|
|
99
|
-
String(now.getMinutes()).padStart(2, "0"),
|
|
100
|
-
String(now.getSeconds()).padStart(2, "0")
|
|
101
|
-
].join("-");
|
|
102
|
-
const files = [];
|
|
103
|
-
const repoDirs = [CC_REPOS, LESA_REPOS];
|
|
104
|
-
for (const parentDir of repoDirs) {
|
|
105
|
-
if (!existsSync(parentDir)) continue;
|
|
106
|
-
let entries;
|
|
107
|
-
try {
|
|
108
|
-
entries = execSync(`ls "${parentDir}"`, { encoding: "utf-8" }).trim().split("\n");
|
|
109
|
-
} catch {
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
for (const entry of entries) {
|
|
113
|
-
const repoPath = join(parentDir, entry);
|
|
114
|
-
const content = scanRepo(repoPath, since);
|
|
115
|
-
if (!content) continue;
|
|
116
|
-
const repoName = basename(repoPath);
|
|
117
|
-
const outDir = join(DEV_UPDATES_DIR, repoName);
|
|
118
|
-
const outFile = join(outDir, `${author}-dev-update-${ts}.md`);
|
|
119
|
-
mkdirSync(outDir, { recursive: true });
|
|
120
|
-
const header = `*Auto-generated dev update by ${author} at ${now.toISOString().slice(0, 16).replace("T", " ")}*
|
|
121
|
-
|
|
122
|
-
`;
|
|
123
|
-
writeFileSync(outFile, content.replace(/^# .+\n/, `$&
|
|
124
|
-
${header}`));
|
|
125
|
-
files.push(`${repoName}/${author}-dev-update-${ts}.md`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
if (files.length > 0 && existsSync(join(DEV_UPDATES_DIR, ".git"))) {
|
|
129
|
-
try {
|
|
130
|
-
execSync(
|
|
131
|
-
`cd "${DEV_UPDATES_DIR}" && git add -A && git commit -m "${author} auto-dev-update ${ts}: ${files.length} repo(s)" --no-verify && git push --quiet`,
|
|
132
|
-
{ encoding: "utf-8", timeout: 3e4, stdio: "pipe" }
|
|
133
|
-
);
|
|
134
|
-
} catch {
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
saveLastRun({
|
|
138
|
-
timestamp: now.toISOString(),
|
|
139
|
-
author,
|
|
140
|
-
reposUpdated: files.length
|
|
141
|
-
});
|
|
142
|
-
return { reposUpdated: files.length, files };
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export {
|
|
146
|
-
runDevUpdate
|
|
147
|
-
};
|