@oracle-agent/oracle 0.12.0 → 0.13.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 +31 -4
- package/SETUP.md +5 -2
- package/artifacts/specialist-packs/oracle-full-crypto.json +3 -0
- package/dist/address-book.mjs +2 -2
- package/dist/assets/profiles/_template/SOUL.md +54 -0
- package/dist/assets/profiles/_template/profile.json +22 -0
- package/dist/assets/profiles/bitcoin-agent/SOUL.md +31 -0
- package/dist/assets/profiles/bitcoin-agent/profile.json +32 -0
- package/dist/assets/profiles/hyperliquid-agent/SOUL.md +34 -0
- package/dist/assets/profiles/hyperliquid-agent/profile.json +38 -0
- package/dist/assets/profiles/oracle/SOUL.md +134 -0
- package/dist/assets/profiles/oracle/profile.json +40 -0
- package/dist/assets/profiles/polymarket-agent/SOUL.md +35 -0
- package/dist/assets/profiles/polymarket-agent/profile.json +34 -0
- package/dist/assets/profiles/profile.schema.json +90 -0
- package/dist/assets/profiles/protocol-builder/SOUL.md +57 -0
- package/dist/assets/profiles/protocol-builder/profile.json +39 -0
- package/dist/assets/profiles/robinhood-agent/SOUL.md +53 -0
- package/dist/assets/profiles/robinhood-agent/profile.json +41 -0
- package/dist/assets/profiles/solana-agent/SOUL.md +37 -0
- package/dist/assets/profiles/solana-agent/profile.json +38 -0
- package/dist/assets/profiles/stable-agent/SOUL.md +43 -0
- package/dist/assets/profiles/stable-agent/profile.json +38 -0
- package/dist/assets/skills/balance/SKILL.md +176 -0
- package/dist/assets/skills/bitcoin-l1.md +33 -0
- package/dist/assets/skills/chain-defi-ecosystem-profiling.md +27 -0
- package/dist/assets/skills/evm-contract-research.md +27 -0
- package/dist/assets/skills/hyperliquid.md +26 -0
- package/dist/assets/skills/multichain-exec-desk.md +33 -0
- package/dist/assets/skills/oracle-action-semantics/SKILL.md +40 -0
- package/dist/assets/skills/oracle-best-execution/SKILL.md +127 -0
- package/dist/assets/skills/oracle-best-execution.md +27 -0
- package/dist/assets/skills/oracle-bitcoin/SKILL.md +53 -0
- package/dist/assets/skills/oracle-chain-graphs-telegram-cards/SKILL.md +59 -0
- package/dist/assets/skills/oracle-chat/SKILL.md +61 -0
- package/dist/assets/skills/oracle-chat/chain.SKILL.md +31 -0
- package/dist/assets/skills/oracle-chat/setup.SKILL.md +37 -0
- package/dist/assets/skills/oracle-circuit-breaker/SKILL.md +51 -0
- package/dist/assets/skills/oracle-contract-research/SKILL.md +55 -0
- package/dist/assets/skills/oracle-desk/SKILL.md +58 -0
- package/dist/assets/skills/oracle-desk.md +27 -0
- package/dist/assets/skills/oracle-dex-launch/SKILL.md +38 -0
- package/dist/assets/skills/oracle-equities/SKILL.md +62 -0
- package/dist/assets/skills/oracle-grants/SKILL.md +69 -0
- package/dist/assets/skills/oracle-hypercore-staking/SKILL.md +57 -0
- package/dist/assets/skills/oracle-hyperliquid/SKILL.md +56 -0
- package/dist/assets/skills/oracle-meme-token-sniper/SKILL.md +73 -0
- package/dist/assets/skills/oracle-multichain-nft-launch/SKILL.md +338 -0
- package/dist/assets/skills/oracle-multichain-token-launch/SKILL.md +300 -0
- package/dist/assets/skills/oracle-nft-gacha-launch/SKILL.md +48 -0
- package/dist/assets/skills/oracle-nft-mint-gas-war/SKILL.md +63 -0
- package/dist/assets/skills/oracle-polymarket/SKILL.md +60 -0
- package/dist/assets/skills/oracle-protocol-builder/SKILL.md +59 -0
- package/dist/assets/skills/oracle-protocol-security/SKILL.md +60 -0
- package/dist/assets/skills/oracle-public-product/SKILL.md +44 -0
- package/dist/assets/skills/oracle-receipts/SKILL.md +52 -0
- package/dist/assets/skills/oracle-receipts.md +29 -0
- package/dist/assets/skills/oracle-rfq-tokenized-assets/SKILL.md +69 -0
- package/dist/assets/skills/oracle-smart-wallet-scanner/SKILL.md +49 -0
- package/dist/assets/skills/oracle-solana/SKILL.md +65 -0
- package/dist/assets/skills/oracle-solana-nft/SKILL.md +54 -0
- package/dist/assets/skills/oracle-token-research/SKILL.md +67 -0
- package/dist/assets/skills/solana.md +22 -0
- package/dist/bin/desk-server.mjs +56 -11
- package/dist/bin/oracle-data-mcp.mjs +6 -6
- package/dist/bin/oracle-equities.mjs +20 -0
- package/dist/bin/oracle-init.mjs +19 -19
- package/dist/bin/oracle-public-server.mjs +4 -4
- package/dist/bin/oracle-route.mjs +13 -13
- package/dist/bin/oracle-scan.mjs +10 -10
- package/dist/bin/oracle.mjs +35 -27
- package/dist/cli/commands/auth.mjs +11 -11
- package/dist/cli/commands/bootstrap.mjs +6 -6
- package/dist/cli/commands/chain.mjs +12 -12
- package/dist/cli/commands/chat.mjs +39 -29
- package/dist/cli/commands/data-mcp.mjs +2 -2
- package/dist/cli/commands/data.mjs +5 -5
- package/dist/cli/commands/doctor.mjs +3 -3
- package/dist/cli/commands/equities.mjs +15 -0
- package/dist/cli/commands/farm.mjs +59 -0
- package/dist/cli/commands/follow.mjs +28 -0
- package/dist/cli/commands/gate.mjs +4 -4
- package/dist/cli/commands/harness.mjs +15 -0
- package/dist/cli/commands/init.mjs +3 -3
- package/dist/cli/commands/mcp.mjs +50 -23
- package/dist/cli/commands/model.mjs +44 -34
- package/dist/cli/commands/plugins.mjs +38 -0
- package/dist/cli/commands/prepare.mjs +2 -2
- package/dist/cli/commands/public.mjs +3 -3
- package/dist/cli/commands/resolve.mjs +23 -0
- package/dist/cli/commands/route.mjs +2 -2
- package/dist/cli/commands/scan.mjs +2 -2
- package/dist/cli/commands/setup.mjs +12 -12
- package/dist/cli/commands/sign.mjs +19 -2
- package/dist/cli/commands/swap.mjs +36 -0
- package/dist/cli/commands/upgrade.mjs +2 -2
- package/dist/cli/commands/version.mjs +2 -2
- package/dist/data/desk-data.mjs +53 -10
- package/dist/data/names.mjs +2 -0
- package/dist/data/providers/farming.mjs +2 -0
- package/dist/equities/index.mjs +1 -0
- package/dist/index.mjs +58 -15
- package/dist/public-api/agent-grants.mjs +3 -0
- package/dist/router/index.mjs +2 -2
- package/dist/scanner/index.mjs +3 -3
- package/package.json +8 -3
- package/public/oracle-splash/_variants/ice.html +2073 -0
- package/public/oracle-splash/_variants/ivory.html +2075 -0
- package/public/oracle-splash/assets/agents/claude.png +0 -0
- package/public/oracle-splash/assets/agents/codex.png +0 -0
- package/public/oracle-splash/assets/desktop-app.jpg +0 -0
- package/public/oracle-splash/assets/hero/cli-session-poster.jpg +0 -0
- package/public/oracle-splash/assets/hero/cli-session.mp4 +0 -0
- package/public/oracle-splash/assets/hero/cli-session.webm +0 -0
- package/public/oracle-splash/assets/hero/orb-poster.jpg +0 -0
- package/public/oracle-splash/assets/hero/orb.webm +0 -0
- package/public/oracle-splash/assets/hero/risk-session-poster.jpg +0 -0
- package/public/oracle-splash/assets/hero/risk-session.mp4 +0 -0
- package/public/oracle-splash/assets/hero/risk-session.webm +0 -0
- package/public/oracle-splash/assets/hero/route-session-poster.jpg +0 -0
- package/public/oracle-splash/assets/hero/route-session.mp4 +0 -0
- package/public/oracle-splash/assets/hero/route-session.webm +0 -0
- package/public/oracle-splash/downloads/index.html +241 -0
- package/public/oracle-splash/index.html +1211 -242
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>ORACLE / download</title>
|
|
7
|
+
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
|
|
8
|
+
<meta name="description" content="Install the Oracle CLI. Desktop builds are in beta." />
|
|
9
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
+
<link href="https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
12
|
+
<style>
|
|
13
|
+
:root{
|
|
14
|
+
--bg:#0B1018; --ink:#E8F0F7; --dim:#94A7BC; --line:rgba(184,240,255,.14);
|
|
15
|
+
--line-2:rgba(184,240,255,.22); --ice:#B8F0FF; --blue2:#6FA8FF;
|
|
16
|
+
--mono:"JetBrains Mono",ui-monospace,monospace;
|
|
17
|
+
--sans:"Instrument Sans",system-ui,sans-serif;
|
|
18
|
+
--serif:"Instrument Serif",Georgia,serif;
|
|
19
|
+
--ease:cubic-bezier(.22,1,.36,1); --max:1100px; --pad:24px;
|
|
20
|
+
}
|
|
21
|
+
*{box-sizing:border-box}
|
|
22
|
+
html{scroll-behavior:smooth}
|
|
23
|
+
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
|
|
24
|
+
-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}
|
|
25
|
+
a{color:inherit}
|
|
26
|
+
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad);text-align:center}
|
|
27
|
+
.wrap section{margin-left:auto;margin-right:auto}
|
|
28
|
+
.install{margin-left:auto;margin-right:auto}
|
|
29
|
+
.cmd{justify-content:center}
|
|
30
|
+
.wrap ul,.wrap ol{display:inline-block;text-align:left}
|
|
31
|
+
|
|
32
|
+
.nav{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);
|
|
33
|
+
background:color-mix(in oklab,var(--bg) 82%,transparent);border-bottom:1px solid var(--line)}
|
|
34
|
+
.nav-in{max-width:var(--max);margin:0 auto;padding:14px var(--pad);
|
|
35
|
+
display:flex;align-items:center;justify-content:space-between}
|
|
36
|
+
.brand{font-family:var(--serif);font-size:22px;letter-spacing:.02em;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
|
|
37
|
+
.orbital{width:26px;height:26px;display:inline-block;flex:0 0 auto}
|
|
38
|
+
.orbital svg{width:100%;height:100%;overflow:visible}
|
|
39
|
+
.orbital .ring{fill:none;stroke:currentColor;stroke-width:2.2;opacity:.55}
|
|
40
|
+
.orbital .ring.r1{animation:orbspin 14s linear infinite;transform-origin:50% 50%}
|
|
41
|
+
.orbital .ring.r2{animation:orbspin 19s linear infinite reverse;transform-origin:50% 50%}
|
|
42
|
+
.orbital .halo{fill:currentColor;opacity:.16}
|
|
43
|
+
.orbital .core{fill:currentColor;opacity:.92}
|
|
44
|
+
@keyframes orbspin{to{transform:rotate(360deg)}}
|
|
45
|
+
@media (prefers-reduced-motion:reduce){.orbital .ring{animation:none}}
|
|
46
|
+
.nav a.back{font-family:var(--mono);font-size:11px;letter-spacing:.16em;
|
|
47
|
+
text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .4s var(--ease)}
|
|
48
|
+
.nav a.back:hover{color:var(--ice)}
|
|
49
|
+
|
|
50
|
+
header{padding:150px 0 56px}
|
|
51
|
+
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
|
|
52
|
+
color:var(--blue2);margin:0 0 18px}
|
|
53
|
+
h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6.5vw,72px);
|
|
54
|
+
line-height:1.02;letter-spacing:-.015em;margin:0 0 20px}
|
|
55
|
+
h1 em{font-style:italic;color:var(--ice)}
|
|
56
|
+
.lede{max-width:60ch;color:var(--dim);font-size:17px;margin:0 auto}
|
|
57
|
+
|
|
58
|
+
section{padding:0 0 64px}
|
|
59
|
+
h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3.4vw,34px);
|
|
60
|
+
letter-spacing:-.01em;margin:0 0 8px}
|
|
61
|
+
.sub{color:var(--dim);font-size:15px;margin:0 auto 26px;max-width:62ch}
|
|
62
|
+
|
|
63
|
+
.install{border:1px solid var(--line-2);border-radius:14px;background:#05080D;
|
|
64
|
+
padding:26px;position:relative;overflow:hidden}
|
|
65
|
+
.install::after{content:"";position:absolute;inset:0;pointer-events:none;
|
|
66
|
+
background:linear-gradient(130deg,rgba(184,240,255,.08),transparent 46%)}
|
|
67
|
+
.cmd{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
|
|
68
|
+
.cmd code{font-family:var(--mono);font-size:15px;color:var(--ice);
|
|
69
|
+
background:rgba(184,240,255,.07);border:1px solid var(--line);
|
|
70
|
+
padding:12px 16px;border-radius:9px;flex:1;min-width:260px}
|
|
71
|
+
.copy{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
|
|
72
|
+
background:transparent;color:var(--ink);border:1px solid var(--line-2);
|
|
73
|
+
padding:12px 18px;border-radius:9px;cursor:pointer;transition:all .4s var(--ease)}
|
|
74
|
+
.copy:hover{border-color:var(--ice);color:var(--ice)}
|
|
75
|
+
.copy.done{border-color:var(--ice);color:var(--ice)}
|
|
76
|
+
.ver{font-family:var(--mono);font-size:11px;color:var(--dim);
|
|
77
|
+
letter-spacing:.1em;margin-top:16px;display:flex;gap:18px;flex-wrap:wrap}
|
|
78
|
+
.ver b{color:var(--ink);font-weight:500}
|
|
79
|
+
|
|
80
|
+
.os-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px}
|
|
81
|
+
.os{border:1px solid var(--line);border-radius:12px;padding:18px;background:rgba(255,255,255,.012)}
|
|
82
|
+
.os h3{font-family:var(--sans);font-size:14px;font-weight:600;margin:0 0 6px;letter-spacing:.01em}
|
|
83
|
+
.os p{margin:0;color:var(--dim);font-size:13px}
|
|
84
|
+
.os .tag{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:10px;
|
|
85
|
+
letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;
|
|
86
|
+
border:1px solid var(--line-2);color:var(--dim)}
|
|
87
|
+
.os .tag.ready{color:var(--ice);border-color:color-mix(in oklab,var(--ice) 40%,transparent)}
|
|
88
|
+
|
|
89
|
+
.note{border:1px solid var(--line);border-left:2px solid var(--blue2);border-radius:10px;
|
|
90
|
+
padding:18px 20px;background:rgba(111,168,255,.05);color:var(--dim);font-size:14px}
|
|
91
|
+
.note b{color:var(--ink);font-weight:600}
|
|
92
|
+
.note code{font-family:var(--mono);font-size:13px;color:var(--ice)}
|
|
93
|
+
|
|
94
|
+
footer{border-top:1px solid var(--line);padding:30px 0 60px;color:var(--dim);font-size:13px}
|
|
95
|
+
footer .tag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
|
|
96
|
+
|
|
97
|
+
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}
|
|
98
|
+
html{scroll-behavior:auto}}
|
|
99
|
+
@media (max-width:640px){header{padding:120px 0 40px}.cmd code{min-width:100%}}
|
|
100
|
+
table.dl{width:100%;border-collapse:collapse;margin:16px 0 0;font-size:14px}
|
|
101
|
+
table.dl th{text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.14);color:#9fb2c9}
|
|
102
|
+
table.dl td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top}
|
|
103
|
+
table.dl code{font-size:12px;overflow-wrap:anywhere}
|
|
104
|
+
.arch{font-size:11px;color:#7f93aa;letter-spacing:.08em}
|
|
105
|
+
</style>
|
|
106
|
+
</head>
|
|
107
|
+
<body>
|
|
108
|
+
|
|
109
|
+
<nav class="nav">
|
|
110
|
+
<div class="nav-in">
|
|
111
|
+
<a class="brand" href="/">
|
|
112
|
+
<span class="orbital" aria-hidden="true">
|
|
113
|
+
<svg viewBox="0 0 100 100">
|
|
114
|
+
<g class="ring r1"><ellipse cx="50" cy="50" rx="45" ry="17"/></g>
|
|
115
|
+
<g class="ring r2"><ellipse cx="50" cy="50" rx="45" ry="17" transform="rotate(64 50 50)"/></g>
|
|
116
|
+
<circle class="halo" cx="50" cy="50" r="13"/>
|
|
117
|
+
<circle class="core" cx="50" cy="50" r="11"/>
|
|
118
|
+
</svg>
|
|
119
|
+
</span>
|
|
120
|
+
oracle</a>
|
|
121
|
+
<a class="back" href="/">← back to site</a>
|
|
122
|
+
</div>
|
|
123
|
+
</nav>
|
|
124
|
+
|
|
125
|
+
<main class="wrap">
|
|
126
|
+
<header>
|
|
127
|
+
<p class="eyebrow">Download</p>
|
|
128
|
+
<h1>Install <em>Oracle.</em></h1>
|
|
129
|
+
<p class="lede">The CLI is the full product and it runs on macOS, Windows and Linux today.
|
|
130
|
+
Linux, macOS and Windows desktop builds are all live. Locals Only holders get 0% fees.</p>
|
|
131
|
+
</header>
|
|
132
|
+
|
|
133
|
+
<section>
|
|
134
|
+
<h2>Oracle CLI</h2>
|
|
135
|
+
<p class="sub">One command. Node 20 or newer. The CLI recognises your agent wallet and applies 0% fees automatically for Locals Only holders. Keys and signing never live in the public
|
|
136
|
+
package.</p>
|
|
137
|
+
<div class="install">
|
|
138
|
+
<div class="cmd">
|
|
139
|
+
<code id="cmd">curl -fL -o oracle.tgz "$ORACLE_GATE_LINK" && npm i -g ./oracle.tgz</code>
|
|
140
|
+
<button class="copy" id="copy" type="button">Copy</button>
|
|
141
|
+
</div>
|
|
142
|
+
<div class="ver">
|
|
143
|
+
<span>latest <b id="ver">0.12.0</b></span>
|
|
144
|
+
<span>registry <b>npmjs.com</b></span>
|
|
145
|
+
<span>requires <b>node ≥ 20</b></span>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
|
|
149
|
+
<div class="os-grid">
|
|
150
|
+
<div class="os">
|
|
151
|
+
<h3>macOS</h3>
|
|
152
|
+
<p>Apple silicon and Intel. Runs in any terminal.</p>
|
|
153
|
+
<span class="tag ready">CLI ready</span>
|
|
154
|
+
</div>
|
|
155
|
+
<div class="os">
|
|
156
|
+
<h3>Linux</h3>
|
|
157
|
+
<p>Any distro with Node 20+. Primary development target.</p>
|
|
158
|
+
<span class="tag ready">CLI ready</span>
|
|
159
|
+
</div>
|
|
160
|
+
<div class="os">
|
|
161
|
+
<h3>Windows</h3>
|
|
162
|
+
<p>PowerShell or WSL. Same command.</p>
|
|
163
|
+
<span class="tag ready">CLI ready</span>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</section>
|
|
167
|
+
|
|
168
|
+
<section>
|
|
169
|
+
<h2>Desktop app</h2>
|
|
170
|
+
<p class="sub">An Electron shell around the same runtime.</p>
|
|
171
|
+
<div class="note">
|
|
172
|
+
<b>Beta, ready to use.</b> Desktop builds are live for everyone. Locals Only holders get 0% fees.
|
|
173
|
+
Pull the AppImage, DMG, or installer — no gate, no link. Verify the checksum, then run it.
|
|
174
|
+
The desktop app runs the same runtime as the CLI, no separate signer needed.
|
|
175
|
+
</div>
|
|
176
|
+
<table class="dl">
|
|
177
|
+
<tr><th>Build</th><th>Status</th><th>SHA-256</th></tr>
|
|
178
|
+
<tr><td>Linux <code>.AppImage</code></td><td>Live · 123 MB</td>
|
|
179
|
+
<td><code>64cef5676ca19fbd01ab58e27a1f98eb5b5a6678e3ba51a095fd5685be70c814</code></td></tr>
|
|
180
|
+
<tr><td>macOS <code>.dmg</code> <span class="arch">arm64</span></td><td>Live · signed + notarized · 118 MB</td>
|
|
181
|
+
<td><code>6d45a0c4063fa1071217e94e2871916d161fa2dbf4512d127262203e17902c57</code></td></tr>
|
|
182
|
+
<tr><td>Windows <code>.exe</code> <span class="arch">x64</span></td><td>Live · 99 MB</td>
|
|
183
|
+
<td><code>cb84c8f7c2da7743c17fe022b001da7701f13ae48053f760214daf62972bfbbf</code></td></tr>
|
|
184
|
+
</table>
|
|
185
|
+
<p class="sub"><b>Windows SmartScreen will warn on first run.</b> The installer carries
|
|
186
|
+
electron-builder's generated signature, not a CA-issued code-signing certificate, so
|
|
187
|
+
Windows shows "unknown publisher": choose More info, then Run anyway. Verify the checksum
|
|
188
|
+
below first.</p>
|
|
189
|
+
<p class="sub"><b>The macOS build is signed and notarized</b> with Developer ID
|
|
190
|
+
<code>5BV985Z9LJ</code>, and the ticket is stapled, so it opens with no Gatekeeper prompt.
|
|
191
|
+
Verified by mounting the dmg and asking Gatekeeper directly:
|
|
192
|
+
<code>Oracle.app: accepted · source=Notarized Developer ID</code>.</p>
|
|
193
|
+
<p class="sub">Checksums are printed so you can verify what the gate served you:
|
|
194
|
+
<code>sha256sum Oracle-0.1.0.AppImage</code>. The desktop shell holds no keys and
|
|
195
|
+
broadcasts nothing; it prepares transactions your wallet signs.</p>
|
|
196
|
+
</section>
|
|
197
|
+
|
|
198
|
+
<section>
|
|
199
|
+
<h2>After install</h2>
|
|
200
|
+
<p class="sub">Run <code style="font-family:var(--mono);color:var(--ice)">oracle</code> to open the shell.
|
|
201
|
+
Pin a surface with <code style="font-family:var(--mono);color:var(--ice)">/chain hyperliquid</code>,
|
|
202
|
+
switch models with <code style="font-family:var(--mono);color:var(--ice)">/model</code>, then ask naturally.
|
|
203
|
+
Oracle reads state, prices routes and prepares transactions. Your wallet signs them.</p>
|
|
204
|
+
</section>
|
|
205
|
+
</main>
|
|
206
|
+
|
|
207
|
+
<footer class="wrap">
|
|
208
|
+
<span class="tag">the future is agentic / by demi</span>
|
|
209
|
+
</footer>
|
|
210
|
+
|
|
211
|
+
<script>
|
|
212
|
+
(function(){
|
|
213
|
+
var btn=document.getElementById("copy");
|
|
214
|
+
var cmd=document.getElementById("cmd");
|
|
215
|
+
if(!btn||!cmd)return;
|
|
216
|
+
btn.addEventListener("click",function(){
|
|
217
|
+
var text=cmd.textContent.trim();
|
|
218
|
+
try{
|
|
219
|
+
if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(text);}
|
|
220
|
+
else{
|
|
221
|
+
var ta=document.createElement("textarea");ta.value=text;ta.setAttribute("readonly","");
|
|
222
|
+
ta.style.position="fixed";ta.style.opacity="0";document.body.appendChild(ta);
|
|
223
|
+
ta.select();document.execCommand("copy");document.body.removeChild(ta);
|
|
224
|
+
}
|
|
225
|
+
}catch(e){}
|
|
226
|
+
// Feedback is unconditional: a button that looks dead is worse than one that
|
|
227
|
+
// confirms while the browser blocked the write. The command stays selectable.
|
|
228
|
+
btn.textContent="Copied";btn.classList.add("done");
|
|
229
|
+
setTimeout(function(){btn.textContent="Copy";btn.classList.remove("done");},1600);
|
|
230
|
+
});
|
|
231
|
+
// Click the command to select it -- always works, no permissions involved.
|
|
232
|
+
cmd.style.cursor="pointer";
|
|
233
|
+
cmd.title="Click to select";
|
|
234
|
+
cmd.addEventListener("click",function(){
|
|
235
|
+
var r=document.createRange();r.selectNodeContents(cmd);
|
|
236
|
+
var sel=window.getSelection();sel.removeAllRanges();sel.addRange(r);
|
|
237
|
+
});
|
|
238
|
+
})();
|
|
239
|
+
</script>
|
|
240
|
+
</body>
|
|
241
|
+
</html>
|