@dfm-fi/agent 0.2.926 → 0.2.934
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 +24 -5
- package/dist/cli.js +7 -3
- package/dist/cli.js.map +1 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +57 -19
- package/dist/install.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -41,6 +41,12 @@ the agent.
|
|
|
41
41
|
|
|
42
42
|
## Security model (read first)
|
|
43
43
|
|
|
44
|
+
- **RECOMMENDED: `DFM_API_KEY` (keyless).** No Solana keypair anywhere on this
|
|
45
|
+
machine — writes route to the DFM backend and sign with **your Privy operating
|
|
46
|
+
wallet**, behind that wallet's own policy caps + a pre-sign simulation, and the
|
|
47
|
+
key is revocable instantly. See [Install](#install). Everything below this
|
|
48
|
+
point describes the **legacy local-keypair** mode (`DFM_AGENT_KEYPAIR_PATH`),
|
|
49
|
+
kept for existing installs and local dev/test wallets.
|
|
44
50
|
- The agent authenticates as **its own test wallet**, whose keypair is loaded
|
|
45
51
|
**locally by you** from a file path (`DFM_AGENT_KEYPAIR_PATH`) or an inline env
|
|
46
52
|
(`DFM_AGENT_KEYPAIR_JSON`). The keypair **never crosses the MCP boundary** — it
|
|
@@ -121,11 +127,22 @@ npx -y @dfm-fi/agent install
|
|
|
121
127
|
|
|
122
128
|
That detects the `claude` CLI and runs the registration for you (and always prints the manual command + Claude Desktop config as a fallback). Add real-money tools with:
|
|
123
129
|
|
|
130
|
+
```bash
|
|
131
|
+
npx -y @dfm-fi/agent install --write --api-key dfm_...
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Mint the key from a signed-in session:** `POST /agent/keys` (or the SKILLS panel in the app). It resolves server-side to your wallet + that credential's own caps, and is revocable instantly — nothing ever leaves your machine that can move funds on its own. Writes sign with **your Privy operating wallet**, never a raw Solana keypair. (`--dry-run` prints what it would do without registering.)
|
|
135
|
+
|
|
136
|
+
<details><summary>Legacy: a local throwaway keypair instead of an API key</summary>
|
|
137
|
+
|
|
138
|
+
Not recommended for real usage — a leaked keypair IS the wallet, permanently, with no revoke (an API key is instantly revocable). Kept for existing installs and local dev/test wallets:
|
|
139
|
+
|
|
124
140
|
```bash
|
|
125
141
|
npx -y @dfm-fi/agent install --write --keypair /abs/path/test-wallet.json
|
|
126
142
|
```
|
|
127
143
|
|
|
128
|
-
|
|
144
|
+
`--api-key` and `--keypair` are mutually exclusive — a keypair, if present, always wins over an API key, so the installer rejects passing both rather than silently picking one.
|
|
145
|
+
</details>
|
|
129
146
|
|
|
130
147
|
<details><summary>Prefer to register it yourself? The manual commands</summary>
|
|
131
148
|
|
|
@@ -134,10 +151,10 @@ Read-only:
|
|
|
134
151
|
claude mcp add dfm -- npx -y @dfm-fi/agent@latest
|
|
135
152
|
```
|
|
136
153
|
|
|
137
|
-
Full write-enabled (Claude Code, no RPC key needed):
|
|
154
|
+
Full write-enabled, RECOMMENDED (Claude Code, no RPC key needed, no local keypair):
|
|
138
155
|
```bash
|
|
139
156
|
claude mcp add dfm \
|
|
140
|
-
--env
|
|
157
|
+
--env DFM_API_KEY=dfm_... \
|
|
141
158
|
--env DFM_AGENT_WRITE_ENABLED=true \
|
|
142
159
|
-- npx -y @dfm-fi/agent@latest
|
|
143
160
|
```
|
|
@@ -150,14 +167,16 @@ claude mcp add dfm \
|
|
|
150
167
|
"command": "npx",
|
|
151
168
|
"args": ["-y", "@dfm-fi/agent"],
|
|
152
169
|
"env": {
|
|
153
|
-
"
|
|
170
|
+
"DFM_API_KEY": "dfm_...",
|
|
154
171
|
"DFM_AGENT_WRITE_ENABLED": "true"
|
|
155
172
|
}
|
|
156
173
|
}
|
|
157
174
|
}
|
|
158
175
|
}
|
|
159
176
|
```
|
|
160
|
-
(For read-only, drop `DFM_AGENT_WRITE_ENABLED` — the read tools
|
|
177
|
+
(For read-only, drop `DFM_API_KEY` + `DFM_AGENT_WRITE_ENABLED` — the read tools
|
|
178
|
+
need neither. Legacy local-keypair signing: swap `DFM_API_KEY` for
|
|
179
|
+
`DFM_AGENT_KEYPAIR_PATH=/abs/path/test-wallet.json` — see the legacy note above.
|
|
161
180
|
Optional: add `--env HELIUS_RPC_URL=https://…` to submit through your OWN RPC
|
|
162
181
|
instead of the backend.)
|
|
163
182
|
</details>
|
package/dist/cli.js
CHANGED
|
@@ -34,13 +34,17 @@ function printHelp() {
|
|
|
34
34
|
@dfm-fi/agent v${version()} — drive DFM v2 DTF vaults from an AI agent (MCP).
|
|
35
35
|
|
|
36
36
|
INSTALL (one command — registers the MCP server for Claude Code/Desktop):
|
|
37
|
-
npx -y @dfm-fi/agent install
|
|
38
|
-
npx -y @dfm-fi/agent install --write --
|
|
37
|
+
npx -y @dfm-fi/agent install read-only tools
|
|
38
|
+
npx -y @dfm-fi/agent install --write --api-key dfm_… + real-money tools (RECOMMENDED —
|
|
39
|
+
signs with YOUR Privy operating
|
|
40
|
+
wallet, no keypair anywhere)
|
|
41
|
+
npx -y @dfm-fi/agent install --write --keypair <path> legacy — local throwaway key
|
|
39
42
|
|
|
40
43
|
COMMANDS:
|
|
41
|
-
install [--write] [--keypair <abs>] [--name <n>] [--dry-run]
|
|
44
|
+
install [--write] [--api-key <dfm_…>] [--keypair <abs>] [--name <n>] [--dry-run]
|
|
42
45
|
Register the MCP server (auto via the \`claude\` CLI when
|
|
43
46
|
present; always prints the manual command + Desktop config).
|
|
47
|
+
--api-key and --keypair are mutually exclusive.
|
|
44
48
|
serve Start the stdio MCP server explicitly.
|
|
45
49
|
help Show this help.
|
|
46
50
|
version Print the version.
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,SAAS,OAAO;IACd,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;mBACK,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,SAAS,OAAO;IACd,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;mBACK,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC3B,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,0EAA0E;IAC1E,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1C,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO;QACT,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,SAAS,EAAE,CAAC;YACZ,OAAO;QACT,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvB,OAAO;QACT,KAAK,OAAO;YACV,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO;QACT,KAAK,EAAE;YACL,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,8DAA8D;YAC9D,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChD,SAAS,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,cAAc,EAAE,CAAC;YACzB,CAAC;YACD,OAAO;QACT;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;YAC3C,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAwGA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6E9D"}
|
package/dist/install.js
CHANGED
|
@@ -7,14 +7,25 @@
|
|
|
7
7
|
* is that a person can find ONE command on the landing page, paste it, and be
|
|
8
8
|
* done — no manual JSON editing, no RPC key.
|
|
9
9
|
*
|
|
10
|
-
* npx -y @dfm-fi/agent install
|
|
11
|
-
* npx -y @dfm-fi/agent install --write --
|
|
10
|
+
* npx -y @dfm-fi/agent install # read-only tools
|
|
11
|
+
* npx -y @dfm-fi/agent install --write --api-key dfm_… # RECOMMENDED — signs with
|
|
12
|
+
* # YOUR Privy operating wallet,
|
|
13
|
+
* # no keypair anywhere
|
|
14
|
+
* npx -y @dfm-fi/agent install --write --keypair PATH # legacy — local throwaway key
|
|
12
15
|
*
|
|
13
16
|
* Flags:
|
|
14
17
|
* --write also enable the WRITE tools (launch/deposit/redeem/manage)
|
|
18
|
+
* --api-key <key> a `dfm_…` credential (mint one with POST /agent/keys from a
|
|
19
|
+
* signed-in session). RECOMMENDED for --write: every write
|
|
20
|
+
* routes through /agent/operating/execute and signs with
|
|
21
|
+
* YOUR Privy-custodied operating wallet — no Solana keypair
|
|
22
|
+
* ever touches this machine. Mutually exclusive with --keypair
|
|
23
|
+
* (agent/src/keyless.ts: a keypair present always wins, so
|
|
24
|
+
* passing both would silently ignore --api-key).
|
|
15
25
|
* --keypair <path> absolute path to the throwaway test-wallet keypair json
|
|
16
|
-
* (only meaningful with --write; if omitted
|
|
17
|
-
* ~/.config/dfm/agent-wallet.json and it's
|
|
26
|
+
* (only meaningful with --write; if omitted AND no --api-key,
|
|
27
|
+
* drop the key at ~/.config/dfm/agent-wallet.json and it's
|
|
28
|
+
* picked up zero-config — legacy local-signing path)
|
|
18
29
|
* --name <name> MCP server name in Claude (default: dfm)
|
|
19
30
|
* --dry-run print what would run; don't execute / don't register
|
|
20
31
|
*/
|
|
@@ -28,18 +39,31 @@ function parse(args) {
|
|
|
28
39
|
return {
|
|
29
40
|
write: args.includes('--write'),
|
|
30
41
|
keypair: get('--keypair'),
|
|
42
|
+
apiKey: get('--api-key'),
|
|
31
43
|
name: get('--name') ?? 'dfm',
|
|
32
44
|
dryRun: args.includes('--dry-run'),
|
|
33
45
|
};
|
|
34
46
|
}
|
|
47
|
+
/** The env pairs (flat KEY, VALUE, KEY, VALUE…) this install grants — shared by
|
|
48
|
+
* the `claude mcp add` argv and the Desktop config snippet, so the two can
|
|
49
|
+
* never drift apart on what auth mode gets wired up. */
|
|
50
|
+
function envPairs(o) {
|
|
51
|
+
if (!o.write)
|
|
52
|
+
return [];
|
|
53
|
+
const pairs = [['DFM_AGENT_WRITE_ENABLED', 'true']];
|
|
54
|
+
// --api-key takes the credential path; --keypair takes the legacy local-signing
|
|
55
|
+
// path. runInstall() already rejects passing both, so at most one applies here.
|
|
56
|
+
if (o.apiKey)
|
|
57
|
+
pairs.push(['DFM_API_KEY', o.apiKey]);
|
|
58
|
+
else if (o.keypair)
|
|
59
|
+
pairs.push(['DFM_AGENT_KEYPAIR_PATH', o.keypair]);
|
|
60
|
+
return pairs;
|
|
61
|
+
}
|
|
35
62
|
/** The `claude mcp add …` argv that registers this package as an MCP server. */
|
|
36
63
|
function claudeAddArgs(o) {
|
|
37
64
|
const env = [];
|
|
38
|
-
|
|
39
|
-
env.push('--env',
|
|
40
|
-
if (o.keypair)
|
|
41
|
-
env.push('--env', `DFM_AGENT_KEYPAIR_PATH=${o.keypair}`);
|
|
42
|
-
}
|
|
65
|
+
for (const [k, v] of envPairs(o))
|
|
66
|
+
env.push('--env', `${k}=${v}`);
|
|
43
67
|
// `-- npx -y @dfm-fi/agent@latest` is the server launch command. No subcommand
|
|
44
68
|
// after the package name → cli.ts sees a non-TTY stdin (Claude pipes it) and
|
|
45
69
|
// starts the stdio MCP server. The `@latest` tag is LOAD-BEARING: without it,
|
|
@@ -52,12 +76,7 @@ function quote(args) {
|
|
|
52
76
|
return args.map((a) => (/[\s='"]/.test(a) ? JSON.stringify(a) : a)).join(' ');
|
|
53
77
|
}
|
|
54
78
|
function claudeDesktopSnippet(o) {
|
|
55
|
-
const env =
|
|
56
|
-
if (o.write) {
|
|
57
|
-
env.DFM_AGENT_WRITE_ENABLED = 'true';
|
|
58
|
-
if (o.keypair)
|
|
59
|
-
env.DFM_AGENT_KEYPAIR_PATH = o.keypair;
|
|
60
|
-
}
|
|
79
|
+
const env = Object.fromEntries(envPairs(o));
|
|
61
80
|
// `@latest` so npx always re-resolves to the newest publish (never a stale cache).
|
|
62
81
|
const entry = { command: 'npx', args: ['-y', `${PKG}@latest`] };
|
|
63
82
|
if (Object.keys(env).length)
|
|
@@ -83,6 +102,15 @@ export async function runInstall(args) {
|
|
|
83
102
|
console.error('\n Error: --keypair path must not contain an "=" character.\n');
|
|
84
103
|
process.exit(1);
|
|
85
104
|
}
|
|
105
|
+
// Reject BOTH auth flags together rather than silently picking one: per
|
|
106
|
+
// agent/src/keyless.ts, a keypair present ALWAYS wins over DFM_API_KEY, so a
|
|
107
|
+
// user passing both would have --api-key silently ignored with no error —
|
|
108
|
+
// exactly the confusing-default class of bug this flag exists to close.
|
|
109
|
+
if (o.keypair && o.apiKey) {
|
|
110
|
+
console.error('\n Error: --keypair and --api-key are mutually exclusive (a keypair, if present, ' +
|
|
111
|
+
'always wins — --api-key would be silently ignored). Pick one; --api-key is RECOMMENDED.\n');
|
|
112
|
+
process.exit(1);
|
|
113
|
+
}
|
|
86
114
|
const addArgs = claudeAddArgs(o);
|
|
87
115
|
const manualCmd = `claude ${quote(addArgs)}`;
|
|
88
116
|
console.log(`\n DFM agent — ${o.write ? 'FULL (read + real-money write)' : 'read-only'} install\n`);
|
|
@@ -115,15 +143,25 @@ export async function runInstall(args) {
|
|
|
115
143
|
console.log(' • Restart Claude Code / Claude Desktop so it picks up the server.');
|
|
116
144
|
console.log(' • Try: "list the DFM vaults" (read-only — works with no key).');
|
|
117
145
|
if (o.write) {
|
|
118
|
-
if (
|
|
119
|
-
console.log(' •
|
|
120
|
-
console.log('
|
|
146
|
+
if (o.apiKey) {
|
|
147
|
+
console.log(' • Writes sign with YOUR Privy operating wallet (no keypair on this machine).');
|
|
148
|
+
console.log(' No active/funded operating wallet yet? Ask Kim, or see /account in the app.');
|
|
149
|
+
}
|
|
150
|
+
else if (!o.keypair) {
|
|
151
|
+
console.log(' • WRITE is ON but no --api-key or --keypair was given. RECOMMENDED: re-run with');
|
|
152
|
+
console.log(' --api-key dfm_… (mint one with POST /agent/keys, signed in) — no keypair, ever.');
|
|
153
|
+
console.log(' Legacy fallback: drop a throwaway keypair json at ~/.config/dfm/agent-wallet.json.');
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
console.log(' • Legacy local-keypair signing: this machine holds real signing power over that');
|
|
157
|
+
console.log(' wallet directly, with none of the operating wallet\'s caps/simulation/revoke.');
|
|
158
|
+
console.log(' RECOMMENDED instead: --api-key dfm_… (mint one with POST /agent/keys).');
|
|
121
159
|
}
|
|
122
160
|
console.log(' • WRITE tools move REAL money on Solana mainnet and only ever act on');
|
|
123
161
|
console.log(' the signed-in wallet\'s own funds. Use a throwaway, allowlisted wallet.');
|
|
124
162
|
}
|
|
125
163
|
else {
|
|
126
|
-
console.log(' • To enable real-money tools later, re-run with: --write --
|
|
164
|
+
console.log(' • To enable real-money tools later, re-run with: --write --api-key dfm_… (RECOMMENDED)');
|
|
127
165
|
}
|
|
128
166
|
console.log('\n Docs: https://www.npmjs.com/package/' + PKG + '\n');
|
|
129
167
|
}
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED