@mysten-incubation/memwal-mcp 0.0.14-dev.0 → 0.0.14-dev.10

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.
Files changed (50) hide show
  1. package/README.md +238 -1
  2. package/dist/auth-required.d.ts +325 -0
  3. package/dist/auth-required.d.ts.map +1 -1
  4. package/dist/auth-required.js +84 -16
  5. package/dist/auth-required.js.map +1 -1
  6. package/dist/auth.d.ts +179 -18
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js +458 -35
  9. package/dist/auth.js.map +1 -1
  10. package/dist/auto-save.d.ts +100 -0
  11. package/dist/auto-save.d.ts.map +1 -0
  12. package/dist/auto-save.js +290 -0
  13. package/dist/auto-save.js.map +1 -0
  14. package/dist/bridge.d.ts +14 -2
  15. package/dist/bridge.d.ts.map +1 -1
  16. package/dist/bridge.js +233 -25
  17. package/dist/bridge.js.map +1 -1
  18. package/dist/consent.d.ts +36 -0
  19. package/dist/consent.d.ts.map +1 -0
  20. package/dist/consent.js +129 -0
  21. package/dist/consent.js.map +1 -0
  22. package/dist/health-probe.d.ts +35 -0
  23. package/dist/health-probe.d.ts.map +1 -0
  24. package/dist/health-probe.js +87 -0
  25. package/dist/health-probe.js.map +1 -0
  26. package/dist/index.d.ts +11 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +266 -5
  29. package/dist/index.js.map +1 -1
  30. package/dist/instructions.d.ts +17 -18
  31. package/dist/instructions.d.ts.map +1 -1
  32. package/dist/instructions.js +84 -20
  33. package/dist/instructions.js.map +1 -1
  34. package/dist/login.d.ts +15 -1
  35. package/dist/login.d.ts.map +1 -1
  36. package/dist/login.js +109 -9
  37. package/dist/login.js.map +1 -1
  38. package/dist/memory-policy.d.ts +38 -0
  39. package/dist/memory-policy.d.ts.map +1 -0
  40. package/dist/memory-policy.js +80 -0
  41. package/dist/memory-policy.js.map +1 -0
  42. package/dist/messages.d.ts +10 -3
  43. package/dist/messages.d.ts.map +1 -1
  44. package/dist/messages.js +16 -5
  45. package/dist/messages.js.map +1 -1
  46. package/dist/recovery.d.ts +1 -0
  47. package/dist/recovery.d.ts.map +1 -1
  48. package/dist/recovery.js +15 -13
  49. package/dist/recovery.js.map +1 -1
  50. package/package.json +1 -1
@@ -25,11 +25,24 @@ import { credsPath, loadCreds } from "./auth.js";
25
25
  import { rememberInitializeClientInfo } from "./client-info.js";
26
26
  import { loginFailureNotice, loginPrompt, loginSuccessNotification } from "./messages.js";
27
27
  import { log } from "./logger.js";
28
- import { startOrReuseLoginFlow, resolveLoginTimeoutMs } from "./login.js";
28
+ import { startOrReuseLoginFlow, resolveLoginTimeoutMs, isLoginSuperseded } from "./login.js";
29
29
  import { AUTH_REQUIRED_INSTRUCTIONS } from "./instructions.js";
30
+ import { SECRET_EXCLUSION_RULES, SECRET_EXCLUSION_SUMMARY, AUTO_SAVE_OPT_IN_RULE, } from "./memory-policy.js";
30
31
  import { MEMWAL_MCP_VERSION } from "./version.js";
