@oracle-agent/oracle 0.24.9 → 0.25.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/README.md CHANGED
@@ -3,7 +3,8 @@
3
3
  ## Quickstart (standalone CLI)
4
4
 
5
5
  ```bash
6
- npm i -g @oracle-agent/oracle # Node >= 20.19
6
+ curl -fsSL https://oracle.demi.la/install.sh | bash # preferred
7
+ # or: npm i -g @oracle-agent/oracle # Node >= 20.19
7
8
  oracle --version
8
9
  oracle setup model # choose OAuth or API-key access
9
10
  oracle # native Oracle chat
@@ -96,15 +97,16 @@ decides what may even be asked.
96
97
 
97
98
  Three properties define it:
98
99
 
99
- 1. **Self-custody by default.** Hosted and default Oracle never accept your
100
- private key. They build unsigned transactions and typed-data intents; your
101
- wallet signs them. An explicit self-host setup may import a key into the
102
- encrypted local vault and sign through `oracle signer`.
103
- 2. **Bound grants.** A grant is a signed, scoped, expiring permission: max
104
- value, chain, venue, destination allowlist, TTL. Oracle canonicalizes it,
105
- renders it for review, and refuses to prepare anything outside it. Runtime
106
- enforcement is the wallet's or smart account's job, or the optional local
107
- signer's sealed policy when that signer is explicitly enabled.
100
+ 1. **Self-custody by default.** Hosted/keyless Oracle never accepts your
101
+ private key. Those surfaces build unsigned transactions and typed-data
102
+ intents; your wallet signs them. A self-host install may import a key into
103
+ the encrypted local vault and arm execution through `oracle signer`.
104
+ 2. **Bound grants.** A grant is a signed, scoped permission: max value,
105
+ chain, venue, destination allowlist, plus either a TTL or an explicit trigger
106
+ condition such as `mint-opens`. Oracle canonicalizes it, renders it for
107
+ review, and refuses to prepare anything outside it. Runtime enforcement is
108
+ the wallet's or smart account's job, or the optional local signer's sealed
109
+ policy when that signer is explicitly enabled.
108
110
  3. **Receipts or it didn't happen.** A claim without a transaction hash, a
109
111
  receipt is not a result. If a transport cannot verify a balance delta, the receipt must say `balanceDeltaVerified: false`.
110
112
 
@@ -151,8 +153,9 @@ Three planes, and the boundary between them is mechanically enforced:
151
153
  be asked to do.
152
154
  - **Exec plane** (self-hosted, optional) — signing and broadcast live only in an
153
155
  explicitly initialized loopback local signer using the user's keys, or in
154
- separately operated owner infrastructure. Hosted/default Oracle has no active
155
- signer. The local-signer module ships inert and grants no holder privilege.
156
+ separately operated owner infrastructure. Hosted/keyless Oracle has no active
157
+ signer. The local-signer module ships policy-bound and grants no holder
158
+ privilege.
156
159
 
157
160
  `test/custody-boundary.test.mjs` walks the import graph and fails if any public
158
161
  module reaches wallet key material or a house signer. The split is a test, not a
@@ -207,7 +210,7 @@ known answer. This matters: the canonical QuoterV2 address also has bytecode on
207
210
  Base, but does not price that chain's pairs. A codesize check would have
208
211
  allowlisted the wrong contract.
209
212
 
210
- **75 provider modules** in the read/quote catalog, covering **219 unique
213
+ **80 provider modules** in the read/quote catalog, covering **220 unique
211
214
  protocols/venues** across EVM, Solana, and Bitcoin (115 EVM + cross-chain, 98
212
215
  Solana venues backed by 101 verified Jupiter program IDs, 6 Bitcoin surfaces).
213
216
  One module can cover many protocols: the Jupiter module alone routes 98 Solana
@@ -302,8 +305,9 @@ npm test
302
305
  owner-local source lane.** The short version:
303
306
 
304
307
  - Reads and quotes need **no keys**.
305
- - Hosted/default Oracle exposes no active signer, key vault, or broadcast path.
306
- - User wallets authorize prepared actions outside the public data plane.
308
+ - Hosted/keyless Oracle exposes no cloud signer, key vault, or broadcast path.
309
+ - User wallets authorize prepared actions outside the public data plane, or the
310
+ self-host local signer executes them under local policy.
307
311
  - The npm package includes an optional self-hosted loopback signer for the user's
308
312
  own keys. It stays inert until local initialization and sealed policy setup.
309
313
  Private Administrator modules remain separate and are not published on npm.
@@ -316,7 +320,8 @@ owner-local source lane.** The short version:
316
320
 
317
321
  Oracle keeps capability and authorization separate:
318
322
 
319
- - Public Oracle reads, quotes, simulates, and prepares unsigned artifacts.
323
+ - Public Oracle reads, quotes, simulates, and prepares artifacts. Self-host
324
+ installs can execute supported artifacts through the local signer.
320
325
  - **Path A:** owner/main, browser, smart-account, hardware, or protocol-native
321
326
  wallets sign the prepared artifact. This is the default self-custody path.
322
327
  - **Path B:** the optional public local signer may sign on the same host after
@@ -537,8 +542,8 @@ oracle-data-mcp
537
542
 
538
543
  ## Security
539
544
 
540
- - Hosted/default Oracle never receives private keys. An explicit self-host
541
- import writes only to the local encrypted vault.
545
+ - Hosted/keyless Oracle cannot hold keys. Self-host imports write only to the
546
+ local encrypted vault.
542
547
  - The router can propose, simulate, explain, and draft. It cannot authorize.
543
548
  - Public default modules may not import house-signer or executor code
544
549
  (enforced by test). The optional `./local-signer` export is the self-host path.
package/SETUP.md CHANGED
@@ -299,17 +299,39 @@ refer to signer setup, not hosted web. Hosted web never signs.
299
299
 
300
300
  ## Upgrade
301
301
 
302
+ Re-run the same installer you used. Curl is the default:
303
+
304
+ ```bash
305
+ curl -fsSL https://oracle.demi.la/install.sh | bash
306
+ oracle --version
307
+ oracle doctor
308
+ ```
309
+
310
+ If you installed with npm:
311
+
302
312
  ```bash
