@attocash/cli 0.1.0 → 0.1.1
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 +225 -184
- package/dist/cli/main.js +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,183 +1,121 @@
|
|
|
1
1
|
# Atto CLI
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
**An Atto wallet for your terminal.**
|
|
4
|
+
|
|
5
|
+
**Beta** · [Install from npm](https://www.npmjs.com/package/@attocash/cli)
|
|
6
|
+
|
|
7
|
+
Create a wallet, name your addresses, and send payments from the command line.
|
|
8
|
+
Check what arrived, follow activity live, or use JSON output in your own scripts.
|
|
9
|
+
Available as an initial beta for macOS, Linux, and Windows.
|
|
10
|
+
|
|
11
|
+
[Install](#install) · [Set up a wallet](#set-up-the-wallet) ·
|
|
12
|
+
[Everyday examples](#everyday-examples) · [Command reference](#use-the-cli) ·
|
|
13
|
+
[Recovery](#profiles-and-recovery)
|
|
14
|
+
|
|
15
|
+
- **Readable destinations.** Send to personal names such as “Savings”.
|
|
16
|
+
- **Live activity.** Watch incoming payments and keep automatic receiving running.
|
|
17
|
+
- **Scriptable results.** Use `--json` for structured output and durable request IDs for retries.
|
|
18
|
+
- **An optional agent companion.** Connect [Atto MCP](https://www.npmjs.com/package/@attocash/mcp)
|
|
19
|
+
to a separate wallet or share this one with approved spending limits.
|
|
8
20
|
|
|
9
21
|
## Install
|
|
10
22
|
|
|
11
|
-
Requires **Node.js 24
|
|
23
|
+
Requires **Node.js 24**. Use the latest 24.x release. Install from npm:
|
|
12
24
|
|
|
13
25
|
```sh
|
|
14
|
-
npm
|
|
15
|
-
npm run pack
|
|
16
|
-
npm install --global ./attocash-cli-0.1.0.tgz
|
|
26
|
+
npm install --global @attocash/cli
|
|
17
27
|
atto --help
|
|
18
28
|
```
|
|
19
29
|
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
Omitting a package version installs the latest compatible release. You can
|
|
31
|
+
also run commands without a global installation; `@latest` explicitly selects
|
|
32
|
+
the current published release:
|
|
22
33
|
|
|
23
34
|
```sh
|
|
24
|
-
|
|
35
|
+
npx --yes @attocash/cli@latest --help
|
|
25
36
|
```
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
38
|
+
To install both the CLI and MCP server globally:
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
npm install --global @attocash/cli @attocash/mcp
|
|
42
|
+
```
|
|
30
43
|
|
|
31
44
|
Linux also requires `secret-tool` (usually the `libsecret-tools` package), an
|
|
32
45
|
unlocked Secret Service provider such as GNOME Keyring or KWallet, and access to
|
|
33
46
|
your desktop D-Bus session. macOS uses Keychain; Windows uses Credential Manager.
|
|
34
47
|
An unavailable password store is an error; there is no plaintext file fallback.
|
|
35
48
|
|
|
36
|
-
##
|
|
37
|
-
|
|
38
|
-
Interactive CLI commands can show a notice on stderr when a newer stable CLI
|
|
39
|
-
version is available. The notice includes the exact installation command;
|
|
40
|
-
updates are always manual. Version checks run in the background, with each
|
|
41
|
-
attempt cached for 24 hours, including failed attempts. Their results appear
|
|
42
|
-
on a later command. Network and cache failures are silent.
|
|
43
|
-
|
|
44
|
-
Use `--no-update-notifier` or set `NO_UPDATE_NOTIFIER` to disable notices and
|
|
45
|
-
checks. They are also disabled with `--json`, redirected stdout or stderr,
|
|
46
|
-
CI, or `NODE_ENV=test`. MCP and the `@attocash/cli/core` library do not check
|
|
47
|
-
for updates or display notices.
|
|
48
|
-
|
|
49
|
-
Checks request public package metadata from the npm registry and send no wallet
|
|
50
|
-
data. The cache contains only public version information and timestamps,
|
|
51
|
-
separately from wallet state:
|
|
52
|
-
|
|
53
|
-
| OS | Update cache |
|
|
54
|
-
| --- | --- |
|
|
55
|
-
| Linux | `$XDG_CACHE_HOME/atto-cli/update.json`, or `~/.cache/atto-cli/update.json` |
|
|
56
|
-
| macOS | `~/Library/Caches/atto-cli/update.json` |
|
|
57
|
-
| Windows | `%LOCALAPPDATA%/atto-cli/Cache/update.json`, or `~/AppData/Local/atto-cli/Cache/update.json` |
|
|
58
|
-
|
|
59
|
-
Once a version is published, replace `VERSION` below with that version to
|
|
60
|
-
update a global CLI installation:
|
|
61
|
-
|
|
62
|
-
```sh
|
|
63
|
-
npm install --global @attocash/cli@VERSION
|
|
64
|
-
```
|
|
49
|
+
## Set up the wallet
|
|
65
50
|
|
|
66
|
-
|
|
51
|
+
Create a wallet in your own interactive terminal:
|
|
67
52
|
|
|
68
53
|
```sh
|
|
69
|
-
|
|
54
|
+
atto wallet create
|
|
70
55
|
```
|
|
71
56
|
|
|
72
|
-
|
|
57
|
+
Setup stores the recovery phrase in your OS password store and displays it in
|
|
58
|
+
the terminal. Keep a private offline copy. If you already have a recovery
|
|
59
|
+
phrase, run `atto wallet import` instead; it asks for the phrase through a
|
|
60
|
+
hidden prompt.
|
|
73
61
|
|
|
74
|
-
|
|
62
|
+
Find your address and check your balance:
|
|
75
63
|
|
|
76
64
|
```sh
|
|
77
|
-
atto
|
|
78
|
-
|
|
79
|
-
atto wallet import
|
|
65
|
+
atto address list
|
|
66
|
+
atto balances
|
|
80
67
|
```
|
|
81
68
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
terminal and adds a JSON confirmation only when `--json` is requested.
|
|
85
|
-
Wallet creation, import, and backup require terminal input and terminal
|
|
86
|
-
stderr; they are unavailable as MCP tools or through redirected pipes. Mnemonics
|
|
87
|
-
are never accepted in command arguments, JSON, configuration, or environment variables.
|
|
88
|
-
|
|
89
|
-
Import refuses an initialized wallet before asking for the recovery phrase. To
|
|
90
|
-
replace it, back up its phrase and public profile, stop any CLI or MCP sessions
|
|
91
|
-
using that profile, then run:
|
|
69
|
+
The default network is LIVE. To receive incoming payments, leave this command
|
|
70
|
+
running in a terminal:
|
|
92
71
|
|
|
93
72
|
```sh
|
|
94
|
-
atto wallet
|
|
95
|
-
atto wallet import
|
|
73
|
+
atto wallet receive
|
|
96
74
|
```
|
|
97
75
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
It removes that profile's password-store credential and clears local addresses,
|
|
101
|
-
personal labels, pinned destinations, payment history, settings, spending limits, and access permissions. You need the saved
|
|
102
|
-
recovery phrase and account indexes to access its funds again. Profile metadata
|
|
103
|
-
and database lock files stay in place so the credential namespace and coordination
|
|
104
|
-
remain stable.
|
|
105
|
-
Other open sessions and unresolved payments prevent reset. If reset is interrupted,
|
|
106
|
-
run it again to finish before creating or importing a wallet. After upgrading from
|
|
107
|
-
a version without reset support, restart existing CLI/MCP processes before using
|
|
108
|
-
this command.
|
|
76
|
+
It reports incoming payments and confirmed receives as they happen. Stop it
|
|
77
|
+
with Ctrl+C. Use `atto doctor` if you need help checking your environment.
|
|
109
78
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
Atto wallet. See [profiles and recovery](#profiles-and-recovery) for directories
|
|
114
|
-
and compatibility. Index `0` starts active. Deriving another
|
|
115
|
-
index saves its public address; activating it includes it in default balance
|
|
116
|
-
queries and automatic receiving. The network account opens on its first receive.
|
|
117
|
-
At most 100 addresses can be active at once; deactivate one before activating
|
|
118
|
-
another when that limit is reached.
|
|
79
|
+
## Everyday examples
|
|
80
|
+
|
|
81
|
+
### Put names next to your addresses
|
|
119
82
|
|
|
120
83
|
```sh
|
|
121
|
-
atto
|
|
122
|
-
atto
|
|
123
|
-
atto address list
|
|
84
|
+
atto labels set 0 "Main"
|
|
85
|
+
atto labels list
|
|
124
86
|
atto balances
|
|
125
|
-
atto balances --all
|
|
126
87
|
```
|
|
127
88
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
to derive and activate one. Balances include active accounts by default;
|
|
131
|
-
`--all` includes every saved address and `--index N` selects one. Saved accounts
|
|
132
|
-
show their index and activation state alongside their balance.
|
|
89
|
+
Labels appear beside full addresses in wallet output. They belong to your
|
|
90
|
+
profile and network, and can also name external recipients.
|
|
133
91
|
|
|
134
|
-
|
|
135
|
-
Automatic receiving is enabled with a minimum of `1 RAW`. It runs while
|
|
136
|
-
`atto wallet receive` is running. MCP also runs it when that profile
|
|
137
|
-
has locally approved spending access; read-only MCP does not receive funds or
|
|
138
|
-
make other wallet changes. Finite CLI commands do their requested operation and
|
|
139
|
-
exit. Stop a persistent command with Ctrl+C.
|
|
92
|
+
### Move funds to “Savings”
|
|
140
93
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
Connection errors are shown with their retry delay. `--json` emits the initial
|
|
144
|
-
wallet status followed by one `result` object per progress event; its `event`
|
|
145
|
-
field is `pending`, `receiving`, `received`, `retry`, `skipped`, or `reconnecting`.
|
|
146
|
-
Subscriptions use Commons' streaming APIs. The CLI does not impose a deadline
|
|
147
|
-
for the first payment or response headers. Finite list commands still stop at
|
|
148
|
-
their requested collection deadline.
|
|
94
|
+
With a funded wallet, this example activates address 1, gives it a personal
|
|
95
|
+
name, and sends 1 ATTO there from address 0:
|
|
149
96
|
|
|
150
97
|
```sh
|
|
151
|
-
atto
|
|
152
|
-
atto
|
|
153
|
-
atto
|
|
154
|
-
atto wallet configure --representative <atto-address>
|
|
98
|
+
atto address activate 1
|
|
99
|
+
atto labels set 1 "Savings"
|
|
100
|
+
atto send --to-label "Savings" --amount 1
|
|
155
101
|
```
|
|
156
102
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
`wallet status` shows the profile directory and whether receiving runs in that
|
|
161
|
-
process; it does not report receiving sessions in other terminals.
|
|
103
|
+
The CLI shows the resolved address and request ID. Keep that ID if the payment
|
|
104
|
+
is interrupted; it identifies the same payment when you retry.
|
|
105
|
+
[Personal names and retry behavior](#address-labels-and-personal-name-payments).
|
|
162
106
|
|
|
163
|
-
|
|
164
|
-
explicitly. A network name alone does not replace the other settings:
|
|
165
|
-
|
|
166
|
-
```sh
|
|
167
|
-
atto wallet configure --network LOCAL \
|
|
168
|
-
--node-url http://127.0.0.1:8080 --worker-url http://127.0.0.1:8081 \
|
|
169
|
-
--representative <atto-address>
|
|
170
|
-
```
|
|
107
|
+
### Follow activity or use it in a script
|
|
171
108
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
109
|
+
| Task | Command |
|
|
110
|
+
| --- | --- |
|
|
111
|
+
| Recent payments | `atto history --limit 10` |
|
|
112
|
+
| Incoming payment events | `atto watch receivable` |
|
|
113
|
+
| Balances as JSON | `atto --json balances` |
|
|
114
|
+
| Saved payment attempts | `atto journal list --limit 10` |
|
|
115
|
+
| Environment diagnostics | `atto doctor` |
|
|
175
116
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
`settings` row. Its JSON contains `nodeUrl`, `workerUrl`, and the other wallet
|
|
179
|
-
settings. Use `atto wallet status` to view them and `atto wallet configure`
|
|
180
|
-
to change them.
|
|
117
|
+
Watching incoming payments only observes them. Run `atto wallet receive` when
|
|
118
|
+
you want the wallet to receive them automatically.
|
|
181
119
|
|
|
182
120
|
## Use the CLI
|
|
183
121
|
|
|
@@ -393,8 +331,8 @@ atto doctor
|
|
|
393
331
|
atto --json doctor
|
|
394
332
|
atto --data-dir /absolute/path/to/profile doctor
|
|
395
333
|
atto-mcp --data-dir /absolute/path/to/profile doctor
|
|
396
|
-
#
|
|
397
|
-
npx --yes @attocash/mcp@
|
|
334
|
+
# Run MCP diagnostics without a global installation:
|
|
335
|
+
npx --yes @attocash/mcp@latest --data-dir /absolute/path/to/profile doctor
|
|
398
336
|
```
|
|
399
337
|
|
|
400
338
|
Both commands run full checks by default. Allow up to 60 seconds. The OS password
|
|
@@ -589,11 +527,121 @@ and watches provide the data for agent-created visualizations. There is no
|
|
|
589
527
|
flow-tracing engine. `atto doctor --global-directory` optionally probes directory
|
|
590
528
|
availability without updating the cache.
|
|
591
529
|
|
|
530
|
+
## Wallet details and configuration
|
|
531
|
+
|
|
532
|
+
Run either command in an interactive terminal:
|
|
533
|
+
|
|
534
|
+
```sh
|
|
535
|
+
atto wallet create
|
|
536
|
+
# Or import an existing recovery phrase through a hidden prompt:
|
|
537
|
+
atto wallet import
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
Creation stores the mnemonic successfully before displaying the recovery phrase.
|
|
541
|
+
Keep a private offline copy. `atto wallet backup` displays it again in the
|
|
542
|
+
terminal and adds a JSON confirmation only when `--json` is requested.
|
|
543
|
+
Wallet creation, import, and backup require terminal input and terminal
|
|
544
|
+
stderr; they are unavailable as MCP tools or through redirected pipes. Mnemonics
|
|
545
|
+
are never accepted in command arguments, JSON, configuration, or environment variables.
|
|
546
|
+
|
|
547
|
+
Import refuses an initialized wallet before asking for the recovery phrase. To
|
|
548
|
+
replace it, back up its phrase and public profile, stop any CLI or MCP sessions
|
|
549
|
+
using that profile, then run:
|
|
550
|
+
|
|
551
|
+
```sh
|
|
552
|
+
atto wallet reset
|
|
553
|
+
atto wallet import
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
For a custom profile, pass the same `--data-dir` to both commands. Reset requires
|
|
557
|
+
an interactive terminal and typing `reset` after reviewing the selected wallet.
|
|
558
|
+
It removes that profile's password-store credential and clears local addresses,
|
|
559
|
+
personal labels, pinned destinations, payment history, settings, spending limits, and access permissions. You need the saved
|
|
560
|
+
recovery phrase and account indexes to access its funds again. Profile metadata
|
|
561
|
+
and database lock files stay in place so the credential namespace and coordination
|
|
562
|
+
remain stable.
|
|
563
|
+
Other open sessions and unresolved payments prevent reset. If reset is interrupted,
|
|
564
|
+
run it again to finish before creating or importing a wallet. After upgrading from
|
|
565
|
+
a version without reset support, restart existing CLI/MCP processes before using
|
|
566
|
+
this command.
|
|
567
|
+
|
|
568
|
+
New standard CLI profiles use the **Atto CLI** password-store service. Existing
|
|
569
|
+
legacy and custom profiles retain **Atto MCP** and their existing credential
|
|
570
|
+
accounts; no keys are moved. Neither service reads or overwrites the desktop
|
|
571
|
+
Atto wallet. See [profiles and recovery](#profiles-and-recovery) for directories
|
|
572
|
+
and compatibility. Index `0` starts active. Deriving another
|
|
573
|
+
index saves its public address; activating it includes it in default balance
|
|
574
|
+
queries and automatic receiving. The network account opens on its first receive.
|
|
575
|
+
At most 100 addresses can be active at once; deactivate one before activating
|
|
576
|
+
another when that limit is reached.
|
|
577
|
+
|
|
578
|
+
```sh
|
|
579
|
+
atto wallet status
|
|
580
|
+
atto address add
|
|
581
|
+
atto address list
|
|
582
|
+
atto balances
|
|
583
|
+
atto balances --all
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
`address add` saves and activates the next index after the highest saved index.
|
|
587
|
+
Use `address derive N` to save a specific inactive address, or `address activate N`
|
|
588
|
+
to derive and activate one. Balances include active accounts by default;
|
|
589
|
+
`--all` includes every saved address and `--index N` selects one. Saved accounts
|
|
590
|
+
show their index and activation state alongside their balance.
|
|
591
|
+
|
|
592
|
+
Defaults use the Atto wallet's LIVE endpoints and twelve-representative pool.
|
|
593
|
+
Automatic receiving is enabled with a minimum of `1 RAW`. It runs while
|
|
594
|
+
`atto wallet receive` is running. MCP also runs it when that profile
|
|
595
|
+
has locally approved spending access; read-only MCP does not receive funds or
|
|
596
|
+
make other wallet changes. Finite CLI commands do their requested operation and
|
|
597
|
+
exit. Stop a persistent command with Ctrl+C.
|
|
598
|
+
|
|
599
|
+
`wallet receive` reports pending payments, processing, confirmed receives, and
|
|
600
|
+
retries as they happen, including the account index, amount, and transaction hashes.
|
|
601
|
+
Connection errors are shown with their retry delay. `--json` emits the initial
|
|
602
|
+
wallet status followed by one `result` object per progress event; its `event`
|
|
603
|
+
field is `pending`, `receiving`, `received`, `retry`, `skipped`, or `reconnecting`.
|
|
604
|
+
Subscriptions use Commons' streaming APIs. The CLI does not impose a deadline
|
|
605
|
+
for the first payment or response headers. Finite list commands still stop at
|
|
606
|
+
their requested collection deadline.
|
|
607
|
+
|
|
608
|
+
```sh
|
|
609
|
+
atto wallet receive
|
|
610
|
+
atto wallet configure --no-auto-receive
|
|
611
|
+
atto wallet configure --auto-receive
|
|
612
|
+
atto wallet configure --representative <atto-address>
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
Configuration updates preserve omitted settings. Supply at least one option.
|
|
616
|
+
`--representative` changes the default used to open accounts; use
|
|
617
|
+
`atto representative change <address>` to change an existing account's representative.
|
|
618
|
+
`wallet status` shows the profile directory and whether receiving runs in that
|
|
619
|
+
process; it does not report receiving sessions in other terminals.
|
|
620
|
+
|
|
621
|
+
To use another network, configure its node, work server, and representative
|
|
622
|
+
explicitly. A network name alone does not replace the other settings:
|
|
623
|
+
|
|
624
|
+
```sh
|
|
625
|
+
atto wallet configure --network LOCAL \
|
|
626
|
+
--node-url http://127.0.0.1:8080 --worker-url http://127.0.0.1:8081 \
|
|
627
|
+
--representative <atto-address>
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
Endpoint URLs accept HTTP(S) without embedded credentials, query strings, or
|
|
631
|
+
fragments. Pending uncertain sends must be resolved before changing the network
|
|
632
|
+
or node endpoint.
|
|
633
|
+
|
|
634
|
+
Settings are saved in `state.sqlite` inside the selected profile directory
|
|
635
|
+
(normally `~/.local/share/atto-cli` on Linux), in the `settings` table's
|
|
636
|
+
`settings` row. Its JSON contains `nodeUrl`, `workerUrl`, and the other wallet
|
|
637
|
+
settings. Use `atto wallet status` to view them and `atto wallet configure`
|
|
638
|
+
to change them.
|
|
639
|
+
|
|
592
640
|
## Profiles and recovery
|
|
593
641
|
|
|
594
642
|
MCP setup defaults to a dedicated wallet; choose the existing CLI wallet option
|
|
595
|
-
to share one. Run `
|
|
596
|
-
[
|
|
643
|
+
to share one. Run `npx --yes @attocash/mcp@latest setup`, or follow the
|
|
644
|
+
[MCP setup guide](https://github.com/attocash/integrations/tree/main/atto-mcp#install-and-connect).
|
|
597
645
|
The generated client configuration saves your selection as an explicit
|
|
598
646
|
`--data-dir`, independently of package installation or npm cache locations.
|
|
599
647
|
|
|
@@ -641,67 +689,60 @@ mnemonic is lost from the password store, recover it from your private backup
|
|
|
641
689
|
using `atto wallet import` in an uninitialized profile. Preserve the old public
|
|
642
690
|
state and pending-send records for reconciliation before resuming payments.
|
|
643
691
|
|
|
644
|
-
##
|
|
692
|
+
## Update notices
|
|
693
|
+
|
|
694
|
+
Interactive CLI commands can show a notice on stderr when a newer stable CLI
|
|
695
|
+
version is available. The notice includes the exact installation command;
|
|
696
|
+
updates are always manual. Version checks run in the background, with each
|
|
697
|
+
attempt cached for 24 hours, including failed attempts. Their results appear
|
|
698
|
+
on a later command. Network and cache failures are silent.
|
|
699
|
+
|
|
700
|
+
Use `--no-update-notifier` or set `NO_UPDATE_NOTIFIER` to disable notices and
|
|
701
|
+
checks. They are also disabled with `--json`, redirected stdout or stderr,
|
|
702
|
+
CI, or `NODE_ENV=test`. MCP and the `@attocash/cli/core` library do not check
|
|
703
|
+
for updates or display notices.
|
|
704
|
+
|
|
705
|
+
Checks request public package metadata from the npm registry and send no wallet
|
|
706
|
+
data. The cache contains only public version information and timestamps,
|
|
707
|
+
separately from wallet state:
|
|
645
708
|
|
|
646
|
-
|
|
709
|
+
| OS | Update cache |
|
|
710
|
+
| --- | --- |
|
|
711
|
+
| Linux | `$XDG_CACHE_HOME/atto-cli/update.json`, or `~/.cache/atto-cli/update.json` |
|
|
712
|
+
| macOS | `~/Library/Caches/atto-cli/update.json` |
|
|
713
|
+
| Windows | `%LOCALAPPDATA%/atto-cli/Cache/update.json`, or `~/AppData/Local/atto-cli/Cache/update.json` |
|
|
647
714
|
|
|
648
|
-
|
|
649
|
-
|
|
715
|
+
Replace `VERSION` below with the version shown in the update notice to
|
|
716
|
+
update a global CLI installation:
|
|
650
717
|
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
const balances = await application.call('balances_get');
|
|
654
|
-
console.log(balances);
|
|
655
|
-
console.log(operations.map(operation => operation.name));
|
|
656
|
-
} finally {
|
|
657
|
-
await application.close();
|
|
658
|
-
}
|
|
718
|
+
```sh
|
|
719
|
+
npm install --global @attocash/cli@VERSION
|
|
659
720
|
```
|
|
660
721
|
|
|
661
|
-
|
|
662
|
-
interface provides `call(name, input?)`, `start()`, and `close()`. Call `start()`
|
|
663
|
-
for a persistent session that should run automatic receiving, and always call
|
|
664
|
-
`close()` when the session ends. Watches belong to that application session.
|
|
665
|
-
The library's `send` operation selects from the approved pool when `index` is
|
|
666
|
-
omitted, matching MCP. The `atto send` command supplies index `0` by default and
|
|
667
|
-
uses that automatic selection only with `--pool`.
|
|
722
|
+
If MCP is installed too, update the matching pair and restart the MCP process:
|
|
668
723
|
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
proposal in either mode.
|
|
724
|
+
```sh
|
|
725
|
+
npm install --global @attocash/cli@VERSION @attocash/mcp@VERSION
|
|
726
|
+
```
|
|
673
727
|
|
|
674
|
-
|
|
675
|
-
`ApplicationOptions`, and `ApplicationSession` types. It does not expose recovery
|
|
676
|
-
methods. Wallet creation, import, backup, and reset remain terminal commands. The MCP
|
|
677
|
-
package calls this API directly and keeps one application session for its stdio
|
|
678
|
-
connection. `@attocash/cli/profiles` provides shared directory resolution;
|
|
679
|
-
`@attocash/cli/terminal` provides interactive setup and proposal review for the
|
|
680
|
-
terminal executables.
|
|
728
|
+
To use the wallet engine in another application, see the [library API guide](https://github.com/attocash/integrations/blob/main/docs/library-api.md).
|
|
681
729
|
|
|
682
|
-
##
|
|
730
|
+
## Install from source
|
|
683
731
|
|
|
684
|
-
|
|
732
|
+
Clone the repository and build the local packages:
|
|
685
733
|
|
|
686
734
|
```sh
|
|
735
|
+
git clone https://github.com/attocash/integrations.git
|
|
736
|
+
cd integrations
|
|
687
737
|
npm ci
|
|
688
|
-
npm run check
|
|
689
|
-
npm test
|
|
690
|
-
npm run test:integration
|
|
691
|
-
ATTO_TEST_KEYCHAIN=1 npm run test:keychain
|
|
692
738
|
npm run pack
|
|
693
|
-
npm
|
|
739
|
+
npm install --global ./attocash-cli-0.1.1.tgz
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
To test MCP with the same local CLI build, install both artifacts together:
|
|
743
|
+
|
|
744
|
+
```sh
|
|
745
|
+
npm install --global ./attocash-cli-0.1.1.tgz ./attocash-mcp-0.1.1.tgz
|
|
694
746
|
```
|
|
695
747
|
|
|
696
|
-
For
|
|
697
|
-
`npm run check --workspace @attocash/cli`, and
|
|
698
|
-
`npm test --workspace @attocash/cli` after building. Run the source checkout with
|
|
699
|
-
`node atto-cli/dist/cli/main.js --help`.
|
|
700
|
-
|
|
701
|
-
Tests use temporary state, synthetic recovery material, and mock nodes/workers.
|
|
702
|
-
Platform credential-store tests run when `ATTO_TEST_KEYCHAIN=1`, use isolated
|
|
703
|
-
entries, and remove them afterward. Linux native credential persistence has
|
|
704
|
-
been verified in an isolated Secret Service session. macOS Keychain and Windows
|
|
705
|
-
Credential Manager verification is configured in CI and requires those
|
|
706
|
-
platforms. Container integration tests run on Linux. Tests never place live-fund
|
|
707
|
-
transactions or publish the package.
|
|
748
|
+
For development and testing, see the [contributor guide](https://github.com/attocash/integrations/blob/main/docs/contributing.md).
|
package/dist/cli/main.js
CHANGED
|
File without changes
|