@oracle-agent/oracle 0.4.2 → 0.5.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 +66 -17
- package/SETUP.md +13 -0
- package/bin/oracle-data-mcp.mjs +1 -1
- package/bin/oracle.mjs +33 -0
- package/docs/cli.md +19 -0
- package/docs/connectors.md +13 -0
- package/package.json +7 -3
- package/profiles/robinhood-agent/SOUL.md +5 -3
- package/public/agent-connect/app.js +16 -13
- package/public/oracle-splash/assets/wordmarks/across.svg +4 -0
- package/public/oracle-splash/assets/wordmarks/aerodrome.svg +23 -0
- package/public/oracle-splash/assets/wordmarks/balancer.svg +3 -0
- package/public/oracle-splash/assets/wordmarks/cowswap.svg +1 -0
- package/public/oracle-splash/assets/wordmarks/gmx.svg +13 -0
- package/public/oracle-splash/assets/wordmarks/hyperliquid.svg +21 -0
- package/public/oracle-splash/assets/wordmarks/hyperswap.svg +13 -0
- package/public/oracle-splash/assets/wordmarks/jupiter.svg +35 -0
- package/public/oracle-splash/assets/wordmarks/lifi.png +0 -0
- package/public/oracle-splash/assets/wordmarks/magic-eden.svg +1 -0
- package/public/oracle-splash/assets/wordmarks/morpho.svg +1 -0
- package/public/oracle-splash/assets/wordmarks/odos.svg +3 -0
- package/public/oracle-splash/assets/wordmarks/oneinch.svg +6 -0
- package/public/oracle-splash/assets/wordmarks/opensea.svg +1 -0
- package/public/oracle-splash/assets/wordmarks/pancakeswap.svg +18 -0
- package/public/oracle-splash/assets/wordmarks/paraswap.svg +16 -0
- package/public/oracle-splash/assets/wordmarks/pendle.png +0 -0
- package/public/oracle-splash/assets/wordmarks/polymarket.png +0 -0
- package/public/oracle-splash/assets/wordmarks/quickswap.png +0 -0
- package/public/oracle-splash/assets/wordmarks/relay.svg +8 -0
- package/public/oracle-splash/assets/wordmarks/stargate.svg +15 -0
- package/public/oracle-splash/assets/wordmarks/uniswap.svg +18 -0
- package/public/oracle-splash/assets/wordmarks/velodrome.svg +84 -0
- package/public/oracle-splash/index.html +789 -485
- package/scripts/check-doc-drift.mjs +111 -0
- package/src/cli/commands/credential.mjs +9 -0
- package/src/cli/commands/data-mcp.mjs +18 -0
- package/src/cli/commands/data.mjs +73 -0
- package/src/cli/commands/doctor.mjs +131 -0
- package/src/cli/commands/help.mjs +7 -0
- package/src/cli/commands/init.mjs +27 -0
- package/src/cli/commands/mcp.mjs +142 -0
- package/src/cli/commands/prepare.mjs +12 -0
- package/src/cli/commands/public.mjs +20 -0
- package/src/cli/commands/route.mjs +12 -0
- package/src/cli/commands/runner.mjs +9 -0
- package/src/cli/commands/scan.mjs +12 -0
- package/src/cli/commands/sign.mjs +21 -0
- package/src/cli/commands/signer.mjs +9 -0
- package/src/cli/commands/upgrade.mjs +12 -0
- package/src/cli/commands/vault.mjs +9 -0
- package/src/cli/commands/version.mjs +22 -0
- package/src/cli/first-run.mjs +20 -0
- package/src/cli/kernel.mjs +198 -0
- package/src/cli/mcp-targets/chatgpt.mjs +51 -0
- package/src/cli/mcp-targets/claude-code.mjs +39 -0
- package/src/cli/mcp-targets/claude-desktop.mjs +24 -0
- package/src/cli/mcp-targets/codex.mjs +41 -0
- package/src/cli/mcp-targets/shared.mjs +61 -0
- package/src/cli/operator-dispatch.mjs +258 -0
- package/src/cli/paths.mjs +78 -0
- package/src/cli/spawn-child.mjs +43 -0
- package/src/public-api/connect-agent.mjs +29 -10
package/README.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Oracle
|
|
2
2
|
|
|
3
|
+
## Quickstart (unified CLI)
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm i -g @oracle-agent/oracle
|
|
7
|
+
oracle init --apply # lanes + read plane only, no keys
|
|
8
|
+
oracle data serve # loopback read/prepare plane on 127.0.0.1:8787
|
|
9
|
+
oracle doctor # verify
|
|
10
|
+
# optional, explicit second step — signing stays a separate local package:
|
|
11
|
+
npm i -g @oracle-agent/operator
|
|
12
|
+
oracle sign init
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
|
|
3
16
|
**Prepare-only multichain agent control plane.** Policy-bounded intents; your wallet signs.
|
|
4
17
|
|
|
5
18
|
Specialist agent profiles, real protocol intents, self-custody by default,
|
|
@@ -20,13 +33,31 @@ alongside it — same split we run ourselves.
|
|
|
20
33
|
|
|
21
34
|
## Start in 5 steps
|
|
22
35
|
|
|
23
|
-
|
|
36
|
+
Source tree: **oracle `0.5.0`** · **operator `0.14.0`**
|
|
37
|
+
|
|
38
|
+
Published npm: **oracle `0.4.2`** · **operator `0.13.7`** until this source release is published.
|
|
24
39
|
|
|
25
40
|
```bash
|
|
26
|
-
# 1) install
|
|
27
|
-
npm i @oracle-agent/oracle@latest
|
|
41
|
+
# 1) install Oracle's public prepare plane
|
|
42
|
+
npm i @oracle-agent/oracle@latest
|
|
43
|
+
```
|
|
28
44
|
|
|
29
|
-
|
|
45
|
+
```js
|
|
46
|
+
// 2) prepare an artifact (no keys)
|
|
47
|
+
import { data } from "@oracle-agent/oracle";
|
|
48
|
+
const prepared = await data.call("hl-perps", "prepareOrder", { /* coin, side, size... */ });
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Path A — self-custody first:** review the prepared artifact and sign it with
|
|
52
|
+
the owner/main wallet, browser wallet, smart account, hardware wallet, or
|
|
53
|
+
protocol-native wallet. Oracle's public package stops at prepare: your wallet
|
|
54
|
+
authorizes and broadcasts.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# 3) optional owner-local operator package for unattended signing on YOUR machine
|
|
58
|
+
npm i @oracle-agent/operator@latest
|
|
59
|
+
|
|
60
|
+
# 4) put operator keys ONLY on your machine (example: HL/EVM hex key file)
|
|
30
61
|
mkdir -p ~/.config/oracle/keys && chmod 700 ~/.config/oracle/keys
|
|
31
62
|
# write key, then: npx oracle-vault encrypt ~/.config/oracle/keys/evm.key
|
|
32
63
|
export HL_KEY_FILE=~/.config/oracle/keys/evm.key.vault.json
|
|
@@ -34,28 +65,29 @@ export ORACLE_VAULT_PASSPHRASE='...' # signer shell only — never in the agen
|
|
|
34
65
|
```
|
|
35
66
|
|
|
36
67
|
```js
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
const prepared = await data.call("hl-perps", "prepareOrder", { /* coin, side, size... */ });
|
|
40
|
-
|
|
41
|
-
// 4) keys local → operator signs (this is the sign step — no MetaMask)
|
|
68
|
+
// Path B — owner-local operator key signs after your app confirms the action
|
|
69
|
+
// (same host, your key, your policy; no model or remote agent custody)
|
|
42
70
|
import { hlSignAndSubmit } from "@oracle-agent/operator";
|
|
43
71
|
await hlSignAndSubmit(prepared, {
|
|
44
72
|
keyFile: process.env.HL_KEY_FILE,
|
|
45
|
-
userInitiated: true,
|
|
73
|
+
userInitiated: true,
|
|
46
74
|
});
|
|
47
75
|
```
|
|
48
76
|
|
|
49
77
|
```bash
|
|
50
|
-
# 5)
|
|
51
|
-
|
|
52
|
-
|
|
78
|
+
# 5) recommended agent-process path: run the signer daemon so the agent sees
|
|
79
|
+
# only ORACLE_SIGNER_URL + ORACLE_SIGNER_TOKEN, never the vault passphrase.
|
|
80
|
+
npx oracle-signer
|
|
53
81
|
#
|
|
54
82
|
# Daemon signing requires the SAME HMAC secret in the preparer and the signer,
|
|
55
83
|
# otherwise every sign fails with "ORACLE_STAMP_HMAC_SECRET missing in signer":
|
|
56
84
|
export ORACLE_STAMP_HMAC_SECRET='long-random-secret'
|
|
57
85
|
```
|
|
58
86
|
|
|
87
|
+
`ORACLE_AUTONOMOUS_TRADING=1` is only for trusted, owner-controlled direct-exec
|
|
88
|
+
code running locally with your policy and caps. It is not a permission bit for a
|
|
89
|
+
model or remote agent process; use `oracle-signer` for the agent-facing path.
|
|
90
|
+
|
|
59
91
|
Full vault / multi-chain / daemon detail → operator [SETUP](https://github.com/demi-hl/oracle-operator/blob/main/SETUP.md).
|
|
60
92
|
|
|
61
93
|
---
|
|
@@ -259,16 +291,33 @@ owner-local source lane.** The short version:
|
|
|
259
291
|
- Reads and quotes need **no keys**.
|
|
260
292
|
- The public package exposes no signer, key vault, or broadcast path.
|
|
261
293
|
- User wallets authorize prepared actions outside the public data plane.
|
|
262
|
-
- Owner-local signing is shipped separately as `@oracle-agent/operator`;
|
|
294
|
+
- Owner-local signing is shipped separately as `@oracle-agent/operator`; the
|
|
295
|
+
recommended agent-process path is `oracle-signer`. Its daemon exposes six
|
|
296
|
+
policy-bounded surfaces: `hl`, `poly`, `evm-swap`, `evm-bridge`, `btc`, and
|
|
297
|
+
`sol`, with explicit caps and fail-closed allowlists.
|
|
263
298
|
|
|
264
299
|
### Action vocabulary and execution planes
|
|
265
300
|
|
|
266
301
|
Oracle keeps capability and authorization separate:
|
|
267
302
|
|
|
268
303
|
- Public Oracle reads, quotes, simulates, and prepares unsigned artifacts.
|
|
269
|
-
-
|
|
270
|
-
|
|
271
|
-
-
|
|
304
|
+
- **Path A:** owner/main, browser, smart-account, hardware, or protocol-native
|
|
305
|
+
wallets sign the prepared artifact. This is the default self-custody path.
|
|
306
|
+
- **Path B:** owner-local operator infrastructure may sign on the same host with
|
|
307
|
+
your key and your policy. For agent processes, prefer `oracle-signer` so the
|
|
308
|
+
agent receives only a signer URL/token and never the vault passphrase.
|
|
309
|
+
- The generic unattended signer exposes six bounded surfaces: `hl`, `poly`,
|
|
310
|
+
`evm-swap`, `evm-bridge`, `btc`, `sol`. Each surface decodes its own
|
|
311
|
+
envelope, enforces its caps, and refuses while its allowlists are empty.
|
|
312
|
+
- Ordinary EVM preparation remains user-wallet signed unless a trusted
|
|
313
|
+
owner-controlled direct-exec process is explicitly installed and armed.
|
|
314
|
+
- `ORACLE_AUTONOMOUS_TRADING=1` is direct execution for trusted owner-controlled
|
|
315
|
+
local code only. It is never model/agent authority and should not be framed as
|
|
316
|
+
equivalent to the `oracle-signer` agent-process path.
|
|
317
|
+
- A deployment may separately install a same-host, owner-gated EVM executor.
|
|
318
|
+
Oracle must verify that executor before describing bounded EVM execution as
|
|
319
|
+
available. Missing deployment capability means "unavailable here," not
|
|
320
|
+
"Oracle can never execute EVM."
|
|
272
321
|
- `watch`, `watch this`, and `ping me` always create `active: true, actionMode: alert_only`.
|
|
273
322
|
- `arm` creates `active: true, actionMode: execute` only for one exact owner-authorized action. It is never inferred from a watch.
|
|
274
323
|
|
package/SETUP.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Setup
|
|
2
2
|
|
|
3
|
+
## Unified CLI
|
|
4
|
+
|
|
5
|
+
Prefer the root `oracle` command:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm i -g @oracle-agent/oracle
|
|
9
|
+
oracle init --apply
|
|
10
|
+
oracle doctor
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Full reference: [docs/cli.md](./docs/cli.md). Connectors: [docs/connectors.md](./docs/connectors.md).
|
|
14
|
+
|
|
15
|
+
|
|
3
16
|
Oracle's public surface runs locally against your API accounts and never accepts
|
|
4
17
|
a wallet private key. Prepared actions are signed in the user's wallet.
|
|
5
18
|
|
package/bin/oracle-data-mcp.mjs
CHANGED
|
@@ -552,7 +552,7 @@ const tools = [
|
|
|
552
552
|
required: ["address", "label"],
|
|
553
553
|
properties: {
|
|
554
554
|
address: { type: "string", description: "0x address" },
|
|
555
|
-
label: { type: "string", description: "short name, e.g.
|
|
555
|
+
label: { type: "string", description: "short name, e.g. research-agent" },
|
|
556
556
|
who: { type: "string", description: "person or entity the wallet belongs to" },
|
|
557
557
|
role: { type: "string", description: "agent | owner | person | counterparty | venue" },
|
|
558
558
|
chainIds: { type: "array", items: { type: "number" } },
|
package/bin/oracle.mjs
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { realpathSync } from "node:fs";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { run } from "../src/cli/kernel.mjs";
|
|
6
|
+
|
|
7
|
+
export const COMMANDS = Object.freeze({
|
|
8
|
+
data: "./desk-server.mjs",
|
|
9
|
+
public: "./oracle-public-server.mjs",
|
|
10
|
+
"data-mcp": "./oracle-data-mcp.mjs",
|
|
11
|
+
init: "./oracle-init.mjs",
|
|
12
|
+
upgrade: "./oracle-upgrade.mjs",
|
|
13
|
+
scan: "./oracle-scan.mjs",
|
|
14
|
+
route: "./oracle-route.mjs",
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
function isMainModule() {
|
|
18
|
+
if (!process.argv[1]) return false;
|
|
19
|
+
try {
|
|
20
|
+
return realpathSync(fileURLToPath(import.meta.url)) === realpathSync(process.argv[1]);
|
|
21
|
+
} catch {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export async function main(argv = process.argv.slice(2)) {
|
|
27
|
+
return run(argv);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (isMainModule()) {
|
|
31
|
+
const code = await main();
|
|
32
|
+
process.exit(typeof code === "number" ? code : 0);
|
|
33
|
+
}
|
package/docs/cli.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Oracle unified CLI
|
|
2
|
+
|
|
3
|
+
Root command: `oracle <noun> <verb> [args]`.
|
|
4
|
+
|
|
5
|
+
The public `@oracle-agent/oracle` package is **prepare-only**. Signing commands
|
|
6
|
+
dispatch to a separately installed `@oracle-agent/operator` process on the same
|
|
7
|
+
machine. Oracle never imports operator signing modules.
|
|
8
|
+
|
|
9
|
+
See also [connectors.md](./connectors.md).
|
|
10
|
+
|
|
11
|
+
## Exit codes
|
|
12
|
+
|
|
13
|
+
| Code | Meaning |
|
|
14
|
+
|---|---|
|
|
15
|
+
| 0 | ok |
|
|
16
|
+
| 1 | usage / general error |
|
|
17
|
+
| 2 | operator self-reported error |
|
|
18
|
+
| 3 | operator package not installed |
|
|
19
|
+
| 4 | data server not running |
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Oracle AI-client connectors
|
|
2
|
+
|
|
3
|
+
ChatGPT is hosted and can NEVER sign or reach your keys. This connector is read/prepare only; anything it prepares is unsigned until you sign it locally.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
oracle mcp print --target claude-code
|
|
7
|
+
oracle mcp install claude-code
|
|
8
|
+
oracle mcp install codex
|
|
9
|
+
oracle mcp install chatgpt
|
|
10
|
+
oracle mcp install claude-code --with-control # requires local operator
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Oracle does not create tunnels for hosted clients.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oracle-agent/oracle",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Oracle: prepare-only multichain agent control plane. Policy-bounded intents for a user-signed wallet. Self-custody by default — the public package never takes your key. Built for Hermes; no model key required.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -26,13 +26,15 @@
|
|
|
26
26
|
"node": ">=20.19.0"
|
|
27
27
|
},
|
|
28
28
|
"bin": {
|
|
29
|
+
"oracle": "./bin/oracle.mjs",
|
|
29
30
|
"oracle-data": "./bin/desk-server.mjs",
|
|
30
31
|
"oracle-public": "./bin/oracle-public-server.mjs",
|
|
31
32
|
"oracle-data-mcp": "./bin/oracle-data-mcp.mjs",
|
|
32
33
|
"oracle-init": "./bin/oracle-init.mjs",
|
|
33
34
|
"oracle-upgrade": "./bin/oracle-upgrade.mjs",
|
|
34
35
|
"oracle-scan": "./bin/oracle-scan.mjs",
|
|
35
|
-
"oracle-route": "./bin/oracle-route.mjs"
|
|
36
|
+
"oracle-route": "./bin/oracle-route.mjs",
|
|
37
|
+
"oracle": "./bin/oracle.mjs"
|
|
36
38
|
},
|
|
37
39
|
"exports": {
|
|
38
40
|
".": "./src/index.mjs",
|
|
@@ -69,7 +71,9 @@
|
|
|
69
71
|
"test:count": "node scripts/check-test-count.mjs",
|
|
70
72
|
"test:count:update": "node scripts/check-test-count.mjs --update",
|
|
71
73
|
"test:protocol-templates": "RUN_PROTOCOL_TEMPLATE_TESTS=1 node --test test/protocol-templates.test.mjs",
|
|
72
|
-
"protocol:gate": "node scripts/protocol-template-gate.mjs"
|
|
74
|
+
"protocol:gate": "node scripts/protocol-template-gate.mjs",
|
|
75
|
+
"gate:docs": "node scripts/check-doc-drift.mjs",
|
|
76
|
+
"gate:release": "npm run gate:docs && node --test test/flag-polarity.test.mjs"
|
|
73
77
|
},
|
|
74
78
|
"dependencies": {
|
|
75
79
|
"@msgpack/msgpack": "^3.1.3",
|
|
@@ -35,9 +35,11 @@ that moves value.
|
|
|
35
35
|
2. **Never size against stale or virtual reserves.**
|
|
36
36
|
3. **A fuzzy ticker match is not confirmation** — surface the CA.
|
|
37
37
|
4. **The public lane does not sign.** Ordinary swaps are prepared for the user's
|
|
38
|
-
wallet. The generic unattended signer
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
wallet. The generic unattended signer exposes six bounded surfaces (`hl`, `poly`,
|
|
39
|
+
`evm-swap`, `evm-bridge`, `btc`, `sol`), each fail-closed on its own policy. A
|
|
40
|
+
separately installed, owner-gated EVM executor may handle one exact bounded
|
|
41
|
+
Robinhood Chain action after explicit `arm`. Verify that executor before claiming
|
|
42
|
+
it is available.
|
|
41
43
|
5. **Watch is alert-only.** `watch`, `watch this`, and `ping me` persist as
|
|
42
44
|
`active: true, actionMode: alert_only`. Only explicit `arm` can produce
|
|
43
45
|
`actionMode: execute`; never infer execution from a watch or legacy `status: armed`.
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
(() => {
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
+
const PACKAGE = "@oracle-agent/oracle";
|
|
5
|
+
const COMMAND = "npx";
|
|
6
|
+
const ARGS = ["-y", "--package", PACKAGE, "oracle-data-mcp"];
|
|
7
|
+
const INIT_COMMAND = "npx -y --package @oracle-agent/oracle oracle-init";
|
|
8
|
+
|
|
4
9
|
const apiUrl = document.querySelector("#api-url");
|
|
5
10
|
const apiKey = document.querySelector("#api-key");
|
|
6
11
|
const walletAddress = document.querySelector("#wallet-address");
|
|
@@ -13,26 +18,28 @@
|
|
|
13
18
|
const cleanUrl = () => apiUrl.value.trim().replace(/\/+$/, "");
|
|
14
19
|
const env = () => {
|
|
15
20
|
const values = {
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
ORACLE_DATA_URL: cleanUrl() || "https://api.oracle-agent.dev",
|
|
22
|
+
ORACLE_AGENT_KEY: apiKey.value.trim() || "YOUR_AGENT_KEY"
|
|
18
23
|
};
|
|
19
24
|
if (walletAddress.value.trim()) values.ORACLE_WALLET_ADDRESS = walletAddress.value.trim();
|
|
20
25
|
return values;
|
|
21
26
|
};
|
|
22
27
|
|
|
28
|
+
const server = () => ({ command: COMMAND, args: [...ARGS], env: env() });
|
|
29
|
+
|
|
23
30
|
const configs = {
|
|
24
31
|
hermes: () => ({
|
|
25
|
-
mcpServers: { oracle:
|
|
32
|
+
mcpServers: { oracle: server() }
|
|
26
33
|
}),
|
|
27
34
|
claude: () => ({
|
|
28
|
-
mcpServers: { oracle:
|
|
35
|
+
mcpServers: { oracle: server() }
|
|
29
36
|
}),
|
|
30
37
|
codex: () => {
|
|
31
38
|
const values = env();
|
|
32
39
|
const lines = [
|
|
33
40
|
"[mcp_servers.oracle]",
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
`command = ${JSON.stringify(COMMAND)}`,
|
|
42
|
+
`args = [${ARGS.map((arg) => JSON.stringify(arg)).join(", ")}]`,
|
|
36
43
|
"",
|
|
37
44
|
"[mcp_servers.oracle.env]",
|
|
38
45
|
...Object.entries(values).map(([key, value]) => `${key} = ${JSON.stringify(value)}`)
|
|
@@ -40,14 +47,10 @@
|
|
|
40
47
|
return lines.join("\n");
|
|
41
48
|
},
|
|
42
49
|
cursor: () => ({
|
|
43
|
-
mcpServers: { oracle:
|
|
50
|
+
mcpServers: { oracle: server() }
|
|
44
51
|
}),
|
|
45
52
|
mcp: () => ({
|
|
46
|
-
|
|
47
|
-
transport: "stdio",
|
|
48
|
-
command: "npx",
|
|
49
|
-
args: ["-y", "@oracle-agent/oracle-data-mcp"],
|
|
50
|
-
env: env()
|
|
53
|
+
mcpServers: { oracle: server() }
|
|
51
54
|
})
|
|
52
55
|
};
|
|
53
56
|
|
|
@@ -76,6 +79,6 @@
|
|
|
76
79
|
}));
|
|
77
80
|
[apiUrl, apiKey, walletAddress].forEach((input) => input.addEventListener("input", render));
|
|
78
81
|
document.querySelector("#copy-button").addEventListener("click", () => copy(output.textContent, `${names[selected]} config copied.`));
|
|
79
|
-
document.querySelector("#copy-install").addEventListener("click", () => copy(
|
|
82
|
+
document.querySelector("#copy-install").addEventListener("click", () => copy(INIT_COMMAND, "Local operator install command copied."));
|
|
80
83
|
render();
|
|
81
84
|
})();
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="184" height="40" viewBox="0 0 184 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M73.4407 30C73.2407 30 73.1107 29.9 73.0507 29.7L72.1507 26.76C72.1107 26.68 72.0607 26.64 72.0007 26.64H64.6207C64.5607 26.64 64.5107 26.68 64.4707 26.76L63.6007 29.7C63.5407 29.9 63.4107 30 63.2107 30H59.4007C59.2807 30 59.1907 29.97 59.1307 29.91C59.0707 29.83 59.0607 29.72 59.1007 29.58L65.5807 9.3C65.6407 9.1 65.7707 9 65.9707 9H70.6807C70.8807 9 71.0107 9.1 71.0707 9.3L77.5507 29.58C77.5707 29.62 77.5807 29.67 77.5807 29.73C77.5807 29.91 77.4707 30 77.2507 30H73.4407ZM65.5507 23.19C65.5307 23.31 65.5707 23.37 65.6707 23.37H70.9507C71.0707 23.37 71.1107 23.31 71.0707 23.19L68.3707 14.28C68.3507 14.2 68.3207 14.17 68.2807 14.19C68.2407 14.19 68.2107 14.22 68.1907 14.28L65.5507 23.19ZM89.9532 30.24C88.3932 30.24 87.0232 29.94 85.8432 29.34C84.6632 28.72 83.7532 27.86 83.1132 26.76C82.4732 25.66 82.1532 24.39 82.1532 22.95V16.02C82.1532 14.58 82.4732 13.31 83.1132 12.21C83.7532 11.11 84.6632 10.26 85.8432 9.66C87.0232 9.06 88.3932 8.76 89.9532 8.76C91.4932 8.76 92.8432 9.05 94.0032 9.63C95.1832 10.19 96.0932 11 96.7332 12.06C97.3932 13.1 97.7232 14.31 97.7232 15.69C97.7232 15.87 97.6032 15.98 97.3632 16.02L93.8532 16.23H93.7932C93.5932 16.23 93.4932 16.12 93.4932 15.9C93.4932 14.84 93.1632 13.99 92.5032 13.35C91.8632 12.71 91.0132 12.39 89.9532 12.39C88.8732 12.39 88.0032 12.71 87.3432 13.35C86.7032 13.99 86.3832 14.84 86.3832 15.9V23.13C86.3832 24.17 86.7032 25.01 87.3432 25.65C88.0032 26.29 88.8732 26.61 89.9532 26.61C91.0132 26.61 91.8632 26.29 92.5032 25.65C93.1632 25.01 93.4932 24.17 93.4932 23.13C93.4932 22.91 93.6132 22.8 93.8532 22.8L97.3632 22.95C97.4632 22.95 97.5432 22.98 97.6032 23.04C97.6832 23.1 97.7232 23.17 97.7232 23.25C97.7232 24.63 97.3932 25.85 96.7332 26.91C96.0932 27.97 95.1832 28.79 94.0032 29.37C92.8432 29.95 91.4932 30.24 89.9532 30.24ZM115.345 30C115.145 30 115.005 29.91 114.925 29.73L111.175 21.42C111.135 21.34 111.075 21.3 110.995 21.3H108.205C108.105 21.3 108.055 21.35 108.055 21.45V29.64C108.055 29.74 108.015 29.83 107.935 29.91C107.875 29.97 107.795 30 107.695 30H104.185C104.085 30 103.995 29.97 103.915 29.91C103.855 29.83 103.825 29.74 103.825 29.64V9.36C103.825 9.26 103.855 9.18 103.915 9.12C103.995 9.04 104.085 9 104.185 9H112.765C114.045 9 115.165 9.26 116.125 9.78C117.105 10.3 117.855 11.04 118.375 12C118.915 12.96 119.185 14.07 119.185 15.33C119.185 16.69 118.845 17.86 118.165 18.84C117.485 19.8 116.535 20.48 115.315 20.88C115.215 20.92 115.185 20.99 115.225 21.09L119.305 29.58C119.345 29.66 119.365 29.72 119.365 29.76C119.365 29.92 119.255 30 119.035 30H115.345ZM108.205 12.63C108.105 12.63 108.055 12.68 108.055 12.78V17.91C108.055 18.01 108.105 18.06 108.205 18.06H112.135C112.975 18.06 113.655 17.81 114.175 17.31C114.715 16.81 114.985 16.16 114.985 15.36C114.985 14.56 114.715 13.91 114.175 13.41C113.655 12.89 112.975 12.63 112.135 12.63H108.205ZM132.723 30.33C131.163 30.33 129.783 30.01 128.583 29.37C127.403 28.73 126.483 27.84 125.823 26.7C125.163 25.54 124.833 24.21 124.833 22.71V16.29C124.833 14.81 125.163 13.5 125.823 12.36C126.483 11.22 127.403 10.34 128.583 9.72C129.783 9.08 131.163 8.76 132.723 8.76C134.303 8.76 135.683 9.08 136.863 9.72C138.063 10.34 138.993 11.22 139.653 12.36C140.313 13.5 140.643 14.81 140.643 16.29V22.71C140.643 24.21 140.313 25.54 139.653 26.7C138.993 27.86 138.063 28.76 136.863 29.4C135.683 30.02 134.303 30.33 132.723 30.33ZM132.723 26.7C133.823 26.7 134.713 26.35 135.393 25.65C136.073 24.95 136.413 24.02 136.413 22.86V16.26C136.413 15.1 136.073 14.17 135.393 13.47C134.733 12.75 133.843 12.39 132.723 12.39C131.623 12.39 130.733 12.75 130.053 13.47C129.393 14.17 129.063 15.1 129.063 16.26V22.86C129.063 24.02 129.393 24.95 130.053 25.65C130.733 26.35 131.623 26.7 132.723 26.7ZM154.086 30.24C152.486 30.24 151.086 29.99 149.886 29.49C148.686 28.97 147.756 28.24 147.096 27.3C146.456 26.34 146.136 25.23 146.136 23.97V23.31C146.136 23.21 146.166 23.13 146.226 23.07C146.306 22.99 146.396 22.95 146.496 22.95H149.916C150.016 22.95 150.096 22.99 150.156 23.07C150.236 23.13 150.276 23.21 150.276 23.31V23.76C150.276 24.56 150.646 25.24 151.386 25.8C152.126 26.34 153.126 26.61 154.386 26.61C155.446 26.61 156.236 26.39 156.756 25.95C157.276 25.49 157.536 24.93 157.536 24.27C157.536 23.79 157.376 23.39 157.056 23.07C156.736 22.73 156.296 22.44 155.736 22.2C155.196 21.94 154.326 21.59 153.126 21.15C151.786 20.69 150.646 20.22 149.706 19.74C148.786 19.26 148.006 18.61 147.366 17.79C146.746 16.95 146.436 15.92 146.436 14.7C146.436 13.5 146.746 12.45 147.366 11.55C147.986 10.65 148.846 9.96 149.946 9.48C151.046 9 152.316 8.76 153.756 8.76C155.276 8.76 156.626 9.03 157.806 9.57C159.006 10.11 159.936 10.87 160.596 11.85C161.276 12.81 161.616 13.93 161.616 15.21V15.66C161.616 15.76 161.576 15.85 161.496 15.93C161.436 15.99 161.356 16.02 161.256 16.02H157.806C157.706 16.02 157.616 15.99 157.536 15.93C157.476 15.85 157.446 15.76 157.446 15.66V15.42C157.446 14.58 157.096 13.87 156.396 13.29C155.716 12.69 154.776 12.39 153.576 12.39C152.636 12.39 151.896 12.59 151.356 12.99C150.836 13.39 150.576 13.94 150.576 14.64C150.576 15.14 150.726 15.56 151.026 15.9C151.346 16.24 151.806 16.55 152.406 16.83C153.026 17.09 153.976 17.45 155.256 17.91C156.676 18.43 157.786 18.89 158.586 19.29C159.406 19.69 160.136 20.29 160.776 21.09C161.436 21.87 161.766 22.89 161.766 24.15C161.766 26.03 161.076 27.52 159.696 28.62C158.316 29.7 156.446 30.24 154.086 30.24ZM174.927 30.24C173.327 30.24 171.927 29.99 170.727 29.49C169.527 28.97 168.597 28.24 167.937 27.3C167.297 26.34 166.977 25.23 166.977 23.97V23.31C166.977 23.21 167.007 23.13 167.067 23.07C167.147 22.99 167.237 22.95 167.337 22.95H170.757C170.857 22.95 170.937 22.99 170.997 23.07C171.077 23.13 171.117 23.21 171.117 23.31V23.76C171.117 24.56 171.487 25.24 172.227 25.8C172.967 26.34 173.967 26.61 175.227 26.61C176.287 26.61 177.077 26.39 177.597 25.95C178.117 25.49 178.377 24.93 178.377 24.27C178.377 23.79 178.217 23.39 177.897 23.07C177.577 22.73 177.137 22.44 176.577 22.2C176.037 21.94 175.167 21.59 173.967 21.15C172.627 20.69 171.487 20.22 170.547 19.74C169.627 19.26 168.847 18.61 168.207 17.79C167.587 16.95 167.277 15.92 167.277 14.7C167.277 13.5 167.587 12.45 168.207 11.55C168.827 10.65 169.687 9.96 170.787 9.48C171.887 9 173.157 8.76 174.597 8.76C176.117 8.76 177.467 9.03 178.647 9.57C179.847 10.11 180.777 10.87 181.437 11.85C182.117 12.81 182.457 13.93 182.457 15.21V15.66C182.457 15.76 182.417 15.85 182.337 15.93C182.277 15.99 182.197 16.02 182.097 16.02H178.647C178.547 16.02 178.457 15.99 178.377 15.93C178.317 15.85 178.287 15.76 178.287 15.66V15.42C178.287 14.58 177.937 13.87 177.237 13.29C176.557 12.69 175.617 12.39 174.417 12.39C173.477 12.39 172.737 12.59 172.197 12.99C171.677 13.39 171.417 13.94 171.417 14.64C171.417 15.14 171.567 15.56 171.867 15.9C172.187 16.24 172.647 16.55 173.247 16.83C173.867 17.09 174.817 17.45 176.097 17.91C177.517 18.43 178.627 18.89 179.427 19.29C180.247 19.69 180.977 20.29 181.617 21.09C182.277 21.87 182.607 22.89 182.607 24.15C182.607 26.03 181.917 27.52 180.537 28.62C179.157 29.7 177.287 30.24 174.927 30.24Z" fill="#FFFFFF"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M35.9714 0L40 4.02857L26.5371 17.4915C25.8275 15.6433 24.3567 14.1725 22.5085 13.4629L35.9714 0ZM17.4915 13.4629L4.02857 0L0 4.02857L13.4629 17.4915C14.1725 15.6433 15.6433 14.1725 17.4915 13.4629ZM13.4629 22.5085L0 35.9714L4.02857 40L17.4915 26.5371C15.6433 25.8275 14.1725 24.3567 13.4629 22.5085ZM22.5085 26.5371L35.9714 40L40 35.9714L26.5371 22.5085C25.8275 24.3567 24.3567 25.8275 22.5085 26.5371Z" fill="#FFFFFF"/>
|
|
4
|
+
</svg>
|