@juanscilingo/vaults-cli 0.1.1-alpha.0 → 1.0.0

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/LICENSE ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sentora Digital Holdings (BVI) Ltd
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -6,24 +6,24 @@ branchable exit codes, self-describing commands. Every command is a query —
6
6
  nothing here signs or sends.
7
7
 
8
8
  ```sh
9
- npm run build # bundles to dist/cli.mjs (esbuild, single file)
10
- npx smart-yield --help
9
+ npm install -g @juanscilingo/vaults-cli # or run once: npx -p @juanscilingo/vaults-cli smart-yield --help
10
+ smart-yield --help
11
11
  ```
12
12
 
13
13
  ## A yield evaluation in four commands
14
14
 
15
15
  ```sh
16
16
  # 1. What vaults exist? (filter by chain, family, curator; project fields)
17
- smart-yield yields list --chain 1 --fields name,family,contracts
17
+ smart-yield yields list --chain eip155:1 --fields "name,family,contracts"
18
18
 
19
19
  # 2. How do candidates perform? (summary stats, not raw series)
20
- smart-yield yields analytics --chain-id 1 --address 0xVAULT --days 30 --summary
20
+ smart-yield yields analytics --chain-id eip155:1 --address 0xVAULT --days 30 --summary
21
21
 
22
22
  # 3. Preflight several vaults in ONE call: family + meta + gates + your position
23
- smart-yield snapshot --vault 0xA,0xB,0xC --owner 0xYOU --rpc-url $RPC
23
+ smart-yield snapshot --vault "0xA,0xB,0xC" --owner 0xYOU --rpc-url $RPC
24
24
 
25
25
  # 4. Build the deposit — unsigned steps, previewed outcome, named blockers
26
- smart-yield upshift-financial plan-deposit --vault 0xA --amount 10000 --human --owner 0xYOU --rpc-url $RPC
26
+ smart-yield upshift_evm plan-deposit --vault 0xA --amount 10000 --human --owner 0xYOU --rpc-url $RPC
27
27
  ```
28
28
 
29
29
  Plans return ordered unsigned `{to, data, value}` steps for any signer, with
@@ -38,9 +38,9 @@ smart-yield <family> <command> [flags]
38
38
 
39
39
  | scope | commands |
40
40
  |---|---|
41
- | top-level | `describe [--family <f>]` · `detect --vault 0x…` · `snapshot --vault 0xA[,0xB…] [--owner]` |
42
- | `yields` (API) | `list` · `get` · `analytics` · `risk` · `balance` · `activity` · `positions` · `blockchains` |
43
- | `upshift-financial` | `meta` · `position` · `gates` · `plan-deposit` · `plan-redeem [--instant]` · `plan-claim` · `epoch` |
41
+ | top-level | `describe [--family <f>]` · `detect --vault 0x…` · `snapshot --vault "0xA[,0xB…]" [--owner] [--base-url]` |
42
+ | `yields` (API) | `list` · `get` · `analytics` · `risk` · `main-insights` · `balance` · `activity` · `positions` · `blockchains` |
43
+ | `upshift_evm` | `meta` · `position` · `gates` · `plan-deposit` · `plan-redeem [--instant]` · `plan-claim` · `epoch` · `pending-withdrawals` |
44
44
  | `boring` (Veda) | `discover` · `position` · `plan-deposit` · `plan-withdraw` |
45
45
  | `morpho` | `meta` · `position` · `gates` · `plan-deposit` · `plan-redeem` |
46
46
 
@@ -62,15 +62,18 @@ classifies any address on-chain and refuses to guess unknown architectures
62
62
  - Plan results and `describe` carry `schemaVersion` — bumped on any breaking
63
63
  shape change; pin automations to it.
64
64
  - Amounts are base units by default (`1000000` = 1 USDC); `--human` accepts
65
- decimals (`100.5`) and scales by on-chain token decimals. Outputs always
66
- include human twins where decimals are known.
65
+ decimals (`100.5`) and scales by on-chain token decimals. Plans add
66
+ `expectedFormatted` when `expected` has values, and `morpho meta` /
67
+ `upshift_evm meta` add `formatted`. `yields` amounts come from the API and
68
+ are already token units or USD, except fields ending in `Raw`. Other
69
+ on-chain outputs carry only base units.
67
70
 
