@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.
- package/README.md +238 -1
- package/dist/auth-required.d.ts +325 -0
- package/dist/auth-required.d.ts.map +1 -1
- package/dist/auth-required.js +84 -16
- package/dist/auth-required.js.map +1 -1
- package/dist/auth.d.ts +179 -18
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +458 -35
- package/dist/auth.js.map +1 -1
- package/dist/auto-save.d.ts +100 -0
- package/dist/auto-save.d.ts.map +1 -0
- package/dist/auto-save.js +290 -0
- package/dist/auto-save.js.map +1 -0
- package/dist/bridge.d.ts +14 -2
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +233 -25
- package/dist/bridge.js.map +1 -1
- package/dist/consent.d.ts +36 -0
- package/dist/consent.d.ts.map +1 -0
- package/dist/consent.js +129 -0
- package/dist/consent.js.map +1 -0
- package/dist/health-probe.d.ts +35 -0
- package/dist/health-probe.d.ts.map +1 -0
- package/dist/health-probe.js +87 -0
- package/dist/health-probe.js.map +1 -0
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +266 -5
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +17 -18
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +84 -20
- package/dist/instructions.js.map +1 -1
- package/dist/login.d.ts +15 -1
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +109 -9
- package/dist/login.js.map +1 -1
- package/dist/memory-policy.d.ts +38 -0
- package/dist/memory-policy.d.ts.map +1 -0
- package/dist/memory-policy.js +80 -0
- package/dist/memory-policy.js.map +1 -0
- package/dist/messages.d.ts +10 -3
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +16 -5
- package/dist/messages.js.map +1 -1
- package/dist/recovery.d.ts +1 -0
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +15 -13
- package/dist/recovery.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,6 +23,86 @@ Add Walrus Memory MCP to your MCP client config:
|
|
|
23
23
|
}
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
## How the plugin launches the server
|
|
27
|
+
|
|
28
|
+
The [MemWal plugin](https://memory.walrus.xyz/mcp/claude-code) does **not** use the
|
|
29
|
+
`npx` form above. `npx` resolves a package *name* against the directory the MCP
|
|
30
|
+
client was started in — your project — so a project that contains an installed
|
|
31
|
+
`@mysten-incubation/memwal-mcp` claiming the pinned version would be run instead of
|
|
32
|
+
the published one. Pinning the version in the `npx` command does not prevent that:
|
|
33
|
+
the planted package simply claims the pinned version.
|
|
34
|
+
|
|
35
|
+
Instead, every plugin launch config runs the plugin's launcher:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"mcpServers": {
|
|
40
|
+
"memwal": {
|
|
41
|
+
"command": "node",
|
|
42
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/scripts/launch_mcp.mjs"]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The launcher installs the pinned version once into a directory it owns and then
|
|
49
|
+
runs that absolute entry point with the current `node` binary:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
~/.memwal/runtime/memwal-mcp@<version>/node_modules/@mysten-incubation/memwal-mcp/dist/bin/memwal-mcp.js
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
It never consults your project's `node_modules` or a `PATH`-relative bin shim, and
|
|
56
|
+
it fails rather than falling back to the package name if the pinned version cannot
|
|
57
|
+
be installed. Everything after the script path is forwarded to the server
|
|
58
|
+
unchanged, so flags such as `--namespace work` or `--relayer <url>` work exactly as
|
|
59
|
+
they do above.
|
|
60
|
+
|
|
61
|
+
The runtime directory is trusted because of what it is, not how it is spelled:
|
|
62
|
+
|
|
63
|
+
- It must be outside the project the client started in. An absolute path is not
|
|
64
|
+
enough on its own — a client expands `${workspaceFolder}` to an absolute path
|
|
65
|
+
inside the repository, and a repository can commit a whole fake install there.
|
|
66
|
+
- It must be a real directory (not a symlink), owned by you, and not group- or
|
|
67
|
+
world-writable. The launcher creates it with mode `0700` and refuses to run code
|
|
68
|
+
out of it otherwise. If you see a refusal, `chmod 700 ~/.memwal ~/.memwal/runtime`.
|
|
69
|
+
- `MEMWAL_MCP_RUNTIME_DIR` moves it, subject to exactly the same rules.
|
|
70
|
+
|
|
71
|
+
The one-off install is run with `--ignore-scripts` (so no `preinstall` or
|
|
72
|
+
`postinstall` from the package or its dependencies executes), against an explicitly
|
|
73
|
+
pinned public registry, with the `npm_config_*` and `NODE_OPTIONS` environment
|
|
74
|
+
scrubbed for that spawn — npm ranks environment variables above every `.npmrc`, so
|
|
75
|
+
a client `env` block would otherwise choose the registry. npm itself is run as
|
|
76
|
+
`node <npm-cli.js>` resolved from the running node binary where that layout exists.
|
|
77
|
+
|
|
78
|
+
What that does **not** give you is an integrity check of the package contents: it
|
|
79
|
+
establishes where the code came from and that nobody else can write it, not that
|
|
80
|
+
the registry served the bytes a reviewer read. If you install from a private
|
|
81
|
+
registry, pre-populate the directory yourself (below) — the launcher then finds the
|
|
82
|
+
install and never runs npm at all.
|
|
83
|
+
|
|
84
|
+
If you configure MemWal without the plugin and want the same property, install the
|
|
85
|
+
version you intend to run into a directory outside any project and point your
|
|
86
|
+
client at its absolute path:
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
mkdir -p ~/.memwal/runtime/memwal-mcp@0.0.14
|
|
90
|
+
chmod 700 ~/.memwal ~/.memwal/runtime
|
|
91
|
+
npm install --ignore-scripts --prefix ~/.memwal/runtime/memwal-mcp@0.0.14 \
|
|
92
|
+
@mysten-incubation/memwal-mcp@0.0.14
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"mcpServers": {
|
|
98
|
+
"memwal": {
|
|
99
|
+
"command": "node",
|
|
100
|
+
"args": ["/absolute/path/to/home/.memwal/runtime/memwal-mcp@0.0.14/node_modules/@mysten-incubation/memwal-mcp/dist/bin/memwal-mcp.js"]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
26
106
|
## Login
|
|
27
107
|
|
|
28
108
|
Run the login flow manually:
|
|
@@ -38,6 +118,7 @@ The command opens your browser, asks you to connect your Sui wallet, and saves c
|
|
|
38
118
|
```sh
|
|
39
119
|
memwal-mcp
|
|
40
120
|
memwal-mcp login
|
|
121
|
+
memwal-mcp auto-save on|off
|
|
41
122
|
memwal-mcp --logout
|
|
42
123
|
memwal-mcp --help
|
|
43
124
|
```
|
|
@@ -52,9 +133,111 @@ Use CLI flags or environment variables to override the default Walrus Memory end
|
|
|
52
133
|
| `--web-url <url>` | `MEMWAL_WEB_URL` | Override the web app URL used during login. |
|
|
53
134
|
| `--label <text>` | `MEMWAL_CLIENT_LABEL` | Friendly delegate-key label shown in Walrus Memory. |
|
|
54
135
|
| `--namespace <name>` (alias `--ns`) | `MEMWAL_NAMESPACE` | Default memory namespace applied when the agent omits one. |
|
|
136
|
+
| `auto-save on\|off` | `MEMWAL_AUTO_SAVE` | Whether the agent saves durable facts unprompted. On once you agree at login; see [Automatic Memory](#automatic-memory). |
|
|
55
137
|
|
|
56
138
|
Enable verbose stderr logging with `MEMWAL_MCP_DEBUG=1`.
|
|
57
139
|
|
|
140
|
+
Set `MEMWAL_MCP_TRANSPORT=http` to dial the relayer's Streamable HTTP endpoint instead of the default SSE pair. Opt-in: reconnect replay is not transport-aware yet, so a write interrupted mid-send may be retried and duplicated.
|
|
141
|
+
|
|
142
|
+
## Automatic Memory
|
|
143
|
+
|
|
144
|
+
MemWal saves durable facts — preferences, decisions, constraints, recurring
|
|
145
|
+
workflows — as you state them, without asking each time. That is what it is for,
|
|
146
|
+
so it is on. It asks you once first.
|
|
147
|
+
|
|
148
|
+
The question comes up in your terminal the first time you run `login`:
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
MemWal can save things about you automatically.
|
|
152
|
+
|
|
153
|
+
What that means: when you state a preference, a decision, or a setting in
|
|
154
|
+
chat — "I prefer pnpm", "we deploy from dev", "the relayer is at X" —
|
|
155
|
+
MemWal writes it to your memory without asking each time, so it is there
|
|
156
|
+
in your next session and in every other client you use.
|
|
157
|
+
|
|
158
|
+
Before you choose:
|
|
159
|
+
|
|
160
|
+
- Saved memories are permanent. They go to Walrus, which is immutable
|
|
161
|
+
storage. You can stop saving new ones at any time, but you cannot
|
|
162
|
+
delete one that is already saved.
|
|
163
|
+
- They are encrypted to your account. Only your delegate key reads them.
|
|
164
|
+
- MemWal strips obvious credentials — API keys, tokens, passwords,
|
|
165
|
+
private keys — before saving. Treat that as a safety net, not a
|
|
166
|
+
guarantee: do not paste secrets into a session with this on.
|
|
167
|
+
|
|
168
|
+
[1] Save automatically recommended, this is what MemWal is for
|
|
169
|
+
[2] Only save when I ask nothing is saved unless you say "remember this"
|
|
170
|
+
|
|
171
|
+
Your choice [1/2]:
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Saved memories are permanent.** Walrus is immutable storage: you can stop
|
|
175
|
+
saving new ones at any time, but you cannot delete one already saved — which is
|
|
176
|
+
why you are asked before it starts rather than after.
|
|
177
|
+
|
|
178
|
+
Until you answer, nothing is saved unprompted on a new install; "remember this"
|
|
179
|
+
and recall work throughout. If you were using MemWal before this question
|
|
180
|
+
existed, it keeps saving as it always has and asks you at your next login.
|
|
181
|
+
|
|
182
|
+
The question is only ever asked in a terminal. It is never an MCP tool and never
|
|
183
|
+
something the assistant can answer for you. Change it any time:
|
|
184
|
+
|
|
185
|
+
```sh
|
|
186
|
+
npx -y @mysten-incubation/memwal-mcp auto-save on
|
|
187
|
+
npx -y @mysten-incubation/memwal-mcp auto-save off
|
|
188
|
+
npx -y @mysten-incubation/memwal-mcp auto-save # report the current setting
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
The answer is stored as `{"autoSave": true}` in `settings.json` next to your
|
|
192
|
+
credentials file, so it follows the same project-local-beats-global resolution.
|
|
193
|
+
To pin one MCP client instead, set the environment variable — it overrides the
|
|
194
|
+
file and skips the question:
|
|
195
|
+
|
|
196
|
+
```json
|
|
197
|
+
{
|
|
198
|
+
"mcpServers": {
|
|
199
|
+
"memwal": {
|
|
200
|
+
"command": "npx",
|
|
201
|
+
"args": ["-y", "@mysten-incubation/memwal-mcp"],
|
|
202
|
+
"env": { "MEMWAL_AUTO_SAVE": "1" }
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Recall is never gated, and neither is an explicit "remember this" — the setting
|
|
209
|
+
only decides whether the agent saves things you did not ask it to save. Saying
|
|
210
|
+
no costs nothing and is not asked about again.
|
|
211
|
+
|
|
212
|
+
### What is never saved
|
|
213
|
+
|
|
214
|
+
Walrus storage is append-only and encrypted: a memory that lands **cannot be
|
|
215
|
+
edited or deleted**. So credentials are excluded whichever way you answer, by the same
|
|
216
|
+
rules stated in the server instructions, the tool descriptions and the plugin
|
|
217
|
+
hooks — and enforced by a check that runs before any text is sent:
|
|
218
|
+
|
|
219
|
+
- passwords, API keys, access and refresh tokens, private keys, seed and
|
|
220
|
+
recovery phrases, authorization headers, session cookies, and connection
|
|
221
|
+
strings or URLs with an embedded `user:password`;
|
|
222
|
+
- anything you say not to save ("don't save this", "off the record");
|
|
223
|
+
- pasted third-party content — a fenced block, a quoted passage — which is not
|
|
224
|
+
a fact about you.
|
|
225
|
+
|
|
226
|
+
When a message mixes a preference with a credential, the **preference is kept**
|
|
227
|
+
and only the credential is removed: "I prefer dark mode, db is
|
|
228
|
+
`postgres://admin:hunter2@db.internal/app`" is stored with the password gone and
|
|
229
|
+
the host intact. The agent is told which kinds were removed; the secret itself
|
|
230
|
+
is never stored, logged, or echoed back.
|
|
231
|
+
|
|
232
|
+
Detection targets specific credential shapes rather than "looks random", so
|
|
233
|
+
identifiers you *do* want remembered — blob ids, Sui object ids, commit SHAs,
|
|
234
|
+
digests — pass through untouched. Where a secret is indistinguishable from an
|
|
235
|
+
identifier, the **label** decides: pasting your `credentials.json` has its
|
|
236
|
+
`delegatePrivateKey` removed, while the same 64 hex characters with nothing
|
|
237
|
+
calling them a key are stored as the digest they look like. The trade-off is
|
|
238
|
+
that a secret in no recognisable shape, and with no label near it, can still
|
|
239
|
+
slip past the check — which is why the model-facing rules exist alongside it.
|
|
240
|
+
|
|
58
241
|
## Default Namespace
|
|
59
242
|
|
|
60
243
|
By default the MCP tool schemas expose an optional `namespace` argument and the
|
|
@@ -146,12 +329,66 @@ You can also pass explicit URLs:
|
|
|
146
329
|
|
|
147
330
|
## Credential Storage
|
|
148
331
|
|
|
149
|
-
Credentials are stored locally in `~/.memwal/credentials.json
|
|
332
|
+
Credentials are stored locally in `~/.memwal/credentials.json`, and the
|
|
333
|
+
automatic-memory setting in `settings.json` beside it. To remove the
|
|
334
|
+
credentials:
|
|
150
335
|
|
|
151
336
|
```sh
|
|
152
337
|
npx -y @mysten-incubation/memwal-mcp --logout
|
|
153
338
|
```
|
|
154
339
|
|
|
340
|
+
A sign-in that is still in flight also writes a `login-pending.json`
|
|
341
|
+
write-ahead record, beside `credentials.json` in `~/.memwal`. It holds the
|
|
342
|
+
delegate keypair minted for that sign-in, written before the browser can
|
|
343
|
+
register the public half on-chain so an interrupted login can be reclaimed
|
|
344
|
+
instead of paid for a second time. Same owner-only mode `0600` as
|
|
345
|
+
`credentials.json`.
|
|
346
|
+
|
|
347
|
+
It is removed once the sign-in completes, on `--logout`, and on a successful
|
|
348
|
+
recovery at the next start. A record older than 24 hours is discarded rather
|
|
349
|
+
than reused.
|
|
350
|
+
|
|
351
|
+
### Per-project credentials
|
|
352
|
+
|
|
353
|
+
A project can keep its own `.memwal/credentials.json` so memory written from it
|
|
354
|
+
goes to a separate account. That file lives inside the repository, where anyone
|
|
355
|
+
who can commit to it — or who can get you to open a clone — could otherwise
|
|
356
|
+
choose the account and relayer your memories go to. So it is **ignored until you
|
|
357
|
+
approve it**, once per machine:
|
|
358
|
+
|
|
359
|
+
```sh
|
|
360
|
+
cd path/to/project
|
|
361
|
+
npx -y @mysten-incubation/memwal-mcp approve-project
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
Until then the global credentials are used, and a line on stderr names the file
|
|
365
|
+
that was skipped and the destination it wanted. An approval covers one exact
|
|
366
|
+
project path, account, delegate key and relayer: if any of those change, it has
|
|
367
|
+
to be approved again. The record is kept in `~/.memwal/project-approvals.json`,
|
|
368
|
+
outside the repository, so a repository cannot carry its own approval.
|
|
369
|
+
`revoke-project` withdraws it.
|
|
370
|
+
|
|
371
|
+
Approving also picks the file that is **written**: a later sign-in from that
|
|
372
|
+
project saves a delegate private key into `.memwal/credentials.json` in plain
|
|
373
|
+
text, inside the repository. `approve-project` says so, and so does the sign-in
|
|
374
|
+
warning. Add `.memwal/` to your `.gitignore`. The write-ahead record is the one
|
|
375
|
+
thing that stays out: a project sign-in keeps it in `~/.memwal/login-pending/`,
|
|
376
|
+
one file per approved project, so no key material lands in the checkout and a
|
|
377
|
+
sign-in is still reclaimable only by the project that started it.
|
|
378
|
+
|
|
379
|
+
`MEMWAL_CREDS_DIR` points the credentials, the approval record and the
|
|
380
|
+
write-ahead record at a directory of your choosing and overrides project
|
|
381
|
+
resolution entirely, with no approval. Because it skips the gate, it must be an
|
|
382
|
+
**absolute path outside the current project**: a relative value would resolve
|
|
383
|
+
against the working directory and put the approval record inside the
|
|
384
|
+
repository, and an MCP client passes on the `env` block it reads from
|
|
385
|
+
`.cursor/mcp.json` / `.vscode/mcp.json` / `.claude/settings.json` in the
|
|
386
|
+
checkout — where `${workspaceFolder}` is expanded, so an in-project absolute
|
|
387
|
+
path is not proof you chose it. Anything else is refused with an error naming
|
|
388
|
+
the value, rather than quietly ignored. An empty value means unset.
|
|
389
|
+
|
|
390
|
+
`memwal_health` reports the destination in use as `account=… relayer=…`.
|
|
391
|
+
|
|
155
392
|
## License
|
|
156
393
|
|
|
157
394
|
Apache-2.0
|
package/dist/auth-required.d.ts
CHANGED
|
@@ -22,6 +22,261 @@
|
|
|
22
22
|
* and coexist.
|
|
23
23
|
*/
|
|
24
24
|
import { type MemWalCredentials } from "./auth.js";
|
|
25
|
+
/** Tool names the OLDEST relayer this bridge still talks to serves.
|
|
26
|
+
*
|
|
27
|
+
* The bridge ships on npm and updates itself; a relayer ships per environment
|
|
28
|
+
* and does not, so the bridge is routinely NEWER than the relayer it dials —
|
|
29
|
+
* 0.0.14-dev.0 against prod and staging on 0.0.13, which is GH #928. The
|
|
30
|
+
* cold-start list is served before any relayer capability is known, so every
|
|
31
|
+
* name in it that the dialled relayer does not serve is a tool the agent can
|
|
32
|
+
* be told about and then cannot call.
|
|
33
|
+
*
|
|
34
|
+
* Cold start is therefore a FLOOR, not a forecast: add a name here only once
|
|
35
|
+
* the tool has shipped to prod, never when it lands on dev. Newer tools reach
|
|
36
|
+
* the client a beat later anyway — the relayer's own `tools/list` replaces
|
|
37
|
+
* this one and `notifications/tools/list_changed` tells the client to re-read
|
|
38
|
+
* it. `memwal_remember_status` is the worked example: it exists on dev, not on
|
|
39
|
+
* prod/staging, and belongs here only after a prod release carries it. */
|
|
40
|
+
export declare const BASELINE_RELAYER_TOOLS: ReadonlySet<string>;
|
|
41
|
+
/** Every tool this bridge can describe, baseline or not. Only the baseline
|
|
42
|
+
* subset is advertised at cold start; this is what the schema tests pin, so a
|
|
43
|
+
* newer tool's shape stays reviewed while it waits for a prod release. */
|
|
44
|
+
export declare const ALL_TOOL_DEFINITIONS: ({
|
|
45
|
+
name: string;
|
|
46
|
+
title: string;
|
|
47
|
+
annotations: {
|
|
48
|
+
readOnlyHint: boolean;
|
|
49
|
+
destructiveHint: boolean;
|
|
50
|
+
};
|
|
51
|
+
description: string;
|
|
52
|
+
inputSchema: {
|
|
53
|
+
type: string;
|
|
54
|
+
properties: {
|
|
55
|
+
text: {
|
|
56
|
+
type: string;
|
|
57
|
+
minLength: number;
|
|
58
|
+
};
|
|
59
|
+
namespace: {
|
|
60
|
+
type: string;
|
|
61
|
+
minLength?: undefined;
|
|
62
|
+
};
|
|
63
|
+
facts?: undefined;
|
|
64
|
+
job_id?: undefined;
|
|
65
|
+
job_ids?: undefined;
|
|
66
|
+
waitMs?: undefined;
|
|
67
|
+
query?: undefined;
|
|
68
|
+
limit?: undefined;
|
|
69
|
+
maxDistance?: undefined;
|
|
70
|
+
freshKey?: undefined;
|
|
71
|
+
};
|
|
72
|
+
required: string[];
|
|
73
|
+
additionalProperties: boolean;
|
|
74
|
+
};
|
|
75
|
+
} | {
|
|
76
|
+
name: string;
|
|
77
|
+
title: string;
|
|
78
|
+
annotations: {
|
|
79
|
+
readOnlyHint: boolean;
|
|
80
|
+
destructiveHint: boolean;
|
|
81
|
+
};
|
|
82
|
+
description: string;
|
|
83
|
+
inputSchema: {
|
|
84
|
+
type: string;
|
|
85
|
+
properties: {
|
|
86
|
+
facts: {
|
|
87
|
+
type: string;
|
|
88
|
+
items: {
|
|
89
|
+
type: string;
|
|
90
|
+
minLength: number;
|
|
91
|
+
};
|
|
92
|
+
minItems: number;
|
|
93
|
+
maxItems: number;
|
|
94
|
+
};
|
|
95
|
+
namespace: {
|
|
96
|
+
type: string;
|
|
97
|
+
minLength?: undefined;
|
|
98
|
+
};
|
|
99
|
+
text?: undefined;
|
|
100
|
+
job_id?: undefined;
|
|
101
|
+
job_ids?: undefined;
|
|
102
|
+
waitMs?: undefined;
|
|
103
|
+
query?: undefined;
|
|
104
|
+
limit?: undefined;
|
|
105
|
+
maxDistance?: undefined;
|
|
106
|
+
freshKey?: undefined;
|
|
107
|
+
};
|
|
108
|
+
required: string[];
|
|
109
|
+
additionalProperties: boolean;
|
|
110
|
+
};
|
|
111
|
+
} | {
|
|
112
|
+
name: string;
|
|
113
|
+
title: string;
|
|
114
|
+
annotations: {
|
|
115
|
+
readOnlyHint: boolean;
|
|
116
|
+
destructiveHint: boolean;
|
|
117
|
+
};
|
|
118
|
+
description: string;
|
|
119
|
+
inputSchema: {
|
|
120
|
+
type: string;
|
|
121
|
+
properties: {
|
|
122
|
+
job_id: {
|
|
123
|
+
type: string;
|
|
124
|
+
minLength: number;
|
|
125
|
+
};
|
|
126
|
+
job_ids: {
|
|
127
|
+
type: string;
|
|
128
|
+
items: {
|
|
129
|
+
type: string;
|
|
130
|
+
minLength: number;
|
|
131
|
+
};
|
|
132
|
+
minItems: number;
|
|
133
|
+
maxItems: number;
|
|
134
|
+
};
|
|
135
|
+
waitMs: {
|
|
136
|
+
type: string;
|
|
137
|
+
minimum: number;
|
|
138
|
+
maximum: number;
|
|
139
|
+
default: number;
|
|
140
|
+
};
|
|
141
|
+
text?: undefined;
|
|
142
|
+
namespace?: undefined;
|
|
143
|
+
facts?: undefined;
|
|
144
|
+
query?: undefined;
|
|
145
|
+
limit?: undefined;
|
|
146
|
+
maxDistance?: undefined;
|
|
147
|
+
freshKey?: undefined;
|
|
148
|
+
};
|
|
149
|
+
additionalProperties: boolean;
|
|
150
|
+
required?: undefined;
|
|
151
|
+
};
|
|
152
|
+
} | {
|
|
153
|
+
name: string;
|
|
154
|
+
title: string;
|
|
155
|
+
annotations: {
|
|
156
|
+
readOnlyHint: boolean;
|
|
157
|
+
destructiveHint: boolean;
|
|
158
|
+
};
|
|
159
|
+
description: string;
|
|
160
|
+
inputSchema: {
|
|
161
|
+
type: string;
|
|
162
|
+
properties: {
|
|
163
|
+
query: {
|
|
164
|
+
type: string;
|
|
165
|
+
minLength: number;
|
|
166
|
+
};
|
|
167
|
+
limit: {
|
|
168
|
+
type: string;
|
|
169
|
+
minimum: number;
|
|
170
|
+
maximum: number;
|
|
171
|
+
default: number;
|
|
172
|
+
};
|
|
173
|
+
namespace: {
|
|
174
|
+
type: string;
|
|
175
|
+
minLength?: undefined;
|
|
176
|
+
};
|
|
177
|
+
maxDistance: {
|
|
178
|
+
type: string;
|
|
179
|
+
minimum: number;
|
|
180
|
+
description: string;
|
|
181
|
+
};
|
|
182
|
+
text?: undefined;
|
|
183
|
+
facts?: undefined;
|
|
184
|
+
job_id?: undefined;
|
|
185
|
+
job_ids?: undefined;
|
|
186
|
+
waitMs?: undefined;
|
|
187
|
+
freshKey?: undefined;
|
|
188
|
+
};
|
|
189
|
+
required: string[];
|
|
190
|
+
additionalProperties: boolean;
|
|
191
|
+
};
|
|
192
|
+
} | {
|
|
193
|
+
name: string;
|
|
194
|
+
title: string;
|
|
195
|
+
annotations: {
|
|
196
|
+
readOnlyHint: boolean;
|
|
197
|
+
destructiveHint: boolean;
|
|
198
|
+
};
|
|
199
|
+
description: string;
|
|
200
|
+
inputSchema: {
|
|
201
|
+
type: string;
|
|
202
|
+
properties: {
|
|
203
|
+
namespace: {
|
|
204
|
+
type: string;
|
|
205
|
+
minLength: number;
|
|
206
|
+
};
|
|
207
|
+
limit: {
|
|
208
|
+
type: string;
|
|
209
|
+
minimum: number;
|
|
210
|
+
maximum: number;
|
|
211
|
+
default: number;
|
|
212
|
+
};
|
|
213
|
+
text?: undefined;
|
|
214
|
+
facts?: undefined;
|
|
215
|
+
job_id?: undefined;
|
|
216
|
+
job_ids?: undefined;
|
|
217
|
+
waitMs?: undefined;
|
|
218
|
+
query?: undefined;
|
|
219
|
+
maxDistance?: undefined;
|
|
220
|
+
freshKey?: undefined;
|
|
221
|
+
};
|
|
222
|
+
required: string[];
|
|
223
|
+
additionalProperties: boolean;
|
|
224
|
+
};
|
|
225
|
+
} | {
|
|
226
|
+
name: string;
|
|
227
|
+
title: string;
|
|
228
|
+
annotations: {
|
|
229
|
+
readOnlyHint: boolean;
|
|
230
|
+
destructiveHint: boolean;
|
|
231
|
+
};
|
|
232
|
+
description: string;
|
|
233
|
+
inputSchema: {
|
|
234
|
+
type: string;
|
|
235
|
+
properties: {
|
|
236
|
+
text?: undefined;
|
|
237
|
+
namespace?: undefined;
|
|
238
|
+
facts?: undefined;
|
|
239
|
+
job_id?: undefined;
|
|
240
|
+
job_ids?: undefined;
|
|
241
|
+
waitMs?: undefined;
|
|
242
|
+
query?: undefined;
|
|
243
|
+
limit?: undefined;
|
|
244
|
+
maxDistance?: undefined;
|
|
245
|
+
freshKey?: undefined;
|
|
246
|
+
};
|
|
247
|
+
additionalProperties: boolean;
|
|
248
|
+
required?: undefined;
|
|
249
|
+
};
|
|
250
|
+
} | {
|
|
251
|
+
name: string;
|
|
252
|
+
title: string;
|
|
253
|
+
annotations: {
|
|
254
|
+
readOnlyHint: boolean;
|
|
255
|
+
destructiveHint: boolean;
|
|
256
|
+
};
|
|
257
|
+
description: string;
|
|
258
|
+
inputSchema: {
|
|
259
|
+
type: string;
|
|
260
|
+
properties: {
|
|
261
|
+
freshKey: {
|
|
262
|
+
type: string;
|
|
263
|
+
default: boolean;
|
|
264
|
+
description: string;
|
|
265
|
+
};
|
|
266
|
+
text?: undefined;
|
|
267
|
+
namespace?: undefined;
|
|
268
|
+
facts?: undefined;
|
|
269
|
+
job_id?: undefined;
|
|
270
|
+
job_ids?: undefined;
|
|
271
|
+
waitMs?: undefined;
|
|
272
|
+
query?: undefined;
|
|
273
|
+
limit?: undefined;
|
|
274
|
+
maxDistance?: undefined;
|
|
275
|
+
};
|
|
276
|
+
additionalProperties: boolean;
|
|
277
|
+
required?: undefined;
|
|
278
|
+
};
|
|
279
|
+
})[];
|
|
25
280
|
/** Signed-in cold-start list (bridge). Credentials exist; the relayer session
|
|
26
281
|
* is not up yet. Proactive wording so clients that keep the first tools/list
|
|
27
282
|
* still save/recall without being asked. */
|
|
@@ -51,6 +306,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
51
306
|
query?: undefined;
|
|
52
307
|
limit?: undefined;
|
|
53
308
|
maxDistance?: undefined;
|
|
309
|
+
freshKey?: undefined;
|
|
54
310
|
};
|
|
55
311
|
required: string[];
|
|
56
312
|
additionalProperties: boolean;
|
|
@@ -86,6 +342,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
86
342
|
query?: undefined;
|
|
87
343
|
limit?: undefined;
|
|
88
344
|
maxDistance?: undefined;
|
|
345
|
+
freshKey?: undefined;
|
|
89
346
|
};
|
|
90
347
|
required: string[];
|
|
91
348
|
additionalProperties: boolean;
|
|
@@ -126,6 +383,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
126
383
|
query?: undefined;
|
|
127
384
|
limit?: undefined;
|
|
128
385
|
maxDistance?: undefined;
|
|
386
|
+
freshKey?: undefined;
|
|
129
387
|
};
|
|
130
388
|
additionalProperties: boolean;
|
|
131
389
|
required?: undefined;
|
|
@@ -165,6 +423,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
165
423
|
job_id?: undefined;
|
|
166
424
|
job_ids?: undefined;
|
|
167
425
|
waitMs?: undefined;
|
|
426
|
+
freshKey?: undefined;
|
|
168
427
|
};
|
|
169
428
|
required: string[];
|
|
170
429
|
additionalProperties: boolean;
|
|
@@ -197,6 +456,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
197
456
|
waitMs?: undefined;
|
|
198
457
|
query?: undefined;
|
|
199
458
|
maxDistance?: undefined;
|
|
459
|
+
freshKey?: undefined;
|
|
200
460
|
};
|
|
201
461
|
required: string[];
|
|
202
462
|
additionalProperties: boolean;
|
|
@@ -221,6 +481,36 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
221
481
|
query?: undefined;
|
|
222
482
|
limit?: undefined;
|
|
223
483
|
maxDistance?: undefined;
|
|
484
|
+
freshKey?: undefined;
|
|
485
|
+
};
|
|
486
|
+
additionalProperties: boolean;
|
|
487
|
+
required?: undefined;
|
|
488
|
+
};
|
|
489
|
+
} | {
|
|
490
|
+
name: string;
|
|
491
|
+
title: string;
|
|
492
|
+
annotations: {
|
|
493
|
+
readOnlyHint: boolean;
|
|
494
|
+
destructiveHint: boolean;
|
|
495
|
+
};
|
|
496
|
+
description: string;
|
|
497
|
+
inputSchema: {
|
|
498
|
+
type: string;
|
|
499
|
+
properties: {
|
|
500
|
+
freshKey: {
|
|
501
|
+
type: string;
|
|
502
|
+
default: boolean;
|
|
503
|
+
description: string;
|
|
504
|
+
};
|
|
505
|
+
text?: undefined;
|
|
506
|
+
namespace?: undefined;
|
|
507
|
+
facts?: undefined;
|
|
508
|
+
job_id?: undefined;
|
|
509
|
+
job_ids?: undefined;
|
|
510
|
+
waitMs?: undefined;
|
|
511
|
+
query?: undefined;
|
|
512
|
+
limit?: undefined;
|
|
513
|
+
maxDistance?: undefined;
|
|
224
514
|
};
|
|
225
515
|
additionalProperties: boolean;
|
|
226
516
|
required?: undefined;
|
|
@@ -255,6 +545,7 @@ export declare const SIGNED_OUT_TOOL_DEFINITIONS: ({
|
|
|
255
545
|
query?: undefined;
|
|
256
546
|
limit?: undefined;
|
|
257
547
|
maxDistance?: undefined;
|
|
548
|
+
freshKey?: undefined;
|
|
258
549
|
};
|
|
259
550
|
required: string[];
|
|
260
551
|
additionalProperties: boolean;
|
|
@@ -290,6 +581,7 @@ export declare const SIGNED_OUT_TOOL_DEFINITIONS: ({
|
|
|
290
581
|
query?: undefined;
|
|
291
582
|
limit?: undefined;
|
|
292
583
|
maxDistance?: undefined;
|
|
584
|
+
freshKey?: undefined;
|
|
293
585
|
};
|
|
294
586
|
required: string[];
|
|
295
587
|
additionalProperties: boolean;
|
|
@@ -330,6 +622,7 @@ export declare const SIGNED_OUT_TOOL_DEFINITIONS: ({
|
|
|
330
622
|
query?: undefined;
|
|
331
623
|
limit?: undefined;
|
|
332
624
|
maxDistance?: undefined;
|
|
625
|
+
freshKey?: undefined;
|
|
333
626
|
};
|
|
334
627
|
additionalProperties: boolean;
|
|
335
628
|
required?: undefined;
|
|
@@ -369,6 +662,7 @@ export declare const SIGNED_OUT_TOOL_DEFINITIONS: ({
|
|
|
369
662
|
job_id?: undefined;
|
|
370
663
|
job_ids?: undefined;
|
|
371
664
|
waitMs?: undefined;
|
|
665
|
+
freshKey?: undefined;
|
|
372
666
|
};
|
|
373
667
|
required: string[];
|
|
374
668
|
additionalProperties: boolean;
|
|
@@ -401,6 +695,7 @@ export declare const SIGNED_OUT_TOOL_DEFINITIONS: ({
|
|
|
401
695
|
waitMs?: undefined;
|
|
402
696
|
query?: undefined;
|
|
403
697
|
maxDistance?: undefined;
|
|
698
|
+
freshKey?: undefined;
|
|
404
699
|
};
|
|
405
700
|
required: string[];
|
|
406
701
|
additionalProperties: boolean;
|
|
@@ -425,6 +720,36 @@ export declare const SIGNED_OUT_TOOL_DEFINITIONS: ({
|
|
|
425
720
|
query?: undefined;
|
|
426
721
|
limit?: undefined;
|
|
427
722
|
maxDistance?: undefined;
|
|
723
|
+
freshKey?: undefined;
|
|
724
|
+
};
|
|
725
|
+
additionalProperties: boolean;
|
|
726
|
+
required?: undefined;
|
|
727
|
+
};
|
|
728
|
+
} | {
|
|
729
|
+
name: string;
|
|
730
|
+
title: string;
|
|
731
|
+
annotations: {
|
|
732
|
+
readOnlyHint: boolean;
|
|
733
|
+
destructiveHint: boolean;
|
|
734
|
+
};
|
|
735
|
+
description: string;
|
|
736
|
+
inputSchema: {
|
|
737
|
+
type: string;
|
|
738
|
+
properties: {
|
|
739
|
+
freshKey: {
|
|
740
|
+
type: string;
|
|
741
|
+
default: boolean;
|
|
742
|
+
description: string;
|
|
743
|
+
};
|
|
744
|
+
text?: undefined;
|
|
745
|
+
namespace?: undefined;
|
|
746
|
+
facts?: undefined;
|
|
747
|
+
job_id?: undefined;
|
|
748
|
+
job_ids?: undefined;
|
|
749
|
+
waitMs?: undefined;
|
|
750
|
+
query?: undefined;
|
|
751
|
+
limit?: undefined;
|
|
752
|
+
maxDistance?: undefined;
|
|
428
753
|
};
|
|
429
754
|
additionalProperties: boolean;
|
|
430
755
|
required?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-required.d.ts","sourceRoot":"","sources":["../src/auth-required.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-required.d.ts","sourceRoot":"","sources":["../src/auth-required.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AA2MzE;;;;;;;;;;;;;;0EAc0E;AAC1E,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAOrD,CAAC;AAMH;;0EAE0E;AAC1E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA6B,CAAC;AAS/D;;4CAE4C;AAC5C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAuB,CAAC;AAErD;;8BAE8B;AAC9B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAwB,CAAC;AA+CjE;;;mCAGmC;AACnC,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;;;;4DAIwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AA6ID;;yCAEyC;AACzC,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,iBAAiB,CAAC;IACzB;;sCAEkC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AA4ID;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAgE7B"}
|