chat-recall 0.0.1 → 0.4.8
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/LICENSE +93 -0
- package/dist/auto-update.d.ts +52 -0
- package/dist/auto-update.d.ts.map +1 -0
- package/dist/auto-update.js +157 -0
- package/dist/auto-update.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +26102 -0
- package/dist/cli.js.map +1 -0
- package/dist/client-events.d.ts +11 -0
- package/dist/client-events.d.ts.map +1 -0
- package/dist/client-events.js +77 -0
- package/dist/client-events.js.map +1 -0
- package/dist/collector-migrate.d.ts +27 -0
- package/dist/collector-migrate.d.ts.map +1 -0
- package/dist/collector-migrate.js +60 -0
- package/dist/collector-migrate.js.map +1 -0
- package/dist/device-auth.d.ts +37 -0
- package/dist/device-auth.d.ts.map +1 -0
- package/dist/device-auth.js +161 -0
- package/dist/device-auth.js.map +1 -0
- package/dist/escalate.d.ts +99 -0
- package/dist/escalate.d.ts.map +1 -0
- package/dist/escalate.js +219 -0
- package/dist/escalate.js.map +1 -0
- package/dist/http.d.ts +14 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +49 -0
- package/dist/http.js.map +1 -0
- package/dist/install-skills.d.ts +51 -0
- package/dist/install-skills.d.ts.map +1 -0
- package/dist/install-skills.js +223 -0
- package/dist/install-skills.js.map +1 -0
- package/dist/intent-drain.d.ts +25 -0
- package/dist/intent-drain.d.ts.map +1 -0
- package/dist/intent-drain.js +189 -0
- package/dist/intent-drain.js.map +1 -0
- package/dist/keyring.d.ts +28 -0
- package/dist/keyring.d.ts.map +1 -0
- package/dist/keyring.js +163 -0
- package/dist/keyring.js.map +1 -0
- package/dist/mcp.d.ts +8 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +23665 -0
- package/dist/mcp.js.map +1 -0
- package/dist/project-tasks.d.ts +54 -0
- package/dist/project-tasks.d.ts.map +1 -0
- package/dist/project-tasks.js +204 -0
- package/dist/project-tasks.js.map +1 -0
- package/dist/repair.d.ts +73 -0
- package/dist/repair.d.ts.map +1 -0
- package/dist/repair.js +267 -0
- package/dist/repair.js.map +1 -0
- package/dist/self-restart.d.ts +91 -0
- package/dist/self-restart.d.ts.map +1 -0
- package/dist/self-restart.js +137 -0
- package/dist/self-restart.js.map +1 -0
- package/dist/service-installer.d.ts +32 -0
- package/dist/service-installer.d.ts.map +1 -0
- package/dist/service-installer.js +231 -0
- package/dist/service-installer.js.map +1 -0
- package/dist/sync-client.d.ts +234 -0
- package/dist/sync-client.d.ts.map +1 -0
- package/dist/sync-client.js +1985 -0
- package/dist/sync-client.js.map +1 -0
- package/dist/sync-ledger.d.ts +131 -0
- package/dist/sync-ledger.d.ts.map +1 -0
- package/dist/sync-ledger.js +366 -0
- package/dist/sync-ledger.js.map +1 -0
- package/dist/update-notice.d.ts +16 -0
- package/dist/update-notice.d.ts.map +1 -0
- package/dist/update-notice.js +107 -0
- package/dist/update-notice.js.map +1 -0
- package/dist/verify-deep.d.ts +79 -0
- package/dist/verify-deep.d.ts.map +1 -0
- package/dist/verify-deep.js +97 -0
- package/dist/verify-deep.js.map +1 -0
- package/dist/verify-repair.d.ts +21 -0
- package/dist/verify-repair.d.ts.map +1 -0
- package/dist/verify-repair.js +58 -0
- package/dist/verify-repair.js.map +1 -0
- package/dist/watch.js +21550 -0
- package/hooks/chat_recall_escalate_hook.sh +51 -0
- package/hooks/chat_recall_resume_hook.sh +69 -0
- package/hooks/chat_recall_save_hook.sh +254 -0
- package/hooks/chat_recall_wakeup_hook.sh +39 -0
- package/package.json +38 -4
- package/skills/chat-recall/SKILL.md +76 -0
- package/skills/chat-recall-changes/SKILL.md +50 -0
- package/skills/chat-recall-find/SKILL.md +64 -0
- package/skills/chat-recall-memory/SKILL.md +55 -0
- package/skills/chat-recall-project/SKILL.md +75 -0
- package/skills/chat-recall-resume/SKILL.md +62 -0
- package/README.md +0 -7
package/dist/keyring.js
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OS keyring access for the vault passphrase — the only way the unattended
|
|
3
|
+
* daemon can decrypt cross-device artifacts without a secret sitting on disk.
|
|
4
|
+
*
|
|
5
|
+
* No new dependency: we shell out to the platform's own tool, exactly as this
|
|
6
|
+
* codebase already does for services (systemctl / launchctl / schtasks in
|
|
7
|
+
* service-installer.ts). A native addon (keytar, @napi-rs/keyring) would trip
|
|
8
|
+
* the bundle's native-free guard and reintroduce prebuilt-binary pain to a
|
|
9
|
+
* package deliberately built without any.
|
|
10
|
+
*
|
|
11
|
+
* macOS `security` built in
|
|
12
|
+
* Linux `secret-tool` needs libsecret-tools (the gap — see probe())
|
|
13
|
+
* Windows PowerShell + DPAPI, encrypting under the user's own key
|
|
14
|
+
*
|
|
15
|
+
* SECRETS NEVER GO IN ARGV. /proc/<pid>/cmdline is world-readable on Linux and
|
|
16
|
+
* `ps` shows arguments to every local user, so a passphrase passed as a flag
|
|
17
|
+
* would leak to any process on the box for the lifetime of the call. Every
|
|
18
|
+
* backend below writes the secret to the child's STDIN instead:
|
|
19
|
+
* - secret-tool store reads the secret from stdin by design
|
|
20
|
+
* - security -i reads *commands* from stdin (batch mode)
|
|
21
|
+
* - powershell -Command - reads the script from stdin
|
|
22
|
+
*
|
|
23
|
+
* There is deliberately NO plaintext fallback. A machine with no keyring does
|
|
24
|
+
* not get cross-device artifacts, and is told exactly how to fix that — a
|
|
25
|
+
* silent downgrade to a file on disk would quietly defeat the entire point.
|
|
26
|
+
*/
|
|
27
|
+
import { execFileSync } from 'node:child_process';
|
|
28
|
+
const SERVICE = 'chat-recall';
|
|
29
|
+
const ACCOUNT = 'vault-passphrase';
|
|
30
|
+
const realRunner = {
|
|
31
|
+
run(file, args, input) {
|
|
32
|
+
return execFileSync(file, args, {
|
|
33
|
+
input,
|
|
34
|
+
encoding: 'utf-8',
|
|
35
|
+
stdio: input === undefined ? ['ignore', 'pipe', 'pipe'] : ['pipe', 'pipe', 'pipe'],
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
platform: process.platform,
|
|
39
|
+
};
|
|
40
|
+
/** Which backend this platform uses, and whether it's actually usable here. */
|
|
41
|
+
export function probeKeyring(r = realRunner) {
|
|
42
|
+
if (r.platform === 'darwin') {
|
|
43
|
+
// `security` ships with macOS; if it's missing the install is broken.
|
|
44
|
+
try {
|
|
45
|
+
r.run('security', ['help']);
|
|
46
|
+
return { backend: 'macos-keychain', available: true };
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return { backend: 'macos-keychain', available: false, hint: '`security` not found — is this really macOS?' };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (r.platform === 'win32') {
|
|
53
|
+
try {
|
|
54
|
+
r.run('powershell', ['-NoProfile', '-Command', '$PSVersionTable.PSVersion.Major']);
|
|
55
|
+
return { backend: 'windows-dpapi', available: true };
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return { backend: 'windows-dpapi', available: false, hint: 'PowerShell not found — required for DPAPI-protected storage.' };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (r.platform === 'linux') {
|
|
62
|
+
try {
|
|
63
|
+
r.run('secret-tool', ['--version']);
|
|
64
|
+
return { backend: 'libsecret', available: true };
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return {
|
|
68
|
+
backend: 'libsecret',
|
|
69
|
+
available: false,
|
|
70
|
+
// The common case is a running keyring daemon with the CLI absent —
|
|
71
|
+
// observed on a desktop with gnome-keyring-daemon up and no secret-tool.
|
|
72
|
+
hint: 'No keyring access: install libsecret-tools (Debian/Ubuntu: `sudo apt install libsecret-tools`, '
|
|
73
|
+
+ 'Fedora: `sudo dnf install libsecret`). Headless machines have no keyring at all — '
|
|
74
|
+
+ 'cross-device artifacts will not apply there.',
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return { backend: 'none', available: false, hint: `No keyring backend for platform ${r.platform}.` };
|
|
79
|
+
}
|
|
80
|
+
/** Thrown when the keyring is unusable. Callers surface .message as-is. */
|
|
81
|
+
export class KeyringUnavailableError extends Error {
|
|
82
|
+
}
|
|
83
|
+
function requireBackend(r) {
|
|
84
|
+
const p = probeKeyring(r);
|
|
85
|
+
if (!p.available)
|
|
86
|
+
throw new KeyringUnavailableError(p.hint || 'No OS keyring available on this machine.');
|
|
87
|
+
return p.backend;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Windows has no credential store we can READ from the shell (cmdkey stores
|
|
91
|
+
* but cannot retrieve), so we use DPAPI: the ciphertext is decryptable only by
|
|
92
|
+
* this user on this machine, which is the same trust boundary as a keyring
|
|
93
|
+
* entry. Stored in the user profile, not in our data dir, to keep it out of
|
|
94
|
+
* anything that gets synced or archived.
|
|
95
|
+
*/
|
|
96
|
+
const WIN_BLOB = '$env:USERPROFILE\\.chat-recall-vault.dpapi';
|
|
97
|
+
export function keyringSet(secret, r = realRunner) {
|
|
98
|
+
const backend = requireBackend(r);
|
|
99
|
+
if (backend === 'macos-keychain') {
|
|
100
|
+
// Batch mode: the command line (with -w and the secret) goes over stdin,
|
|
101
|
+
// so it never appears in argv. -U updates an existing item in place.
|
|
102
|
+
r.run('security', ['-i'], `add-generic-password -U -a ${ACCOUNT} -s ${SERVICE} -w ${shQuote(secret)}\n`);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (backend === 'libsecret') {
|
|
106
|
+
r.run('secret-tool', ['store', '--label=chat-recall vault passphrase', 'service', SERVICE, 'account', ACCOUNT], secret);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
// windows-dpapi — script on stdin; the secret is interpolated into the
|
|
110
|
+
// script text, which is piped, never argv.
|
|
111
|
+
r.run('powershell', ['-NoProfile', '-Command', '-'], `$s = ${psQuote(secret)}\n`
|
|
112
|
+
+ `ConvertTo-SecureString -String $s -AsPlainText -Force | ConvertFrom-SecureString | Set-Content -Path ${WIN_BLOB} -Encoding ascii\n`);
|
|
113
|
+
}
|
|
114
|
+
/** The stored passphrase, or null when absent. Throws only if unusable. */
|
|
115
|
+
export function keyringGet(r = realRunner) {
|
|
116
|
+
const backend = requireBackend(r);
|
|
117
|
+
try {
|
|
118
|
+
if (backend === 'macos-keychain') {
|
|
119
|
+
return r.run('security', ['find-generic-password', '-a', ACCOUNT, '-s', SERVICE, '-w']).replace(/\n$/, '') || null;
|
|
120
|
+
}
|
|
121
|
+
if (backend === 'libsecret') {
|
|
122
|
+
// secret-tool prints the secret with NO trailing newline; empty = absent.
|
|
123
|
+
return r.run('secret-tool', ['lookup', 'service', SERVICE, 'account', ACCOUNT]) || null;
|
|
124
|
+
}
|
|
125
|
+
const out = r.run('powershell', ['-NoProfile', '-Command', '-'], `if (!(Test-Path ${WIN_BLOB})) { exit 1 }\n`
|
|
126
|
+
+ `$sec = Get-Content ${WIN_BLOB} | ConvertTo-SecureString\n`
|
|
127
|
+
+ `[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($sec))\n`);
|
|
128
|
+
return out.replace(/\r?\n$/, '') || null;
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// Every backend exits non-zero for "no such entry"; that is not an error.
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/** Remove the stored passphrase. True if something was removed. */
|
|
136
|
+
export function keyringDelete(r = realRunner) {
|
|
137
|
+
const backend = requireBackend(r);
|
|
138
|
+
try {
|
|
139
|
+
if (backend === 'macos-keychain') {
|
|
140
|
+
r.run('security', ['delete-generic-password', '-a', ACCOUNT, '-s', SERVICE]);
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
if (backend === 'libsecret') {
|
|
144
|
+
r.run('secret-tool', ['clear', 'service', SERVICE, 'account', ACCOUNT]);
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
r.run('powershell', ['-NoProfile', '-Command', '-'], `Remove-Item -Force -ErrorAction Stop ${WIN_BLOB}\n`);
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/* ── quoting ──────────────────────────────────────────────────────── */
|
|
155
|
+
/** Single-quote for the `security -i` command line (POSIX-ish tokenizer). */
|
|
156
|
+
export function shQuote(s) {
|
|
157
|
+
return `'${s.replace(/'/g, `'\\''`)}'`;
|
|
158
|
+
}
|
|
159
|
+
/** Single-quote for PowerShell, where '' is the escaped quote. */
|
|
160
|
+
export function psQuote(s) {
|
|
161
|
+
return `'${s.replace(/'/g, "''")}'`;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=keyring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyring.js","sourceRoot":"","sources":["../src/keyring.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AACA;;;;GAIG;AA0BH,OAAO,4CAA4C,CAAC"}
|