68
71
  ## Performance
69
72
 
70
- Reads batch through Multicall3 — one RPC round trip per command instead of
71
- one per contract call (`--no-multicall` opts out on chains without the
72
- canonical deployment). `--timeout <ms>` bounds every network call (default
73
- 30s). `yields analytics --summary` / `--last N` and `list --fields/--limit/
73
+ Reads batch through Multicall3, so a command makes a few RPC round trips
74
+ instead of one per contract call (`--no-multicall` opts out on chains without
75
+ the canonical deployment). `--timeout <ms>` bounds every network call (default
76
+ 30s, `0` = no limit). `yields analytics --summary` / `--last N` and `list --fields/--limit/
74
77
  --offset` keep responses small; truncation is always announced.
75
78
 
76
79
  ## Configuration
@@ -82,19 +85,13 @@ canonical deployment). `--timeout <ms>` bounds every network call (default
82
85
  | yields API key | — (env only, never a flag) | `YIELDS_API_KEY`, `SENTORA_API_KEY` |
83
86
 
84
87
  Shell note: pipes mask exit codes (`$?` is the last pipeline element) — branch
85
- on `${PIPESTATUS[0]}` or run unpiped. `npm run cli` flattens exit codes; invoke
86
- `npx smart-yield` or the bundle directly when branching.
87
-
88
- > **Note:** `yields list` currently serves an embedded catalog snapshot in the
89
- > [next API schema](../../docs/api-vault-schema-proposal.md); every response
90
- > carries a `notice` field saying so. All other `yields` commands hit the live
91
- > API.
88
+ on `${PIPESTATUS[0]}` or run unpiped.
92
89
 
93
90
  ## Using from agent frameworks
94
91
 
95
92
  Shell-capable coding agents use this CLI directly (below). Frameworks that
96
93
  consume tools instead of binaries (LangChain, CrewAI, OpenAI Agents SDK, IDE
97
- MCP configs, …) use [`@sentora/vaults-mcp`](../vaults-mcp/README.md) — an MCP
94
+ MCP configs, …) use [`@juanscilingo/vaults-mcp`](https://www.npmjs.com/package/@juanscilingo/vaults-mcp) — an MCP
98
95
  stdio server generated from this CLI's command registry. This package itself
99
96
  stays dependency-free either way.
100
97
 
@@ -113,7 +110,7 @@ CLI, …) or `CLAUDE.md`:
113
110
  ## smart-yield CLI
114
111
  Read-only Sentora vault CLI: discovery, yield analytics, positions, and
115
112
  UNSIGNED tx plans as JSON. Run `smart-yield describe` for the full surface.
116
- Exit codes: 0 ok · 2 usage · 3 not found · 4 rpc/network (retryable) ·
113
+ Exit codes: 0 ok · 1 unexpected · 2 usage · 3 not found · 4 rpc/network (retryable) ·
117
114
  5 upstream api · 6 contract revert · 7 plan blocked (NEVER execute a blocked
118
115
  plan). Auth: YIELDS_API_KEY env (never a flag). RPC: VAULTS_RPC_URL env or
119
116
  --rpc-url. Plans are unsigned — hand them to the signer; never sign a plan
@@ -123,7 +120,7 @@ with non-empty blockers.
123
120
  Permission allowlists (the CLI is read-only, safe to pre-approve):
124
121
 
125
122
  - Claude Code `.claude/settings.json`:
126
- `{"permissions": {"allow": ["Bash(smart-yield *)", "Bash(npx smart-yield *)"]}}`
123
+ `{"permissions": {"allow": ["Bash(smart-yield *)", "Bash(npx -p @juanscilingo/vaults-cli smart-yield *)"]}}`
127
124
  - Gemini CLI `settings.json`:
128
125
  `{"tools": {"core": ["run_shell_command(smart-yield)"]}}`
129
126
  - Codex: network egress is off in the default sandbox — set
@@ -136,5 +133,4 @@ Permission allowlists (the CLI is read-only, safe to pre-approve):
136
133
  Architecture in one line: this package is argv parsing, JSON serialization,
137
134
  and exit codes — all vault logic lives in the family SDKs
138
135
  (`@sentora/vaults-{upshift-financial,boring,morpho}`), plans in
139
- `@sentora/vaults-plan`, API access in `@sentora/yields-client`. Built per
140
- [docs/agent-cli-guidelines.md](../../docs/agent-cli-guidelines.md).
136
+ `@juanscilingo/vaults-plan`, API access in `@juanscilingo/yields-client`.
@@ -0,0 +1,143 @@
1
+ # Third-party notices
2
+
3
+ This bundle includes the following packages.
4
+
5
+ ## @noble/curves@1.9.1
6
+
7
+ License: MIT
8
+
9
+ ````text
10
+ The MIT License (MIT)
11
+
12
+ Copyright (c) 2022 Paul Miller (https://paulmillr.com)
13
+
14
+ Permission is hereby granted, free of charge, to any person obtaining a copy
15
+ of this software and associated documentation files (the “Software”), to deal
16
+ in the Software without restriction, including without limitation the rights
17
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18
+ copies of the Software, and to permit persons to whom the Software is
19
+ furnished to do so, subject to the following conditions:
20
+
21
+ The above copyright notice and this permission notice shall be included in
22
+ all copies or substantial portions of the Software.
23
+
24
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
30
+ THE SOFTWARE.
31
+ ````
32
+
33
+ ## @noble/hashes@1.8.0
34
+
35
+ License: MIT
36
+
37
+ ````text
38
+ The MIT License (MIT)
39
+
40
+ Copyright (c) 2022 Paul Miller (https://paulmillr.com)
41
+
42
+ Permission is hereby granted, free of charge, to any person obtaining a copy
43
+ of this software and associated documentation files (the “Software”), to deal
44
+ in the Software without restriction, including without limitation the rights
45
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
46
+ copies of the Software, and to permit persons to whom the Software is
47
+ furnished to do so, subject to the following conditions:
48
+
49
+ The above copyright notice and this permission notice shall be included in
50
+ all copies or substantial portions of the Software.
51
+
52
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
53
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
54
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
55
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
56
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
57
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
58
+ THE SOFTWARE.
59
+ ````
60
+
61
+ ## abitype@1.2.3
62
+
63
+ License: MIT
64
+
65
+ ````text
66
+ MIT License
67
+
68
+ Copyright (c) 2022-present weth, LLC
69
+
70
+ Permission is hereby granted, free of charge, to any person obtaining a copy
71
+ of this software and associated documentation files (the "Software"), to deal
72
+ in the Software without restriction, including without limitation the rights
73
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
74
+ copies of the Software, and to permit persons to whom the Software is
75
+ furnished to do so, subject to the following conditions:
76
+
77
+ The above copyright notice and this permission notice shall be included in all
78
+ copies or substantial portions of the Software.
79
+
80
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
81
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
82
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
83
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
84
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
85
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
86
+ SOFTWARE.
87
+ ````
88
+
89
+ ## ox@0.14.33
90
+
91
+ License: MIT
92
+
93
+ ````text
94
+ MIT License
95
+
96
+ Copyright (c) 2023-present wevm
97
+
98
+ Permission is hereby granted, free of charge, to any person obtaining a copy
99
+ of this software and associated documentation files (the "Software"), to deal
100
+ in the Software without restriction, including without limitation the rights
101
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
102
+ copies of the Software, and to permit persons to whom the Software is
103
+ furnished to do so, subject to the following conditions:
104
+
105
+ The above copyright notice and this permission notice shall be included in all
106
+ copies or substantial portions of the Software.
107
+
108
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
109
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
110
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
111
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
112
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
113
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
114
+ SOFTWARE.
115
+ ````
116
+
117
+ ## viem@2.55.15
118
+
119
+ License: MIT
120
+
121
+ ````text
122
+ MIT License
123
+
124
+ Copyright (c) 2023-present weth, LLC
125
+
126
+ Permission is hereby granted, free of charge, to any person obtaining a copy
127
+ of this software and associated documentation files (the "Software"), to deal
128
+ in the Software without restriction, including without limitation the rights
129
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
130
+ copies of the Software, and to permit persons to whom the Software is
131
+ furnished to do so, subject to the following conditions:
132
+
133
+ The above copyright notice and this permission notice shall be included in all
134
+ copies or substantial portions of the Software.
135
+
136
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
137
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
138
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
139
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
140
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
141
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
142
+ SOFTWARE.
143
+ ````