minara 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -23
- package/dist/commands/chat.d.ts +2 -0
- package/dist/commands/chat.js +26 -9
- package/dist/commands/deposit.js +2 -1
- package/dist/commands/transfer.js +2 -1
- package/dist/index.js +3 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,14 +48,14 @@ minara login
|
|
|
48
48
|
# Check your account
|
|
49
49
|
minara account
|
|
50
50
|
|
|
51
|
-
#
|
|
52
|
-
minara
|
|
51
|
+
# Receive / deposit
|
|
52
|
+
minara receive
|
|
53
53
|
|
|
54
|
-
#
|
|
55
|
-
minara
|
|
54
|
+
# Quick AI question
|
|
55
|
+
minara ask "What's the best DeFi yield right now?"
|
|
56
56
|
|
|
57
|
-
#
|
|
58
|
-
minara
|
|
57
|
+
# Deep AI research
|
|
58
|
+
minara research "Analyze ETH outlook for next quarter"
|
|
59
59
|
|
|
60
60
|
# Swap tokens (chain auto-detected from token)
|
|
61
61
|
minara swap -t '$BONK' -s buy -a 100
|
|
@@ -88,7 +88,8 @@ minara login -e user@mail.com # Email verification code
|
|
|
88
88
|
| `minara assets` | Full overview: spot holdings + perps account |
|
|
89
89
|
| `minara assets spot` | Spot wallet: portfolio value, cost, PnL, holdings |
|
|
90
90
|
| `minara assets perps` | Perps account: equity, margin, positions |
|
|
91
|
-
| `minara
|
|
91
|
+
| `minara receive` | Deposit / receive to spot, perps, or buy with credit card |
|
|
92
|
+
| `minara deposit` | Same as `receive` |
|
|
92
93
|
| `minara deposit buy` | Buy crypto with credit card via MoonPay |
|
|
93
94
|
| `minara withdraw` | Withdraw tokens to an external wallet |
|
|
94
95
|
|
|
@@ -97,9 +98,9 @@ minara balance # Quick total: Spot + Perps available balance
|
|
|
97
98
|
minara assets # Full overview (spot + perps)
|
|
98
99
|
minara assets spot # Spot wallet with PnL breakdown
|
|
99
100
|
minara assets perps # Perps equity, margin, positions
|
|
100
|
-
minara
|
|
101
|
-
minara
|
|
102
|
-
minara
|
|
101
|
+
minara receive # Interactive: Spot / Perps / Buy with credit card
|
|
102
|
+
minara receive spot # Show spot wallet deposit addresses (EVM + Solana)
|
|
103
|
+
minara receive perps # Perps: show Arbitrum deposit address, or transfer from Spot → Perps
|
|
103
104
|
minara deposit buy # Buy crypto with credit card via MoonPay (opens browser)
|
|
104
105
|
minara withdraw -c solana -t '$SOL' -a 10 --to <address>
|
|
105
106
|
minara withdraw # Interactive mode (accepts ticker or address)
|
|
@@ -107,18 +108,28 @@ minara withdraw # Interactive mode (accepts ticker or address)
|
|
|
107
108
|
|
|
108
109
|
### Spot Trading
|
|
109
110
|
|
|
110
|
-
| Command | Description
|
|
111
|
-
| ----------------- |
|
|
112
|
-
| `minara swap` | Swap tokens (chain auto-detected)
|
|
113
|
-
| `minara
|
|
111
|
+
| Command | Description |
|
|
112
|
+
| ----------------- | ---------------------------------------------------- |
|
|
113
|
+
| `minara swap` | Swap tokens (chain auto-detected) |
|
|
114
|
+
| `minara send` | Send / transfer tokens to another address |
|
|
115
|
+
| `minara transfer` | Same as `send` |
|
|
114
116
|
|
|
115
117
|
```bash
|
|
116
118
|
minara swap # Interactive: side → token → amount
|
|
117
119
|
minara swap -s buy -t '$BONK' -a 100 # Buy by ticker (chain auto-detected)
|
|
118
120
|
minara swap -s sell -t '$NVDAx' -a all # Sell entire balance
|
|
119
121
|
minara swap --dry-run # Simulate without executing
|
|
122
|
+
|
|
123
|
+
# Send tokens
|
|
124
|
+
minara send -c solana -t '$SOL' -a 5 --to <address> # Send SOL on Solana
|
|
125
|
+
minara send -c base -t '$USDC' -a 200 --to <address> # Send USDC on Base
|
|
126
|
+
minara send -c ethereum -t '$ETH' -a 0.1 --to <addr> # Send ETH on Ethereum
|
|
127
|
+
minara send # Interactive mode
|
|
128
|
+
minara transfer -c solana -t '$SOL' -a 5 --to <address> # Same as send
|
|
120
129
|
```
|
|
121
130
|
|
|
131
|
+
> **`send` vs `withdraw`:** `send` is an alias for `transfer` — both transfer tokens to another address. `withdraw` is a separate command that moves tokens from your Minara wallet to an external address (shows your current assets before prompting).
|
|
132
|
+
>
|
|
122
133
|
> **Chain abstraction:** The chain is automatically detected from the token. If a token exists on multiple chains (e.g. USDC), you'll be prompted to pick one, sorted by gas cost (lowest first). Sell mode supports `all` to sell full balance, and caps amounts exceeding your balance.
|
|
123
134
|
>
|
|
124
135
|
> **Token input:** All token fields (`-t`) accept a `$TICKER` (e.g. `$BONK`), a token name, or a contract address.
|
|
@@ -193,24 +204,37 @@ minara limit-order cancel abc123 # Cancel order by ID
|
|
|
193
204
|
|
|
194
205
|
### AI Chat
|
|
195
206
|
|
|
196
|
-
| Command | Description
|
|
197
|
-
| -------------------------------- |
|
|
198
|
-
| `minara
|
|
199
|
-
| `minara
|
|
200
|
-
| `minara chat
|
|
201
|
-
| `minara chat
|
|
202
|
-
| `minara chat
|
|
207
|
+
| Command | Description |
|
|
208
|
+
| -------------------------------- | ------------------------------------------------- |
|
|
209
|
+
| `minara ask [message]` | Quick AI chat (fast mode) |
|
|
210
|
+
| `minara research [message]` | Deep AI research (quality mode) |
|
|
211
|
+
| `minara chat` | Enter interactive REPL (Python/Node.js-style) |
|
|
212
|
+
| `minara chat [message]` | Send a single message and exit |
|
|
213
|
+
| `minara chat --list` | List all your conversations |
|
|
214
|
+
| `minara chat --history <chatId>` | View messages in a conversation |
|
|
215
|
+
| `minara chat -c <chatId>` | Continue an existing conversation |
|
|
203
216
|
|
|
204
217
|
```bash
|
|
218
|
+
# Quick questions (fast mode)
|
|
219
|
+
minara ask "What is the current BTC price?"
|
|
220
|
+
minara ask "Is SOL a good buy right now?"
|
|
221
|
+
|
|
222
|
+
# Deep research (quality mode)
|
|
223
|
+
minara research "Analyze ETH outlook for next quarter"
|
|
224
|
+
minara research "Compare Layer 2 rollup ecosystems"
|
|
225
|
+
|
|
226
|
+
# Full chat with all options
|
|
205
227
|
minara chat # Enter interactive REPL mode
|
|
206
228
|
minara chat "What is the current BTC price?" # Single question, streamed answer
|
|
207
|
-
minara chat --quality "Analyze ETH outlook" # Quality mode (
|
|
229
|
+
minara chat --quality "Analyze ETH outlook" # Quality mode (same as research)
|
|
208
230
|
minara chat --thinking "Analyze ETH outlook" # Enable reasoning mode
|
|
209
231
|
minara chat -c <chatId> # Continue a specific chat in REPL
|
|
210
232
|
minara chat --list # List past conversations
|
|
211
233
|
minara chat --history <chatId> # Replay a specific conversation
|
|
212
234
|
```
|
|
213
235
|
|
|
236
|
+
> **`ask` vs `research` vs `chat`:** `ask` is a shortcut for `chat` in fast mode — quick questions, real-time prices, brief answers. `research` is a shortcut for `chat --quality` — deeper analysis, longer responses, more thorough reasoning. `chat` gives you the full feature set including interactive REPL, conversation history, and all mode flags.
|
|
237
|
+
|
|
214
238
|
**Interactive REPL mode** — When launched without a message argument, the chat enters an interactive session:
|
|
215
239
|
|
|
216
240
|
```
|
|
@@ -327,7 +351,7 @@ Minara CLI supports macOS Touch ID to protect all fund-related operations. When
|
|
|
327
351
|
minara config # Select "Touch ID" to enable / disable
|
|
328
352
|
```
|
|
329
353
|
|
|
330
|
-
**Protected operations:** `withdraw`, `transfer`, `swap`, `deposit` (Spot→Perps transfer), `perps deposit`, `perps withdraw`, `perps order`, `perps close`, `limit-order create`
|
|
354
|
+
**Protected operations:** `withdraw`, `send` / `transfer`, `swap`, `receive` / `deposit` (Spot→Perps transfer), `perps deposit`, `perps withdraw`, `perps order`, `perps close`, `limit-order create`
|
|
331
355
|
|
|
332
356
|
> **Note:** Touch ID requires macOS with Touch ID hardware. The `--yes` flag skips the initial confirmation prompt but does **not** bypass transaction confirmation or Touch ID.
|
|
333
357
|
|
package/dist/commands/chat.d.ts
CHANGED
package/dist/commands/chat.js
CHANGED
|
@@ -75,15 +75,7 @@ async function* parseSSE(response) {
|
|
|
75
75
|
reader.releaseLock();
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
|
|
79
|
-
.description('Chat with Minara AI assistant (interactive REPL when no message given)')
|
|
80
|
-
.argument('[message]', 'Send a single message and exit')
|
|
81
|
-
.option('-c, --chat-id <id>', 'Continue existing chat')
|
|
82
|
-
.option('--list', 'List past chats')
|
|
83
|
-
.option('--history <chatId>', 'Show chat history')
|
|
84
|
-
.option('--thinking', 'Enable thinking/degen mode')
|
|
85
|
-
.option('--quality', 'Use quality mode instead of the default fast mode')
|
|
86
|
-
.action(wrapAction(async (messageArg, opts) => {
|
|
78
|
+
async function chatAction(messageArg, opts) {
|
|
87
79
|
const creds = requireAuth();
|
|
88
80
|
// ── List chats ───────────────────────────────────────────────────────
|
|
89
81
|
if (opts?.list) {
|
|
@@ -268,4 +260,29 @@ export const chatCommand = new Command('chat')
|
|
|
268
260
|
}
|
|
269
261
|
await sendAndPrintWithPause(userMsg);
|
|
270
262
|
}
|
|
263
|
+
}
|
|
264
|
+
export const chatCommand = new Command('chat')
|
|
265
|
+
.description('Chat with Minara AI assistant (interactive REPL when no message given)')
|
|
266
|
+
.argument('[message]', 'Send a single message and exit')
|
|
267
|
+
.option('-c, --chat-id <id>', 'Continue existing chat')
|
|
268
|
+
.option('--list', 'List past chats')
|
|
269
|
+
.option('--history <chatId>', 'Show chat history')
|
|
270
|
+
.option('--thinking', 'Enable thinking/degen mode')
|
|
271
|
+
.option('--quality', 'Use quality mode instead of the default fast mode')
|
|
272
|
+
.action(wrapAction(chatAction));
|
|
273
|
+
export const askCommand = new Command('ask')
|
|
274
|
+
.description('Quick AI chat (fast mode) — alias for chat')
|
|
275
|
+
.argument('[message]', 'Send a single message and exit')
|
|
276
|
+
.option('-c, --chat-id <id>', 'Continue existing chat')
|
|
277
|
+
.option('--thinking', 'Enable thinking/degen mode')
|
|
278
|
+
.action(wrapAction(async (messageArg, opts) => {
|
|
279
|
+
await chatAction(messageArg, { ...opts, quality: false });
|
|
280
|
+
}));
|
|
281
|
+
export const researchCommand = new Command('research')
|
|
282
|
+
.description('Deep AI research (quality mode) — alias for chat --quality')
|
|
283
|
+
.argument('[message]', 'Send a single message and exit')
|
|
284
|
+
.option('-c, --chat-id <id>', 'Continue existing chat')
|
|
285
|
+
.option('--thinking', 'Enable thinking/degen mode')
|
|
286
|
+
.action(wrapAction(async (messageArg, opts) => {
|
|
287
|
+
await chatAction(messageArg, { ...opts, quality: true });
|
|
271
288
|
}));
|
package/dist/commands/deposit.js
CHANGED
|
@@ -184,7 +184,8 @@ const buyCmd = new Command('buy')
|
|
|
184
184
|
await moonPayOnRamp(creds.accessToken);
|
|
185
185
|
}));
|
|
186
186
|
export const depositCommand = new Command('deposit')
|
|
187
|
-
.
|
|
187
|
+
.alias('receive')
|
|
188
|
+
.description('Deposit / receive to spot wallet or perps account, or buy with credit card')
|
|
188
189
|
.addCommand(spotCmd)
|
|
189
190
|
.addCommand(perpsCmd)
|
|
190
191
|
.addCommand(buyCmd)
|
|
@@ -6,7 +6,8 @@ import { success, spinner, assertApiOk, selectChain, wrapAction, requireTransact
|
|
|
6
6
|
import { requireTouchId } from '../touchid.js';
|
|
7
7
|
import { printTxResult } from '../formatters.js';
|
|
8
8
|
export const transferCommand = new Command('transfer')
|
|
9
|
-
.
|
|
9
|
+
.alias('send')
|
|
10
|
+
.description('Transfer / send tokens to another address')
|
|
10
11
|
.option('-c, --chain <chain>', 'Blockchain')
|
|
11
12
|
.option('-t, --token <address|ticker>', 'Token contract address or ticker symbol')
|
|
12
13
|
.option('-a, --amount <amount>', 'Token amount to send')
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ import { transferCommand } from './commands/transfer.js';
|
|
|
19
19
|
import { perpsCommand } from './commands/perps.js';
|
|
20
20
|
import { limitOrderCommand } from './commands/limit-order.js';
|
|
21
21
|
// AI, Market, Premium, Config
|
|
22
|
-
import { chatCommand } from './commands/chat.js';
|
|
22
|
+
import { chatCommand, askCommand, researchCommand } from './commands/chat.js';
|
|
23
23
|
import { discoverCommand } from './commands/discover.js';
|
|
24
24
|
import { premiumCommand } from './commands/premium.js';
|
|
25
25
|
import { configCommand } from './commands/config.js';
|
|
@@ -58,6 +58,8 @@ program.addCommand(perpsCommand);
|
|
|
58
58
|
program.addCommand(limitOrderCommand);
|
|
59
59
|
// ── AI Chat ──────────────────────────────────────────────────────────────
|
|
60
60
|
program.addCommand(chatCommand);
|
|
61
|
+
program.addCommand(askCommand);
|
|
62
|
+
program.addCommand(researchCommand);
|
|
61
63
|
// ── Market ───────────────────────────────────────────────────────────────
|
|
62
64
|
program.addCommand(discoverCommand);
|
|
63
65
|
// ── Premium ─────────────────────────────────────────────────────────────
|