@mnemopay/sdk 0.7.3 → 0.7.4
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/cli/setup.js +86 -6
- package/dist/cli/setup.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/setup.js
CHANGED
|
@@ -16,6 +16,52 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
const fs_1 = __importDefault(require("fs"));
|
|
17
17
|
const path_1 = __importDefault(require("path"));
|
|
18
18
|
const os_1 = __importDefault(require("os"));
|
|
19
|
+
const AUTO_CAPTURE_HOOK_CONTENT = `#!/bin/bash
|
|
20
|
+
# MnemoPay auto-capture hook — PostToolUse
|
|
21
|
+
# Detects high-signal tool outcomes and instructs Claude to save them to memory.
|
|
22
|
+
INPUT=$(cat)
|
|
23
|
+
TOOL=$(echo "$INPUT" | grep -o '"tool_name":"[^"]*"' | grep -o '[^"]*"$' | tr -d '"' 2>/dev/null)
|
|
24
|
+
COMMAND=$(echo "$INPUT" | grep -o '"command":"[^"]*"' | head -1 | grep -o '"[^"]*"$' | tr -d '"' 2>/dev/null)
|
|
25
|
+
EXIT_CODE=$(echo "$INPUT" | grep -o '"exit_code":[0-9]*' | grep -o '[0-9]*' 2>/dev/null)
|
|
26
|
+
|
|
27
|
+
MSG=""
|
|
28
|
+
|
|
29
|
+
# git commit — always worth remembering
|
|
30
|
+
if echo "$COMMAND" | grep -q "git commit"; then
|
|
31
|
+
MSG="A git commit was just made. Call mcp__mnemopay__remember with what was committed and why. Importance: 0.7, tags: [commit, progress]."
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
# git push — milestone
|
|
35
|
+
if echo "$COMMAND" | grep -q "git push"; then
|
|
36
|
+
MSG="Code was just pushed to remote. Call mcp__mnemopay__remember with what shipped. Importance: 0.75, tags: [shipped, milestone]."
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
# npm publish — release
|
|
40
|
+
if echo "$COMMAND" | grep -q "npm publish"; then
|
|
41
|
+
MSG="A package was just published to npm. Call mcp__mnemopay__remember with the version and what changed. Importance: 0.8, tags: [release, shipped]."
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
# test run completed successfully
|
|
45
|
+
if [ "$TOOL" = "Bash" ] && echo "$COMMAND" | grep -qE "vitest|jest|pytest|npm test|npm run test"; then
|
|
46
|
+
if [ "$EXIT_CODE" = "0" ]; then
|
|
47
|
+
MSG="Tests just passed. Call mcp__mnemopay__remember with what was tested and that it passed. Importance: 0.6, tags: [tests, progress]."
|
|
48
|
+
fi
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
# File written — significant new file
|
|
52
|
+
if [ "$TOOL" = "Write" ]; then
|
|
53
|
+
FILE=$(echo "$INPUT" | grep -o '"file_path":"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' 2>/dev/null)
|
|
54
|
+
if echo "$FILE" | grep -qvE "node_modules|dist|.git|tmp|temp"; then
|
|
55
|
+
MSG="A new file was just written: $FILE. If this is significant (new feature, config, doc), call mcp__mnemopay__remember with what it does. Importance: 0.55, tags: [file, progress]."
|
|
56
|
+
fi
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
if [ -n "$MSG" ]; then
|
|
60
|
+
printf '{"systemMessage":"%s"}\n' "$MSG"
|
|
61
|
+
else
|
|
62
|
+
printf '{}\n'
|
|
63
|
+
fi
|
|
64
|
+
`;
|
|
19
65
|
const STOP_HOOK_CONTENT = `#!/bin/bash
|
|
20
66
|
MARKER="$HOME/.claude/hooks/.mnemo-stop"
|
|
21
67
|
|
|
@@ -48,11 +94,17 @@ function settingsPath() {
|
|
|
48
94
|
function stopHookPath() {
|
|
49
95
|
return path_1.default.join(hooksDir(), "stop-hook.sh");
|
|
50
96
|
}
|
|
97
|
+
function autoCaptureHookPath() {
|
|
98
|
+
return path_1.default.join(hooksDir(), "auto-capture-hook.sh");
|
|
99
|
+
}
|
|
51
100
|
function stopHookCommand() {
|
|
52
|
-
// On Windows, bash is invoked via Git Bash or WSL — use forward-slash path
|
|
53
101
|
const p = stopHookPath().replace(/\\/g, "/");
|
|
54
102
|
return `bash ${p}`;
|
|
55
103
|
}
|
|
104
|
+
function autoCaptureHookCommand() {
|
|
105
|
+
const p = autoCaptureHookPath().replace(/\\/g, "/");
|
|
106
|
+
return `bash ${p}`;
|
|
107
|
+
}
|
|
56
108
|
function ensureDir(dir) {
|
|
57
109
|
if (!fs_1.default.existsSync(dir)) {
|
|
58
110
|
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
@@ -62,10 +114,15 @@ function ensureDir(dir) {
|
|
|
62
114
|
function writeStopHook() {
|
|
63
115
|
const p = stopHookPath();
|
|
64
116
|
fs_1.default.writeFileSync(p, STOP_HOOK_CONTENT, { encoding: "utf8" });
|
|
65
|
-
|
|
66
|
-
|
|
117
|
+
if (process.platform !== "win32")
|
|
118
|
+
fs_1.default.chmodSync(p, 0o755);
|
|
119
|
+
log(` wrote ${p}`);
|
|
120
|
+
}
|
|
121
|
+
function writeAutoCaptureHook() {
|
|
122
|
+
const p = autoCaptureHookPath();
|
|
123
|
+
fs_1.default.writeFileSync(p, AUTO_CAPTURE_HOOK_CONTENT, { encoding: "utf8" });
|
|
124
|
+
if (process.platform !== "win32")
|
|
67
125
|
fs_1.default.chmodSync(p, 0o755);
|
|
68
|
-
}
|
|
69
126
|
log(` wrote ${p}`);
|
|
70
127
|
}
|
|
71
128
|
function readSettings() {
|
|
@@ -134,6 +191,27 @@ function injectHooks(settings) {
|
|
|
134
191
|
else {
|
|
135
192
|
log(" UserPromptSubmit hook already present — skipped");
|
|
136
193
|
}
|
|
194
|
+
// PostToolUse auto-capture hook
|
|
195
|
+
if (!hasHook(settings.hooks.PostToolUse, "")) {
|
|
196
|
+
settings.hooks.PostToolUse = [
|
|
197
|
+
...(settings.hooks.PostToolUse ?? []),
|
|
198
|
+
{
|
|
199
|
+
matcher: "",
|
|
200
|
+
hooks: [
|
|
201
|
+
{
|
|
202
|
+
type: "command",
|
|
203
|
+
command: autoCaptureHookCommand(),
|
|
204
|
+
timeout: 5000,
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
];
|
|
209
|
+
changed = true;
|
|
210
|
+
log(" injected PostToolUse auto-capture hook");
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
log(" PostToolUse hook already present — skipped");
|
|
214
|
+
}
|
|
137
215
|
return { settings, changed };
|
|
138
216
|
}
|
|
139
217
|
function main() {
|
|
@@ -141,8 +219,9 @@ function main() {
|
|
|
141
219
|
// 1. Ensure directories
|
|
142
220
|
ensureDir(claudeDir());
|
|
143
221
|
ensureDir(hooksDir());
|
|
144
|
-
// 2. Write
|
|
222
|
+
// 2. Write hook scripts
|
|
145
223
|
writeStopHook();
|
|
224
|
+
writeAutoCaptureHook();
|
|
146
225
|
// 3. Read + patch settings.json
|
|
147
226
|
const raw = readSettings();
|
|
148
227
|
const { settings, changed } = injectHooks(raw);
|
|
@@ -153,7 +232,8 @@ function main() {
|
|
|
153
232
|
log("\nDone! Claude Code hooks are configured for MnemoPay.\n");
|
|
154
233
|
log("What happens now:");
|
|
155
234
|
log(" • On session end — Claude is prompted to save a session summary");
|
|
156
|
-
log(" • On each message — Claude is reminded to recall relevant memories
|
|
235
|
+
log(" • On each message — Claude is reminded to recall relevant memories");
|
|
236
|
+
log(" • After tool use — git commits, publishes, writes auto-trigger memory saves\n");
|
|
157
237
|
log("Make sure MnemoPay MCP is connected:");
|
|
158
238
|
log(" claude mcp add mnemopay -s user -- npx -y @mnemopay/sdk\n");
|
|
159
239
|
}
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":";;AACA;;;;;;;;GAQG;;;;;AAEH,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,iBAAiB,GAAG;;;;;;;;;;CAUzB,CAAC;AAEF,MAAM,wBAAwB,GAC5B,sFAAsF;IACtF,uGAAuG;IACvG,kFAAkF,CAAC,OAAO,EAAE,CAAC;AAE/F,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe;IACtB,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemopay/sdk",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "Give any AI agent memory and a wallet in 5 lines. Unified SDK for Mnemosyne (cognitive memory) + AgentPay (escrow economics).",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|