303
313
  npm i -g @oracle-agent/oracle@latest
304
314
  oracle --version
305
315
  oracle doctor
306
316
  ```
307
317
 
318
+ `oracle upgrade` updates installed Hermes agent lanes. It does not replace the
319
+ CLI package.
320
+
308
321
  Review release notes before upgrading a machine that also runs private
309
322
  owner-operated infrastructure.
310
323
 
311
324
  ## Uninstall
312
325
 
326
+ Curl install:
327
+
328
+ ```bash
329
+ rm -f ~/.local/bin/oracle ~/.local/bin/oracle-data-mcp
330
+ rm -rf ~/.local/share/oracle
331
+ ```
332
+
333
+ npm install:
334
+
313
335
  ```bash
314
336
  npm rm -g @oracle-agent/oracle
315
337
  ```
@@ -97,9 +97,9 @@ does not prove npm users receive it. A locally hosted model/data/policy loop doe
97
97
  a bundled signer. A merged feature is not public until the npm artifact containing it is
98
98
  published and inspected.
99
99
 
100
- **Candidate release in this source tree:** public package `@oracle-agent/oracle@0.24.9`
101
- ships the optional encrypted local vault + short-lived loopback signer. Hosted/default
102
- Oracle stays prepare-only. Self-host after `oracle sign init|import` is **auto-armed**
100
+ **Candidate release in this source tree:** public package `@oracle-agent/oracle@0.25.0`
101
+ ships the encrypted local vault + short-lived loopback signer. Hosted/keyless
102
+ Oracle cannot hold keys or move funds. Self-host after `oracle sign init|import` is **auto-armed**
103
103
  for user-initiated actions. Public still charges the disclosed fee card; Administrator
104
104
  (`@oracle-agent/agent`, never on npm) stays zero-fee with DEMI's keys.
105
105