31
- const SIGNED_OUT_REMEMBER = "Save a fact to the user's Walrus Memory personal memory. Call ONLY when the user explicitly asks to remember/save something. Pass the full, detailed text — never summarize.";
32
- const SIGNED_IN_REMEMBER = "Save a durable fact about the user or project to their Walrus Memory. Call this PROACTIVELY whenever the user states a preference, decision, constraint, correction, identity detail, or recurring workflow — even if they did not say 'remember this'. Skip one-off tasks, the current file or bug, and small talk. Pass the full statement; do not summarize. To save several facts at once, use memwal_remember_bulk instead. A Walrus write takes 30-60s and this call waits for it, so a success carries a blob_id and means the fact is stored. If it outruns that budget you get a job_id and the fact is NOT yet saved — say so rather than claiming it is stored, and resolve it with memwal_remember_status.";
32
+ /**
33
+ * WALM-642: every write-tool description below ends with the shared policy
34
+ * block, the same text the `instructions` field and the plugin hooks carry, so
35
+ * an agent that only ever sees one of the three still gets the same rules.
36
+ * The signed-out variants get the one-line summary — they exist to keep a
37
+ * credential-less model from spamming writes, and the full block would be the
38
+ * longest thing in a list of tools that cannot run yet.
39
+ */
40
+ const SIGNED_OUT_REMEMBER = "Save a fact to the user's Walrus Memory personal memory. Call ONLY when the user explicitly asks to remember/save something. Pass the full, detailed text — never summarize. " +
41
+ SECRET_EXCLUSION_SUMMARY;
42
+ const SIGNED_IN_REMEMBER = "Save a durable fact about the user or project to their Walrus Memory. Call this PROACTIVELY whenever the user states a preference, decision, constraint, correction, identity detail, or recurring workflow — even if they did not say 'remember this' — provided they have turned automatic memory on. Skip one-off tasks, the current file or bug, and small talk. Pass the full statement; do not summarize. To save several facts at once, use memwal_remember_bulk instead. By default this returns in ~1s once the relayer has accepted the job (job_id) — the Walrus write is still in flight and the fact is NOT stored yet. Do not claim it is saved. Settle it with the job-status tool this server advertises (re-list tools if you do not see one). A blob_id in the same reply means it already stored (optional wait budget). " +
43
+ AUTO_SAVE_OPT_IN_RULE +
44
+ " " +
45
+ SECRET_EXCLUSION_RULES;
33
46
  const SIGNED_OUT_RECALL = "Search the user's Walrus Memory for facts relevant to a query. Returns matching memories ranked by relevance.";
34
47
  const SIGNED_IN_RECALL = "Search the user's Walrus Memory for relevant facts before responding. Call this PROACTIVELY at the start of a task, or whenever the user references past work, prior decisions, their preferences, or anything you may have stored earlier — don't wait to be asked. A single focused query is usually enough — recall is a real retrieval over encrypted storage, so do NOT fire multiple redundant searches for the same question. Returns matching memories ranked by relevance.";
35
48
  /** Build the static memory-tool list. `proactive` is true for the signed-in
@@ -56,7 +69,8 @@ function buildToolDefinitions(proactive) {
56
69
  name: "memwal_remember_bulk",
57
70
  title: "Remember Multiple Facts",
58
71
  annotations: { readOnlyHint: false, destructiveHint: false },
59
- description: "Save multiple durable facts in one call. Use when you learned several distinct facts at once (onboarding details, a list of preferences, decisions from a discussion). Pass an array of complete fact statements (max 20) — do not summarize. Prefer this over repeated memwal_remember calls. A Walrus write takes 30-60s and this call waits for them, so a success carries blob_ids and means the facts are stored. If they outrun that budget you get job_ids and the facts are NOT yet saved — say they are being saved rather than stored, and resolve them with memwal_remember_status.",
72
+ description: "Save multiple durable facts in one call. Use when you learned several distinct facts at once (onboarding details, a list of preferences, decisions from a discussion). Pass an array of complete fact statements (max 20) — do not summarize. Prefer this over repeated memwal_remember calls. By default this returns in ~1s once the relayer has accepted the batch (job_ids) — the Walrus writes are still in flight and the facts are NOT stored yet. Do not claim they are saved. Settle them with the job-status tool this server advertises (re-list tools if you do not see one). A blob_id in the same reply means that fact already stored (optional wait budget). " +
73
+ (proactive ? AUTO_SAVE_OPT_IN_RULE + " " + SECRET_EXCLUSION_RULES : SECRET_EXCLUSION_SUMMARY),
60
74
  inputSchema: {
61
75
  type: "object",
62
76
  properties: {
@@ -125,7 +139,8 @@ function buildToolDefinitions(proactive) {
125
139
  name: "memwal_analyze",
126
140
  title: "Analyze and Remember",
127
141
  annotations: { readOnlyHint: false, destructiveHint: true },
128
- description: "Extract memorable facts from a longer passage of text (preferences, habits, biographical info, constraints) and save each as a separate Walrus Memory memory. Use this when you want MemWal's LLM to split the facts out of a transcript or notes for you; if you already know the exact facts, use memwal_remember or memwal_remember_bulk instead.",
142
+ description: "Extract memorable facts from a longer passage of text (preferences, habits, biographical info, constraints) and save each as a separate Walrus Memory memory. Use this when you want MemWal's LLM to split the facts out of a transcript or notes for you; if you already know the exact facts, use memwal_remember or memwal_remember_bulk instead. " +
143
+ (proactive ? AUTO_SAVE_OPT_IN_RULE + " " + SECRET_EXCLUSION_RULES : SECRET_EXCLUSION_SUMMARY),
129
144
  inputSchema: {
130
145
  type: "object",
131
146
  properties: {
@@ -169,20 +184,60 @@ function buildToolDefinitions(proactive) {
169
184
  description: "Sign this MCP client into your Walrus Memory account by opening a browser. Run once when the agent reports Walrus Memory is not signed in. Opens the dashboard in the default browser, waits for wallet approval, then writes credentials to ~/.memwal/credentials.json. Other memwal_* tools become usable on the next call after a successful login.",
170
185
  inputSchema: {
171
186
  type: "object",
172
- properties: {},
187
+ properties: {
188
+ freshKey: {
189
+ type: "boolean",
190
+ default: false,
191
+ description: "Mint a new delegate key instead of reusing the one a previous unfinished sign-in left pending. Leave false for an ordinary login. Set it only after a normal sign-in has already failed on the pending key — it abandons that key, which must then be removed from the dashboard if it was approved on-chain, and the new one needs its own add_delegate_key transaction.",
192
+ },
193
+ },
173
194
  additionalProperties: false,
174
195
  },
175
196
  },
176
197
  ];
177
198
  }
199
+ /** Tool names the OLDEST relayer this bridge still talks to serves.
200
+ *
201
+ * The bridge ships on npm and updates itself; a relayer ships per environment
202
+ * and does not, so the bridge is routinely NEWER than the relayer it dials —
203
+ * 0.0.14-dev.0 against prod and staging on 0.0.13, which is GH #928. The
204
+ * cold-start list is served before any relayer capability is known, so every
205
+ * name in it that the dialled relayer does not serve is a tool the agent can
206
+ * be told about and then cannot call.
207
+ *
208
+ * Cold start is therefore a FLOOR, not a forecast: add a name here only once
209
+ * the tool has shipped to prod, never when it lands on dev. Newer tools reach
210
+ * the client a beat later anyway — the relayer's own `tools/list` replaces
211
+ * this one and `notifications/tools/list_changed` tells the client to re-read
212
+ * it. `memwal_remember_status` is the worked example: it exists on dev, not on
213
+ * prod/staging, and belongs here only after a prod release carries it. */
214
+ export const BASELINE_RELAYER_TOOLS = new Set([
215
+ "memwal_remember",
216
+ "memwal_remember_bulk",
217
+ "memwal_recall",
218
+ "memwal_analyze",
219
+ "memwal_restore",
220
+ "memwal_health",
221
+ ]);
222
+ /** Served by this process, so no relayer has to know about it. Advertising it
223
+ * at cold start is always safe. */
224
+ const LOCALLY_SERVED_TOOLS = new Set(["memwal_login"]);
225
+ /** Every tool this bridge can describe, baseline or not. Only the baseline
226
+ * subset is advertised at cold start; this is what the schema tests pin, so a
227
+ * newer tool's shape stays reviewed while it waits for a prod release. */
228
+ export const ALL_TOOL_DEFINITIONS = buildToolDefinitions(true);
229
+ /** Drop anything the oldest supported relayer would not serve. */
230
+ function coldStartTools(proactive) {
231
+ return buildToolDefinitions(proactive).filter((t) => BASELINE_RELAYER_TOOLS.has(t.name) || LOCALLY_SERVED_TOOLS.has(t.name));
232
+ }
178
233
  /** Signed-in cold-start list (bridge). Credentials exist; the relayer session
179
234
  * is not up yet. Proactive wording so clients that keep the first tools/list
180
235
  * still save/recall without being asked. */
181
- export const TOOL_DEFINITIONS = buildToolDefinitions(true);
236
+ export const TOOL_DEFINITIONS = coldStartTools(true);
182
237
  /** Signed-out list (auth-required). No credentials, so every memory call
183
238
  * fails: keep conservative wording or the model will spam remember and get
184
239
  * a stream of auth errors. */
185
- export const SIGNED_OUT_TOOL_DEFINITIONS = buildToolDefinitions(false);
240
+ export const SIGNED_OUT_TOOL_DEFINITIONS = coldStartTools(false);
186
241
  /** How long to wait for the local listener to bind + emit its URL before we
187
242
  * give up and return an error. Should be near-instant; 5s is paranoia. */
188
243
  const URL_READY_TIMEOUT_MS = 5_000;
@@ -205,13 +260,17 @@ const LOGIN_INSTRUCTION = [
205
260
  /** Replaces {@link LOGIN_INSTRUCTION} after a failed attempt, which
206
261
  * {@link loginFailureNotice} has just described. The generic copy promises "no
207
262
  * client restart" and leads with `memwal_login`; for a key the user already
208
- * approved, a restart is the only thing that recovers it and signing in again
209
- * cannot register it twice. So the retry is offered only for the case it
210
- * actually fixes. */
263
+ * approved, a restart is the only thing that recovers it and a plain retry
264
+ * reuses it rather than registering a second one. So the retry names
265
+ * `freshKey` for the case the plain one cannot fix. */
211
266
  const LOGIN_RETRY_INSTRUCTION = [
212
- "If you did not approve the wallet step, start a new sign-in: call the `memwal_login`",
213
- "tool from this client, or run `npx -y @mysten-incubation/memwal-mcp login`. Open the",
214
- "new link straight away and leave this client running through the wallet prompt.",
267
+ "Start a new sign-in: call the `memwal_login` tool from this client, or run",
268
+ "`npx -y @mysten-incubation/memwal-mcp login`. Open the new link straight away and",
269
+ "leave this client running through the wallet prompt.",
270
+ "",
271
+ "If that keeps failing on the same key, call `memwal_login` with `freshKey: true` to",
272
+ "mint a new one. That abandons the pending key: if you already approved it on-chain,",
273
+ "remove it from the dashboard afterwards.",
215
274
  ].join("\n");
216
275
  /** Set when a background `memwal_login` ends without credentials. The tool call
217
276
  * already returned the URL by then, so this is the only place left to say so. */
@@ -252,7 +311,7 @@ function sendLogMessage(level, text) {
252
311
  * issues any other memwal_* tool to verify — which now succeeds because
253
312
  * the bridge picks up the saved creds on its next call.
254
313
  */
255
- async function handleLoginToolCall(config, _progressToken) {
314
+ async function handleLoginToolCall(config, _progressToken, freshKey) {
256
315
  // Fire login but DO NOT await the wallet callback — it runs in the
257
316
  // background. openBrowser: false because (a) child-process spawning a
258
317
  // browser is unreliable across MCP clients, and (b) macOS `open <url>`
@@ -263,12 +322,17 @@ async function handleLoginToolCall(config, _progressToken) {
263
322
  // Concurrent memwal_login calls join this in-flight flow instead of
264
323
  // opening a second listener (that race hung later recall/remember).
265
324
  lastLoginFailure = null;
325
+ let discardedKey;
266
326
  const session = startOrReuseLoginFlow({
267
327
  relayerUrl: config.relayerUrl,
268
328
  webUrl: config.webUrl,
269
329
  label: config.label,
270
330
  timeoutMs: resolveLoginTimeoutMs(),
271
331
  openBrowser: false,
332
+ freshKey,
333
+ onDiscarded: (key) => {
334
+ discardedKey = key;
335
+ },
272
336
  onUrl: (url) => {
273
337
  sendLogMessage("info", `Walrus Memory MCP login URL: ${url}`);
274
338
  },
@@ -302,6 +366,9 @@ async function handleLoginToolCall(config, _progressToken) {
302
366
  url = await Promise.race([session.url, timeoutPromise]);
303
367
  }
304
368
  catch (err) {
369
+ if (isLoginSuperseded(err)) {
370
+ return { isError: true, text: "This sign-in was replaced by a newer memwal_login. Open that result instead of starting another login." };
371
+ }
305
372
  const msg = err instanceof Error ? err.message : String(err);
306
373
  log.error("memwal_login.tool.url_not_ready", { msg });
307
374
  return {
@@ -326,6 +393,7 @@ async function handleLoginToolCall(config, _progressToken) {
326
393
  url,
327
394
  credentialsPath: credsPath(),
328
395
  signedIn: loadCreds() !== null,
396
+ discardedKey,
329
397
  }),
330
398
  };
331
399
  }
@@ -399,7 +467,7 @@ function handleAuthLine(line, config) {
399
467
  // Returns near-instantly with the click-able URL. The listener
400
468
  // stays alive in the background — see handleLoginToolCall for the
401
469
  // rationale on not blocking.
402
- void handleLoginToolCall(config, progressToken).then((result) => {
470
+ void handleLoginToolCall(config, progressToken, params.arguments?.freshKey === true).then((result) => {
403
471
  writeStdoutMessage({
404
472
  jsonrpc: "2.0",
405
473
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"auth-required.js","sourceRoot":"","sources":["../src/auth-required.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-required.js","sourceRoot":"","sources":["../src/auth-required.ts"],"names":[],"mappings":"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"}
package/dist/auth.d.ts CHANGED
@@ -21,25 +21,163 @@ export interface MemWalCredentials {
21
21
  version: 1;
22
22
  }
23
23
  /**
24
- * Which credentials file this process should read and write.
24
+ * Refusal of a `MEMWAL_CREDS_DIR` that cannot be trusted to sit outside a
25
+ * repository. Thrown, never swallowed — see {@link credsDirOverride}.
26
+ */
27
+ export declare class UntrustedCredsDirError extends Error {
28
+ constructor(message: string);
29
+ }
30
+ /** The approval store. Outside every repository, on purpose. */
31
+ export declare function projectApprovalsPath(): string;
32
+ /**
33
+ * What approval is granted against: the destination, not the file's bytes.
25
34
  *
26
- * The nearest project-local `.memwal/credentials.json` at or above the working
27
- * directory wins over the global one, the way `.npmrc` and `.git/config`
28
- * resolve. Signing in from one project otherwise repoints every other project
29
- * on the machine at a different account and delegate key, silently — memories
30
- * then land on the wrong account, on immutable storage, with no delete path
31
- * (GH #628).
35
+ * Account, delegate and relayer are the three fields that decide WHERE a
36
+ * memory ends up and WHO signs for it. Hashing them means a project file may
37
+ * be re-saved, relabelled or reformatted freely, while any edit that moves the
38
+ * destination invalidates the approval and has to be approved again. The
39
+ * delegate private key is deliberately NOT part of it — it must never be read
40
+ * into a record that gets written back out.
41
+ */
42
+ export declare function credentialsFingerprint(creds: {
43
+ accountId: string;
44
+ delegateAddress: string;
45
+ relayerUrl: string;
46
+ }): string;
47
+ /** One approved project credentials file. Contains no secret. */
48
+ export interface ProjectApproval {
49
+ /** Canonical path of the approved `.memwal/credentials.json`. */
50
+ path: string;
51
+ fingerprint: string;
52
+ accountId: string;
53
+ delegateAddress: string;
54
+ relayerUrl: string;
55
+ approvedAt: string;
56
+ }
57
+ /** Why a project credentials file was, or was not, used. */
58
+ export type ProjectCredsDecision =
59
+ /** Approved for exactly this account + delegate + relayer: in use. */
60
+ "approved"
61
+ /** Never approved on this machine. Ignored. */
62
+ | "unapproved"
63
+ /** Approved once, but the destination has since changed. Ignored. */
64
+ | "changed"
65
+ /** Present but not valid credentials, so there is nothing to approve. */
66
+ | "unreadable";
67
+ export interface ProjectCredsInfo {
68
+ /** The project-local file that was found. */
69
+ path: string;
70
+ decision: ProjectCredsDecision;
71
+ /** Destination it points at. Absent when the file could not be read — and
72
+ * never the delegate private key, which no caller of this ever needs. */
73
+ accountId?: string;
74
+ relayerUrl?: string;
75
+ }
76
+ /** Which file won, and what happened to any project-local file that did not. */
77
+ export interface CredsResolution {
78
+ /** The file this process reads and writes. */
79
+ path: string;
80
+ source: "override" | "project" | "global";
81
+ /** The project-local file found by the walk, if any — present whether or
82
+ * not it was used, so callers can report one they ignored. */
83
+ project?: ProjectCredsInfo;
84
+ }
85
+ /**
86
+ * Which credentials file this process should read and write, and why.
32
87
  *
33
- * Presence-based on purpose: creating the local file is the opt-in, so this is
34
- * purely additive. Resolved per call rather than at module load, because the
35
- * working directory is not knowable at import time.
88
+ * `MEMWAL_CREDS_DIR` wins outright, and skips the approval gate — but only a
89
+ * value {@link credsDirOverride} accepts, i.e. a non-empty ABSOLUTE path
90
+ * outside the current project. It is "trusted" exactly as far as whoever set
91
+ * the environment is, and an MCP client will hand this process an `env` block
92
+ * it read out of the checkout, so a value that could have been committed is
93
+ * refused rather than obeyed. Otherwise the nearest project-local
94
+ * `.memwal/credentials.json` at or above the working directory is used IF the
95
+ * user has approved that exact destination on this machine (WALM-639), and the
96
+ * global file is used in every other case — including an unapproved, altered
97
+ * or malformed project file. Falling back rather than failing keeps a machine
98
+ * that has never seen a project file behaving exactly as it always did.
36
99
  *
37
- * `MEMWAL_CREDS_DIR` overrides both project and global resolution when set,
38
- * and is re-read on every call.
100
+ * Resolved per call rather than at module load, because neither the working
101
+ * directory nor the approval store is knowable at import time.
39
102
  */
103
+ export declare function resolveCreds(): CredsResolution;
104
+ /** The credentials file in use. Thin wrapper over {@link resolveCreds} so the
105
+ * many callers that only need a path are unchanged. */
40
106
  export declare function credsPath(): string;
41
107
  /** Load credentials from disk. Returns null if missing or malformed. */
42
108
  export declare function loadCreds(): MemWalCredentials | null;
109
+ /** What {@link approveProjectCreds} did. */
110
+ export interface ApproveProjectResult {
111
+ outcome:
112
+ /** Newly approved. */
113
+ "approved"
114
+ /** Approved again after the destination changed. */
115
+ | "reapproved"
116
+ /** Already approved for this exact destination; nothing written. */
117
+ | "already-approved"
118
+ /** No project-local credentials file at or above the working directory. */
119
+ | "none"
120
+ /** A project file exists but is not valid credentials. */
121
+ | "unreadable"
122
+ /** `MEMWAL_CREDS_DIR` is set, so project resolution never runs. */
123
+ | "overridden";
124
+ projectPath?: string;
125
+ accountId?: string;
126
+ relayerUrl?: string;
127
+ /** Destination the previous approval covered, when this replaced one. */
128
+ previousAccountId?: string;
129
+ previousRelayerUrl?: string;
130
+ approvalsPath: string;
131
+ }
132
+ /**
133
+ * Approve the project-local credentials found from the working directory.
134
+ *
135
+ * Deliberately takes no arguments: it approves what resolution would otherwise
136
+ * ignore, from the same directory, so "what am I approving" and "what will be
137
+ * used" cannot drift apart.
138
+ */
139
+ export declare function approveProjectCreds(): ApproveProjectResult;
140
+ /** What {@link revokeProjectCredsApproval} did. */
141
+ export interface RevokeProjectResult {
142
+ outcome: "revoked" | "none";
143
+ projectPath?: string;
144
+ approvalsPath: string;
145
+ }
146
+ /**
147
+ * Withdraw the approval for the project-local credentials here.
148
+ *
149
+ * Keyed on the path rather than on the file's current contents, so an approval
150
+ * can be withdrawn even after the file it covered was edited or deleted — a
151
+ * revoke that only worked while the destination still matched would be
152
+ * useless exactly when it is wanted.
153
+ */
154
+ export declare function revokeProjectCredsApproval(): RevokeProjectResult;
155
+ /**
156
+ * The warning for a project credentials file that was found and NOT used, or
157
+ * null when there is nothing to report.
158
+ *
159
+ * Says which file was ignored, where memory is going instead, and the exact
160
+ * command that approves it — a silent fallback would be the mirror image of
161
+ * the silent redirect this gate exists to stop. Never contains a key: the only
162
+ * fields it reads are the account id and the relayer URL.
163
+ */
164
+ export declare function formatProjectCredsNotice(resolution?: CredsResolution): string | null;
165
+ /**
166
+ * What approving a project credentials file costs, beyond redirecting reads.
167
+ *
168
+ * Approval does not just decide which file is READ — it decides which file is
169
+ * WRITTEN. `saveCreds` writes to `credsPath()`, so from here on every sign-in
170
+ * from this project puts a fresh 64-hex Ed25519 delegate seed, in plaintext,
171
+ * into a directory that is inside the repository. An attacker who planted the
172
+ * file planted the directory too, so it is already tracked rather than ignored,
173
+ * and `git add -A` stages the key. The user cannot weigh that if nobody says
174
+ * it, and "you approved a destination" is not the same sentence as "you
175
+ * approved storing a private key in your repo".
176
+ *
177
+ * Separate from {@link formatProjectCredsNotice} on purpose: that one is about
178
+ * a file that was IGNORED, this one is about a file that is about to be used.
179
+ */
180
+ export declare function formatProjectCredsStorageWarning(projectPath: string): string;
43
181
  /**
44
182
  * Write credentials with secure (`0600`) permission, to whichever file
45
183
  * `credsPath()` resolves to.
@@ -102,6 +240,11 @@ export interface SaveCredsResult {
102
240
  * callback arrives, by which point a delegate key has already been registered
103
241
  * on-chain — so a warning that waits for both ids is a warning that arrives
104
242
  * too late to act on.
243
+ *
244
+ * When the file being replaced is an approved project one, that is also the
245
+ * last moment before a new private key lands inside a repository, so the
246
+ * storage warning is repeated here rather than left behind at approval time —
247
+ * approval may have been months ago, or done by someone else on the machine.
105
248
  */
106
249
  export declare function formatPendingSignInWarning(): string | null;
107
250
  /**
@@ -156,8 +299,26 @@ export interface PendingLogin {
156
299
  createdAt: string;
157
300
  version: 1;
158
301
  }
159
- /** Sits beside whichever credentials file `credsPath()` resolves to, so a
160
- * project-local sign-in recovers into that same project. */
302
+ /**
303
+ * Where the write-ahead record lives — never inside a repository.
304
+ *
305
+ * It used to sit beside whichever credentials file `credsPath()` resolved to,
306
+ * which reads as "recover into the project you signed in from" and is the right
307
+ * intent. But for an approved project that path is `<repo>/.memwal/`, so every
308
+ * sign-in dropped a plaintext 64-hex delegate seed into the working tree —
309
+ * under a directory an attacker who planted the credentials file had already
310
+ * created, so tracked rather than ignored, and staged by `git add -A`.
311
+ *
312
+ * Nothing about this record needs to be in the repo. It is short-lived
313
+ * handshake state, nobody edits it by hand, and the only property that matters
314
+ * is that the project which started a sign-in is the one that can reclaim it.
315
+ * So it moves to the trusted state directory, keyed by a hash of the
316
+ * credentials path: same per-project scoping, no key material in the checkout.
317
+ *
318
+ * The non-project cases are byte-for-byte where they always were —
319
+ * `dirname(credsPath())` IS `trustedStateDir()` for both the override and the
320
+ * global file — so a machine that has never approved a project sees no change.
321
+ */
161
322
  export declare function pendingLoginPath(): string;
162
323
  /**
163
324
  * Persist the pending keypair. Throws if it cannot.
@@ -168,10 +329,10 @@ export declare function pendingLoginPath(): string;
168
329
  * the connect URL while claiming a durability that does not exist — the
169
330
  * original WALM-332 loss, now silent.
170
331
  *
171
- * Failing the login costs the user nothing: this file sits beside
172
- * `credentials.json`, so a directory that cannot take it cannot take the
173
- * credentials either. The same login would have failed at the callback anyway,
174
- * one on-chain `add_delegate_key` later.
332
+ * Failing the login costs the user nothing: this file lives in the same
333
+ * trusted state directory the approval record does, so a directory that cannot
334
+ * take it is one this process cannot keep state in at all. The same login would
335
+ * have failed at the callback anyway, one on-chain `add_delegate_key` later.
175
336
  */
176
337
  export declare function savePendingLogin(pending: PendingLogin): void;
177
338
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}