@oracle-agent/oracle 0.12.0 → 0.13.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 +13 -498
- package/bin/oracle.mjs +25 -0
- package/package.json +16 -61
- package/SECURITY.md +0 -114
- package/SETUP.md +0 -316
- package/artifacts/inscription/oracle-was-here-preview.png +0 -0
- package/artifacts/inscription/oracle-was-here.svg +0 -1
- package/artifacts/specialist-packs/oracle-full-crypto.json +0 -295
- package/dist/action-receipts.mjs +0 -1
- package/dist/action-semantics.mjs +0 -1
- package/dist/address-book.mjs +0 -2
- package/dist/bin/desk-server.mjs +0 -14
- package/dist/bin/oracle-data-mcp.mjs +0 -8
- package/dist/bin/oracle-init.mjs +0 -24
- package/dist/bin/oracle-public-server.mjs +0 -5
- package/dist/bin/oracle-route.mjs +0 -22
- package/dist/bin/oracle-scan.mjs +0 -18
- package/dist/bin/oracle-upgrade.mjs +0 -21
- package/dist/bin/oracle.mjs +0 -68
- package/dist/chains.mjs +0 -1
- package/dist/cli/commands/auth.mjs +0 -16
- package/dist/cli/commands/bootstrap.mjs +0 -18
- package/dist/cli/commands/chain.mjs +0 -21
- package/dist/cli/commands/chat.mjs +0 -35
- package/dist/cli/commands/credential.mjs +0 -1
- package/dist/cli/commands/data-mcp.mjs +0 -2
- package/dist/cli/commands/data.mjs +0 -12
- package/dist/cli/commands/doctor.mjs +0 -5
- package/dist/cli/commands/gate.mjs +0 -13
- package/dist/cli/commands/help.mjs +0 -1
- package/dist/cli/commands/init.mjs +0 -3
- package/dist/cli/commands/mcp.mjs +0 -33
- package/dist/cli/commands/model.mjs +0 -44
- package/dist/cli/commands/prepare.mjs +0 -2
- package/dist/cli/commands/public.mjs +0 -3
- package/dist/cli/commands/route.mjs +0 -2
- package/dist/cli/commands/runner.mjs +0 -1
- package/dist/cli/commands/scan.mjs +0 -2
- package/dist/cli/commands/setup.mjs +0 -34
- package/dist/cli/commands/sign.mjs +0 -4
- package/dist/cli/commands/signer.mjs +0 -1
- package/dist/cli/commands/upgrade.mjs +0 -2
- package/dist/cli/commands/vault.mjs +0 -1
- package/dist/cli/commands/version.mjs +0 -2
- package/dist/data/desk-data.mjs +0 -12
- package/dist/index.mjs +0 -17
- package/dist/nft-gas-war-guard.mjs +0 -1
- package/dist/onboarding/harness-configs.mjs +0 -4
- package/dist/portfolio-risk.mjs +0 -1
- package/dist/prepare-envelope.mjs +0 -1
- package/dist/public-control/policy-schema.mjs +0 -1
- package/dist/router/index.mjs +0 -2
- package/dist/scanner/index.mjs +0 -4
- package/dist/signals/index.mjs +0 -1
- package/dist/watch-preferences.mjs +0 -1
- package/public/agent-connect/app.js +0 -84
- package/public/agent-connect/index.html +0 -83
- package/public/agent-connect/styles.css +0 -70
- package/public/index.html +0 -12
- package/public/oracle-console/app.js +0 -272
- package/public/oracle-console/bitcoin-wallets.js +0 -206
- package/public/oracle-console/index.html +0 -91
- package/public/oracle-console/styles.css +0 -239
- package/public/oracle-splash/assets/cli-chain-hyperliquid.jpg +0 -0
- package/public/oracle-splash/assets/hero/orb.avif +0 -0
- package/public/oracle-splash/assets/hero/orb.webm +0 -0
- package/public/oracle-splash/assets/llms/claude.svg +0 -1
- package/public/oracle-splash/assets/llms/codex-icon.svg +0 -1
- package/public/oracle-splash/assets/llms/codex.svg +0 -1
- package/public/oracle-splash/assets/llms/cursor-icon.svg +0 -12
- package/public/oracle-splash/assets/llms/cursor.svg +0 -17
- package/public/oracle-splash/assets/llms/deepseek.svg +0 -1
- package/public/oracle-splash/assets/llms/gemini-icon.svg +0 -1
- package/public/oracle-splash/assets/llms/gemini.svg +0 -1
- package/public/oracle-splash/assets/llms/grok.svg +0 -8
- package/public/oracle-splash/assets/llms/hermes.png +0 -0
- package/public/oracle-splash/assets/llms/kimi-icon.svg +0 -1
- package/public/oracle-splash/assets/llms/kimi.svg +0 -1
- package/public/oracle-splash/assets/llms/manus.svg +0 -18
- package/public/oracle-splash/assets/llms/openclaw.svg +0 -22
- package/public/oracle-splash/assets/llms/perplexity.svg +0 -1
- package/public/oracle-splash/assets/llms/qwen.svg +0 -1
- package/public/oracle-splash/assets/llms/windsurf.svg +0 -1
- package/public/oracle-splash/assets/protocols/abcdex.png +0 -0
- package/public/oracle-splash/assets/protocols/across.png +0 -0
- package/public/oracle-splash/assets/protocols/aerodrome.png +0 -0
- package/public/oracle-splash/assets/protocols/balancer.png +0 -0
- package/public/oracle-splash/assets/protocols/cowswap.png +0 -0
- package/public/oracle-splash/assets/protocols/curve.png +0 -0
- package/public/oracle-splash/assets/protocols/dreamcash.png +0 -0
- package/public/oracle-splash/assets/protocols/felix.png +0 -0
- package/public/oracle-splash/assets/protocols/gmx.png +0 -0
- package/public/oracle-splash/assets/protocols/hyena.png +0 -0
- package/public/oracle-splash/assets/protocols/hyperbeat.png +0 -0
- package/public/oracle-splash/assets/protocols/hyperliquid.png +0 -0
- package/public/oracle-splash/assets/protocols/hyperswap.png +0 -0
- package/public/oracle-splash/assets/protocols/jupiter.png +0 -0
- package/public/oracle-splash/assets/protocols/kinetiq.png +0 -0
- package/public/oracle-splash/assets/protocols/lfj.png +0 -0
- package/public/oracle-splash/assets/protocols/lifi.png +0 -0
- package/public/oracle-splash/assets/protocols/magic-eden.png +0 -0
- package/public/oracle-splash/assets/protocols/morpho.png +0 -0
- package/public/oracle-splash/assets/protocols/odos.png +0 -0
- package/public/oracle-splash/assets/protocols/oneinch.png +0 -0
- package/public/oracle-splash/assets/protocols/opensea.png +0 -0
- package/public/oracle-splash/assets/protocols/pancakeswap.png +0 -0
- package/public/oracle-splash/assets/protocols/paragon.png +0 -0
- package/public/oracle-splash/assets/protocols/paraswap.png +0 -0
- package/public/oracle-splash/assets/protocols/pendle.png +0 -0
- package/public/oracle-splash/assets/protocols/polymarket.png +0 -0
- package/public/oracle-splash/assets/protocols/quickswap.png +0 -0
- package/public/oracle-splash/assets/protocols/relay.png +0 -0
- package/public/oracle-splash/assets/protocols/stargate.png +0 -0
- package/public/oracle-splash/assets/protocols/tradexyz.png +0 -0
- package/public/oracle-splash/assets/protocols/uniswap.png +0 -0
- package/public/oracle-splash/assets/protocols/velodrome.png +0 -0
- package/public/oracle-splash/assets/protocols/ventuals.png +0 -0
- package/public/oracle-splash/assets/wordmarks/across-icon.webp +0 -0
- package/public/oracle-splash/assets/wordmarks/across.svg +0 -4
- package/public/oracle-splash/assets/wordmarks/aerodrome.svg +0 -23
- package/public/oracle-splash/assets/wordmarks/balancer.svg +0 -3
- package/public/oracle-splash/assets/wordmarks/cowswap.svg +0 -1
- package/public/oracle-splash/assets/wordmarks/curve.png +0 -0
- package/public/oracle-splash/assets/wordmarks/gmx.svg +0 -13
- package/public/oracle-splash/assets/wordmarks/hop-icon.webp +0 -0
- package/public/oracle-splash/assets/wordmarks/hyena.svg +0 -7
- package/public/oracle-splash/assets/wordmarks/hyperliquid.svg +0 -21
- package/public/oracle-splash/assets/wordmarks/hyperswap.svg +0 -13
- package/public/oracle-splash/assets/wordmarks/jupiter.svg +0 -35
- package/public/oracle-splash/assets/wordmarks/kinetiq.svg +0 -1
- package/public/oracle-splash/assets/wordmarks/lfj.webp +0 -0
- package/public/oracle-splash/assets/wordmarks/lifi.png +0 -0
- package/public/oracle-splash/assets/wordmarks/magic-eden.svg +0 -1
- package/public/oracle-splash/assets/wordmarks/markets.svg +0 -1
- package/public/oracle-splash/assets/wordmarks/morpho.svg +0 -1
- package/public/oracle-splash/assets/wordmarks/odos.svg +0 -3
- package/public/oracle-splash/assets/wordmarks/oneinch-icon.webp +0 -0
- package/public/oracle-splash/assets/wordmarks/oneinch.svg +0 -6
- package/public/oracle-splash/assets/wordmarks/opensea-icon.svg +0 -17
- package/public/oracle-splash/assets/wordmarks/opensea.svg +0 -1
- package/public/oracle-splash/assets/wordmarks/outcome.svg +0 -16
- package/public/oracle-splash/assets/wordmarks/pancakeswap.svg +0 -18
- package/public/oracle-splash/assets/wordmarks/paragon.svg +0 -9
- package/public/oracle-splash/assets/wordmarks/paraswap.svg +0 -16
- 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 +0 -8
- package/public/oracle-splash/assets/wordmarks/satflow-icon.png +0 -0
- package/public/oracle-splash/assets/wordmarks/stargate-icon.webp +0 -0
- package/public/oracle-splash/assets/wordmarks/stargate.svg +0 -15
- package/public/oracle-splash/assets/wordmarks/uniswap.svg +0 -18
- package/public/oracle-splash/assets/wordmarks/velodrome.svg +0 -84
- package/public/oracle-splash/assets/wordmarks/xyz.svg +0 -12
- package/public/oracle-splash/assets/wordmarks/zerox-icon.webp +0 -0
- package/public/oracle-splash/brand/aave.webp +0 -0
- package/public/oracle-splash/brand/aavev2.webp +0 -0
- package/public/oracle-splash/brand/aborean.webp +0 -0
- package/public/oracle-splash/brand/across.webp +0 -0
- package/public/oracle-splash/brand/aerodrome.webp +0 -0
- package/public/oracle-splash/brand/afi.webp +0 -0
- package/public/oracle-splash/brand/arcus.webp +0 -0
- package/public/oracle-splash/brand/aster.webp +0 -0
- package/public/oracle-splash/brand/avant.webp +0 -0
- package/public/oracle-splash/brand/balancer.webp +0 -0
- package/public/oracle-splash/brand/beefy.webp +0 -0
- package/public/oracle-splash/brand/benqi.webp +0 -0
- package/public/oracle-splash/brand/bestinslot.ico +0 -0
- package/public/oracle-splash/brand/bitfi.webp +0 -0
- package/public/oracle-splash/brand/bonkswap.webp +0 -0
- package/public/oracle-splash/brand/bouncebit.webp +0 -0
- package/public/oracle-splash/brand/camelot.webp +0 -0
- package/public/oracle-splash/brand/compound.webp +0 -0
- package/public/oracle-splash/brand/concrete.webp +0 -0
- package/public/oracle-splash/brand/cow.webp +0 -0
- package/public/oracle-splash/brand/curve.webp +0 -0
- package/public/oracle-splash/brand/derive.webp +0 -0
- package/public/oracle-splash/brand/dolomite.webp +0 -0
- package/public/oracle-splash/brand/eigenlayer.webp +0 -0
- package/public/oracle-splash/brand/ekubo.webp +0 -0
- package/public/oracle-splash/brand/ethena.webp +0 -0
- package/public/oracle-splash/brand/etherfi.webp +0 -0
- package/public/oracle-splash/brand/etherfiborrow.webp +0 -0
- package/public/oracle-splash/brand/felix.webp +0 -0
- package/public/oracle-splash/brand/fluid.webp +0 -0
- package/public/oracle-splash/brand/fluxbeam.webp +0 -0
- package/public/oracle-splash/brand/folks.webp +0 -0
- package/public/oracle-splash/brand/fortyacres.webp +0 -0
- package/public/oracle-splash/brand/gainsnetwork.webp +0 -0
- package/public/oracle-splash/brand/gassss.webp +0 -0
- package/public/oracle-splash/brand/gmx.webp +0 -0
- package/public/oracle-splash/brand/harmonix.webp +0 -0
- package/public/oracle-splash/brand/hlorderbook.webp +0 -0
- package/public/oracle-splash/brand/hlp.webp +0 -0
- package/public/oracle-splash/brand/hop.webp +0 -0
- package/public/oracle-splash/brand/hyperbeat.webp +0 -0
- package/public/oracle-splash/brand/hyperlend.webp +0 -0
- package/public/oracle-splash/brand/hyperliquid.webp +0 -0
- package/public/oracle-splash/brand/hyperliquidhpl.webp +0 -0
- package/public/oracle-splash/brand/hyperliquidspot.webp +0 -0
- package/public/oracle-splash/brand/hyperswap.webp +0 -0
- package/public/oracle-splash/brand/hypha.webp +0 -0
- package/public/oracle-splash/brand/joedex.webp +0 -0
- package/public/oracle-splash/brand/jupiter.webp +0 -0
- package/public/oracle-splash/brand/kelp.webp +0 -0
- package/public/oracle-splash/brand/kinetiq.webp +0 -0
- package/public/oracle-splash/brand/kmhype.webp +0 -0
- package/public/oracle-splash/brand/kona.webp +0 -0
- package/public/oracle-splash/brand/konalend.webp +0 -0
- package/public/oracle-splash/brand/lfj.webp +0 -0
- package/public/oracle-splash/brand/lido.webp +0 -0
- package/public/oracle-splash/brand/lifi.webp +0 -0
- package/public/oracle-splash/brand/lighter.webp +0 -0
- package/public/oracle-splash/brand/lista.webp +0 -0
- package/public/oracle-splash/brand/loopedhype.webp +0 -0
- package/public/oracle-splash/brand/lorenzo.webp +0 -0
- package/public/oracle-splash/brand/magic-eden.webp +0 -0
- package/public/oracle-splash/brand/magiceden.webp +0 -0
- package/public/oracle-splash/brand/mempool.png +0 -0
- package/public/oracle-splash/brand/meteora.webp +0 -0
- package/public/oracle-splash/brand/morpho.webp +0 -0
- package/public/oracle-splash/brand/myriad.webp +0 -0
- package/public/oracle-splash/brand/noxa.webp +0 -0
- package/public/oracle-splash/brand/odos.webp +0 -0
- package/public/oracle-splash/brand/oneinch.webp +0 -0
- package/public/oracle-splash/brand/openbook.webp +0 -0
- package/public/oracle-splash/brand/opensea.webp +0 -0
- package/public/oracle-splash/brand/orca.webp +0 -0
- package/public/oracle-splash/brand/ordinals.png +0 -0
- package/public/oracle-splash/brand/ostium.webp +0 -0
- package/public/oracle-splash/brand/pancakeswap.webp +0 -0
- package/public/oracle-splash/brand/pendle.webp +0 -0
- package/public/oracle-splash/brand/perena.webp +0 -0
- package/public/oracle-splash/brand/pharaoh.webp +0 -0
- package/public/oracle-splash/brand/phoenix.webp +0 -0
- package/public/oracle-splash/brand/polymarket.webp +0 -0
- package/public/oracle-splash/brand/polynomial.webp +0 -0
- package/public/oracle-splash/brand/projectx.webp +0 -0
- package/public/oracle-splash/brand/pumpfun.webp +0 -0
- package/public/oracle-splash/brand/quickswap.webp +0 -0
- package/public/oracle-splash/brand/rain.webp +0 -0
- package/public/oracle-splash/brand/raydium.webp +0 -0
- package/public/oracle-splash/brand/relay.webp +0 -0
- package/public/oracle-splash/brand/rocketpool.webp +0 -0
- package/public/oracle-splash/brand/saber.webp +0 -0
- package/public/oracle-splash/brand/sakuraswap.webp +0 -0
- package/public/oracle-splash/brand/sanctum.webp +0 -0
- package/public/oracle-splash/brand/satflow.png +0 -0
- package/public/oracle-splash/brand/sierra.webp +0 -0
- package/public/oracle-splash/brand/sky.webp +0 -0
- package/public/oracle-splash/brand/solv.webp +0 -0
- package/public/oracle-splash/brand/spark.webp +0 -0
- package/public/oracle-splash/brand/sparksavings.webp +0 -0
- package/public/oracle-splash/brand/sphere.webp +0 -0
- package/public/oracle-splash/brand/ssv.webp +0 -0
- package/public/oracle-splash/brand/stabble.webp +0 -0
- package/public/oracle-splash/brand/stableswap.webp +0 -0
- package/public/oracle-splash/brand/stakewise.webp +0 -0
- package/public/oracle-splash/brand/stargate.webp +0 -0
- package/public/oracle-splash/brand/sthype.webp +0 -0
- package/public/oracle-splash/brand/sushiswap.webp +0 -0
- package/public/oracle-splash/brand/unisat.png +0 -0
- package/public/oracle-splash/brand/uniswap.webp +0 -0
- package/public/oracle-splash/brand/uniswapv2.webp +0 -0
- package/public/oracle-splash/brand/uniswapv4.webp +0 -0
- package/public/oracle-splash/brand/unit.webp +0 -0
- package/public/oracle-splash/brand/velodrome.webp +0 -0
- package/public/oracle-splash/brand/velora.webp +0 -0
- package/public/oracle-splash/brand/venus.webp +0 -0
- package/public/oracle-splash/brand/wbeth.webp +0 -0
- package/public/oracle-splash/brand/xsy.webp +0 -0
- package/public/oracle-splash/brand/yieldyak.webp +0 -0
- package/public/oracle-splash/brand/zerobase.webp +0 -0
- package/public/oracle-splash/brand/zerox.webp +0 -0
- package/public/oracle-splash/favicon.ico +0 -0
- package/public/oracle-splash/favicon.svg +0 -6
- package/public/oracle-splash/index.html +0 -1568
- package/public/oracle-splash/mesh-graph.png +0 -0
- package/public/oracle-splash/mesh-graph.svg +0 -216
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "oracle-full-crypto",
|
|
3
|
-
"name": "Oracle Full Crypto Pack",
|
|
4
|
-
"version": 4,
|
|
5
|
-
"audience": "public-users",
|
|
6
|
-
"description": "Default capability set for public Oracle: trader, builder, analyzer, deterministic /balance aggregation, multichain scanner, meme-token sniping, RFQ routing, tokenized-asset buys, NFT mint gas-war limits, Solana, Bitcoin inscriptions, chain-family token/NFT collections, gacha/DEX launches, and protocol build under bound grants. User signs everything.",
|
|
7
|
-
"posture": {
|
|
8
|
-
"default": "DISARMED",
|
|
9
|
-
"custody": "self-custodial",
|
|
10
|
-
"signing": "user-wallet-only",
|
|
11
|
-
"broadcast": "user-or-explicit-grant-only",
|
|
12
|
-
"never": [
|
|
13
|
-
"operator-hot-wallet-by-default",
|
|
14
|
-
"private-executor-custody",
|
|
15
|
-
"house-custody",
|
|
16
|
-
"unguarded-broadcast",
|
|
17
|
-
"uncapped-gas-war-mints"
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
"includes_protocol_build": true,
|
|
21
|
-
"skill_packs": {
|
|
22
|
-
"research": [
|
|
23
|
-
"oracle-token-research",
|
|
24
|
-
"oracle-contract-research",
|
|
25
|
-
"oracle-smart-wallet-scanner",
|
|
26
|
-
"oracle-meme-token-sniper",
|
|
27
|
-
"oracle-bitcoin",
|
|
28
|
-
"oracle-solana",
|
|
29
|
-
"hyperliquid",
|
|
30
|
-
"polymarket",
|
|
31
|
-
"oracle-chain-graphs-telegram-cards",
|
|
32
|
-
"oracle-rfq-tokenized-assets",
|
|
33
|
-
"oracle-hypercore-staking"
|
|
34
|
-
],
|
|
35
|
-
"execution_prepare": [
|
|
36
|
-
"self-custodial-onchain-execution",
|
|
37
|
-
"multichain-exec-desk",
|
|
38
|
-
"trade-loop-circuit-breaker",
|
|
39
|
-
"protocol-api-key-integration",
|
|
40
|
-
"oracle-bitcoin",
|
|
41
|
-
"oracle-best-execution",
|
|
42
|
-
"oracle-rfq-tokenized-assets",
|
|
43
|
-
"oracle-meme-token-sniper",
|
|
44
|
-
"oracle-nft-mint-gas-war",
|
|
45
|
-
"oracle-solana-nft",
|
|
46
|
-
"oracle-hypercore-staking"
|
|
47
|
-
],
|
|
48
|
-
"venues": [
|
|
49
|
-
"oracle-solana",
|
|
50
|
-
"oracle-bitcoin",
|
|
51
|
-
"hyperliquid",
|
|
52
|
-
"polymarket",
|
|
53
|
-
"rh-token-research",
|
|
54
|
-
"rh-token-swap",
|
|
55
|
-
"rh-token-chart",
|
|
56
|
-
"oracle-meme-token-sniper",
|
|
57
|
-
"oracle-rfq-tokenized-assets",
|
|
58
|
-
"oracle-solana-nft",
|
|
59
|
-
"oracle-hypercore-staking"
|
|
60
|
-
],
|
|
61
|
-
"protocol_build": [
|
|
62
|
-
"oracle-protocol-builder",
|
|
63
|
-
"oracle-contract-research",
|
|
64
|
-
"oracle-protocol-security",
|
|
65
|
-
"oracle-multichain-token-launch",
|
|
66
|
-
"oracle-multichain-nft-launch",
|
|
67
|
-
"oracle-nft-gacha-launch",
|
|
68
|
-
"oracle-dex-launch",
|
|
69
|
-
"protocol-api-key-integration",
|
|
70
|
-
"oracle-nft-mint-gas-war"
|
|
71
|
-
],
|
|
72
|
-
"product_law": [
|
|
73
|
-
"oracle-public-product",
|
|
74
|
-
"oracle-grants",
|
|
75
|
-
"oracle-receipts",
|
|
76
|
-
"trade-loop-circuit-breaker",
|
|
77
|
-
"oracle-chain-graphs-telegram-cards",
|
|
78
|
-
"oracle-nft-mint-gas-war"
|
|
79
|
-
],
|
|
80
|
-
"launch_build": [
|
|
81
|
-
"oracle-protocol-builder",
|
|
82
|
-
"oracle-nft-gacha-launch",
|
|
83
|
-
"oracle-dex-launch",
|
|
84
|
-
"oracle-protocol-security",
|
|
85
|
-
"oracle-multichain-token-launch",
|
|
86
|
-
"oracle-multichain-nft-launch",
|
|
87
|
-
"oracle-nft-mint-gas-war"
|
|
88
|
-
],
|
|
89
|
-
"analysis": [
|
|
90
|
-
"oracle-token-research",
|
|
91
|
-
"oracle-contract-research",
|
|
92
|
-
"oracle-smart-wallet-scanner",
|
|
93
|
-
"oracle-meme-token-sniper",
|
|
94
|
-
"oracle-best-execution",
|
|
95
|
-
"balance",
|
|
96
|
-
"oracle-chain-graphs-telegram-cards",
|
|
97
|
-
"oracle-rfq-tokenized-assets"
|
|
98
|
-
]
|
|
99
|
-
},
|
|
100
|
-
"excluded_from_public": [
|
|
101
|
-
"private deploy ops",
|
|
102
|
-
"private executor ops",
|
|
103
|
-
"private chain ops",
|
|
104
|
-
"operator infrastructure access",
|
|
105
|
-
"any skill that requires an operator wallet or server root access"
|
|
106
|
-
],
|
|
107
|
-
"protocol_build": {
|
|
108
|
-
"enabled": true,
|
|
109
|
-
"modes": [
|
|
110
|
-
"research-existing-protocol",
|
|
111
|
-
"scaffold-contracts",
|
|
112
|
-
"scaffold-nft-or-gacha",
|
|
113
|
-
"scaffold-dex-or-launchpad",
|
|
114
|
-
"write-deploy-scripts",
|
|
115
|
-
"prepare-unsigned-deploy-txs",
|
|
116
|
-
"security-checklist",
|
|
117
|
-
"launchpad-public-surface",
|
|
118
|
-
"multichain-token-launch",
|
|
119
|
-
"multichain-nft-collection-launch"
|
|
120
|
-
],
|
|
121
|
-
"user_signs": true,
|
|
122
|
-
"grant_actions_example": [
|
|
123
|
-
"read:chain",
|
|
124
|
-
"simulate:tx",
|
|
125
|
-
"prepare:deploy",
|
|
126
|
-
"prepare:verify"
|
|
127
|
-
],
|
|
128
|
-
"targets": "user-provided factory/router/implementations only unless added to destination allowlist",
|
|
129
|
-
"copy": "Oracle can classify and prepare chain-family token, NFT collection, protocol, gacha, and DEX launches. Unsupported adapters fail closed. You still sign every side effect."
|
|
130
|
-
},
|
|
131
|
-
"profiles": [
|
|
132
|
-
{
|
|
133
|
-
"id": "polymarket-agent",
|
|
134
|
-
"skills": [
|
|
135
|
-
"polymarket",
|
|
136
|
-
"polymarket-trade-journal",
|
|
137
|
-
"trade-loop-circuit-breaker",
|
|
138
|
-
"oracle-chain-graphs-telegram-cards"
|
|
139
|
-
],
|
|
140
|
-
"description": "Polymarket prediction markets: public event pricing/cards plus prepared order intents when user CLOB/API keys are configured."
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"id": "hyperliquid-agent",
|
|
144
|
-
"skills": [
|
|
145
|
-
"hyperliquid",
|
|
146
|
-
"hyperliquid-hip4-outcome-markets",
|
|
147
|
-
"trade-loop-circuit-breaker",
|
|
148
|
-
"oracle-chain-graphs-telegram-cards",
|
|
149
|
-
"oracle-rfq-tokenized-assets",
|
|
150
|
-
"oracle-hypercore-staking"
|
|
151
|
-
],
|
|
152
|
-
"description": "Hyperliquid perps/spot, HyperEVM, HIP-3 builder dexs, HIP-4 outcome markets, and HyperCore HYPE staking/delegation prepares. API-key actions activate only with user-provided keys."
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
"id": "robinhood-agent",
|
|
156
|
-
"skills": [
|
|
157
|
-
"rh-public-token-research",
|
|
158
|
-
"rh-token-research",
|
|
159
|
-
"rh-token-chart",
|
|
160
|
-
"rh-token-swap",
|
|
161
|
-
"oracle-meme-token-sniper",
|
|
162
|
-
"oracle-chain-graphs-telegram-cards",
|
|
163
|
-
"oracle-rfq-tokenized-assets"
|
|
164
|
-
],
|
|
165
|
-
"description": "Robinhood Chain tokens/NFTs plus tokenized Robinhood-style assets when chain/contract/route is verified."
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"id": "solana-agent",
|
|
169
|
-
"skills": [
|
|
170
|
-
"oracle-solana",
|
|
171
|
-
"oracle-receipts",
|
|
172
|
-
"oracle-circuit-breaker",
|
|
173
|
-
"oracle-best-execution",
|
|
174
|
-
"oracle-meme-token-sniper",
|
|
175
|
-
"oracle-chain-graphs-telegram-cards",
|
|
176
|
-
"oracle-rfq-tokenized-assets",
|
|
177
|
-
"oracle-solana-nft"
|
|
178
|
-
],
|
|
179
|
-
"label": "solana agent",
|
|
180
|
-
"description": "Solana research, SPL accounts, Jupiter quotes, live simulation, Magic Eden NFT reads plus unsigned buy/list/mint tickets, launch/meme-token scanning, and unsigned swap preparation."
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
"id": "bitcoin-agent",
|
|
184
|
-
"skills": [
|
|
185
|
-
"oracle-bitcoin",
|
|
186
|
-
"oracle-receipts",
|
|
187
|
-
"oracle-circuit-breaker",
|
|
188
|
-
"oracle-smart-wallet-scanner"
|
|
189
|
-
],
|
|
190
|
-
"label": "bitcoin agent",
|
|
191
|
-
"description": "Bitcoin L1, Ordinals/runes research, Satflow PSBTs, and inscription preparation."
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
"id": "stable-agent",
|
|
195
|
-
"skills": [
|
|
196
|
-
"evm-contract-research",
|
|
197
|
-
"self-custodial-onchain-execution",
|
|
198
|
-
"oracle-meme-token-sniper",
|
|
199
|
-
"oracle-chain-graphs-telegram-cards",
|
|
200
|
-
"oracle-rfq-tokenized-assets"
|
|
201
|
-
]
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"id": "protocol-builder",
|
|
205
|
-
"skills": [
|
|
206
|
-
"oracle-protocol-builder",
|
|
207
|
-
"oracle-contract-research",
|
|
208
|
-
"oracle-protocol-security",
|
|
209
|
-
"oracle-nft-gacha-launch",
|
|
210
|
-
"oracle-dex-launch",
|
|
211
|
-
"oracle-receipts",
|
|
212
|
-
"oracle-multichain-token-launch",
|
|
213
|
-
"oracle-multichain-nft-launch"
|
|
214
|
-
],
|
|
215
|
-
"label": "protocol builder",
|
|
216
|
-
"description": "Classify by chain family, then scaffold, review, and prepare unsigned token, NFT collection, gacha, DEX, and protocol launches."
|
|
217
|
-
}
|
|
218
|
-
],
|
|
219
|
-
"default_tools": {
|
|
220
|
-
"read": [
|
|
221
|
-
"mad_data",
|
|
222
|
-
"web_search",
|
|
223
|
-
"evm_quote",
|
|
224
|
-
"evm_simulate",
|
|
225
|
-
"btc_health",
|
|
226
|
-
"btc_fees",
|
|
227
|
-
"btc_inscription_info",
|
|
228
|
-
"solana_balance",
|
|
229
|
-
"portfolio_balance",
|
|
230
|
-
"portfolio_snapshot",
|
|
231
|
-
"portfolio_history",
|
|
232
|
-
"portfolio_value_graph",
|
|
233
|
-
"nft_inventory",
|
|
234
|
-
"nft_gallery",
|
|
235
|
-
"nft_pnl"
|
|
236
|
-
],
|
|
237
|
-
"prepare": [
|
|
238
|
-
"evm_prepare",
|
|
239
|
-
"evm_protocol_prepare",
|
|
240
|
-
"evm_protocol_quote",
|
|
241
|
-
"jupiter_quote",
|
|
242
|
-
"jupiter_prepare",
|
|
243
|
-
"bitcoin_inscribe_prepare",
|
|
244
|
-
"nft_prepare_list"
|
|
245
|
-
],
|
|
246
|
-
"never_public_default": [
|
|
247
|
-
"evm_sign",
|
|
248
|
-
"evm_send",
|
|
249
|
-
"solana_sign",
|
|
250
|
-
"solana_send",
|
|
251
|
-
"bitcoin_sign",
|
|
252
|
-
"bitcoin_send",
|
|
253
|
-
"bitcoin_inscribe_sign_commit",
|
|
254
|
-
"bitcoin_inscribe_sign_reveal"
|
|
255
|
-
]
|
|
256
|
-
},
|
|
257
|
-
"capabilities": [
|
|
258
|
-
"trader",
|
|
259
|
-
"builder",
|
|
260
|
-
"analyzer",
|
|
261
|
-
"solana-jupiter",
|
|
262
|
-
"bitcoin-inscriptions",
|
|
263
|
-
"nft-project-launch",
|
|
264
|
-
"gacha-launch",
|
|
265
|
-
"dex-launch",
|
|
266
|
-
"meme-token-sniping",
|
|
267
|
-
"onchain-scanner",
|
|
268
|
-
"smart-wallet-scanner",
|
|
269
|
-
"best-execution-routing",
|
|
270
|
-
"bridges",
|
|
271
|
-
"perps",
|
|
272
|
-
"vaults",
|
|
273
|
-
"prediction-markets",
|
|
274
|
-
"ordinals-runes",
|
|
275
|
-
"per-chain-graphs",
|
|
276
|
-
"telegram-cards",
|
|
277
|
-
"hip-3-builder-dex",
|
|
278
|
-
"hip-4-outcome-markets",
|
|
279
|
-
"polymarket-api-key-trading",
|
|
280
|
-
"cross-chain-rfq",
|
|
281
|
-
"rfq-best-execution",
|
|
282
|
-
"tokenized-robinhood-assets",
|
|
283
|
-
"nft-mint-gas-war-limits",
|
|
284
|
-
"nft-mint-bot",
|
|
285
|
-
"solana-nft-marketplace",
|
|
286
|
-
"solana-nft-mint",
|
|
287
|
-
"hypercore-hype-staking",
|
|
288
|
-
"hypercore-validator-delegation",
|
|
289
|
-
"multichain-token-launch",
|
|
290
|
-
"multichain-nft-collection-launch",
|
|
291
|
-
"multichain-balance",
|
|
292
|
-
"nft-inventory-gallery-pnl",
|
|
293
|
-
"portfolio-balance-history-graph"
|
|
294
|
-
]
|
|
295
|
-
}
|
package/dist/action-receipts.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createHash as m}from"node:crypto";import{wordlists as g}from"ethers";var A=1,E=new Set(["privatekey","privkey","secretkey","seedphrase","seed","mnemonic","passphrase","password","keystore","keymaterial","wif","xprv","xpriv","bearer","authorization","signature","apikey","credential"]),x=[/\b[5KL][1-9A-HJ-NP-Za-km-z]{50,51}\b/,/\bxprv[0-9A-Za-z]{50,}\b/],$=new Set([12,15,18,21,24]);function S(e){let t=String(e).trim().toLowerCase().split(/\s+/).filter(Boolean);return $.has(t.length)&&t.every(r=>g.en.getWordIndex(r)>=0)}var H=/^\s*(?:0x)?[0-9a-fA-F]{64}\s*$/,O=/(hash|digest|root|salt|nonce|proof|commitment|sig|id)(?:e?s)?$/i,j=new Set(["calldata","data","publickey","pubkey","message","payload","input","extradata"]);function T(e){let t=b(e);return j.has(t)||O.test(t)}var f=class extends Error{constructor(t){super(`action receipt refused: secret-bearing field at ${t}`),this.name="ActionReceiptSecretError",this.code="ACTION_RECEIPT_SECRET"}};function b(e){return String(e).replace(/[^a-z0-9]/gi,"").toLowerCase()}function C(e){let t=b(e);return[...E].some(r=>t.includes(r))}function _(e,t,r){if(typeof t=="string"){if(x.some(o=>o.test(t))||S(t))throw new f(r);if(H.test(t)&&!T(e))throw new f(r)}}function a(e,t="$",r=""){if(e==null||typeof e=="boolean")return e;if(typeof e=="string")return _(r,e,t),e;if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError(`action receipt: non-finite number at ${t}`);return e}if(typeof e=="bigint")return e.toString();if(Array.isArray(e))return e.map((n,i)=>a(n,`${t}[${i}]`,r));if(typeof e!="object"||Object.getPrototypeOf(e)!==Object.prototype)throw new TypeError(`action receipt: JSON-like value required at ${t}`);let o={};for(let n of Object.keys(e).sort()){let i=`${t}.${n}`;if(C(n))throw new f(i);e[n]!==void 0&&(o[n]=a(e[n],i,n))}return o}function L(e){return a(e)}function d(e){return e===null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?`[${e.map(d).join(",")}]`:`{${Object.keys(e).map(t=>`${JSON.stringify(t)}:${d(e[t])}`).join(",")}}`}function R(e){return d(a(e))}function k(e){if(!e||typeof e!="object"||Array.isArray(e))throw new TypeError("action receipt: object required");let{receiptId:t,summary:r,...o}=e;return m("sha256").update(R(o)).digest("hex")}function c(e,...t){for(let r of t)if(e[r]!==void 0)return e[r]}function s(e,t,r){let o=c(e,...t);if(o==null)throw new TypeError(`action receipt: ${r} required`);return o}function I(e){let t=c(e,"balances","balanceChanges"),r=c(e,"beforeBalances","balancesBefore","before"),o=c(e,"afterBalances","balancesAfter","after");return t!==void 0?{balances:t}:r===void 0&&o===void 0?{}:{balances:{...r===void 0?{}:{before:r},...o===void 0?{}:{after:o}}}}function N(e={}){if(!e||typeof e!="object"||Array.isArray(e))throw new TypeError("action receipt: input object required");a(e);let t=c(e,"txHash","transactionHash"),r=c(e,"phase","stage","resultType")??(t==null?"prepare":"execute");if(r!=="prepare"&&r!=="execute")throw new TypeError('action receipt: phase must be "prepare" or "execute"');let o={receiptVersion:A,phase:r,intent:s(e,["intent"],"intent"),route:s(e,["route"],"route"),decodedAction:s(e,["decodedAction","action"],"decodedAction"),policyChecks:s(e,["policyChecks","checks"],"policyChecks"),allowlistHits:s(e,["allowlistHits","allowlistMatches"],"allowlistHits"),prepareHash:s(e,["prepareHash"],"prepareHash"),...t==null?{}:{txHash:t},...I(e)},n=a(o);return Object.freeze({...n,receiptId:k(n)})}var q=N;function u(e,t=[]){if(typeof e=="string"||typeof e=="number")return String(e);for(let r of t)if(e?.[r]!=null)return String(e[r]);return"recorded"}function y(e){if(typeof e=="boolean")return e;if(e&&typeof e=="object"){if(typeof e.ok=="boolean")return e.ok;if(typeof e.allowed=="boolean")return e.allowed;if(typeof e.passed=="boolean")return e.passed}return null}function z(e){if(!e||typeof e!="object")throw new TypeError("action receipt: object required");let t=u(e.decodedAction,["type","action","method","name"]),r=u(e.route,["name","provider","venue","id"]),o=Array.isArray(e.policyChecks)?e.policyChecks:Object.values(e.policyChecks||{}),n=o.filter(l=>y(l)===!0).length,i=o.filter(l=>y(l)===!1).length,p=Array.isArray(e.allowlistHits)?e.allowlistHits.length:Object.keys(e.allowlistHits||{}).length,h=e.txHash==null?"no transaction hash":`tx ${e.txHash}`,w=e.balances==null?"balances not provided":"before/after balances recorded";return`${e.phase} ${t} via ${r}; policy ${n} passed, ${i} failed; ${p} allowlist hit${p===1?"":"s"}; ${h}; ${w}; receipt ${e.receiptId}`}var F=z;export{A as ACTION_RECEIPT_VERSION,f as ActionReceiptSecretError,L as assertNoReceiptSecrets,R as canonicalReceiptJson,k as computeReceiptId,q as createActionReceipt,F as formatActionReceipt,N as normalizeActionReceipt,z as summarizeActionReceipt};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var o=Object.freeze({ALERT_ONLY:"alert_only",EXECUTE:"execute"}),i=new Set(["watch","watch this","ping","ping me","alert","notify"]),r=new Set(["watching","armed"]);function a(t){if(typeof t!="string"||!t.trim())throw new TypeError("explicit action verb required");let e=t.trim().toLowerCase().replace(/\s+/g," ");if(i.has(e))return o.ALERT_ONLY;if(e==="arm")return o.EXECUTE;throw new TypeError(`unsupported action verb: ${e}`)}function c(t={}){let{verb:e,...n}=t;return{...n,active:!0,actionMode:a(e)}}function u(t){if(!t||typeof t!="object"||typeof t.active!="boolean")throw new TypeError("active must be boolean");if(!Object.values(o).includes(t.actionMode))throw new TypeError("actionMode must be alert_only or execute");return t}function E(t){return t?.active===!0&&t?.actionMode===o.ALERT_ONLY}function s(t){return t?.active===!0&&t?.actionMode===o.EXECUTE}function p(t={}){if(t.actionMode!==void 0&&t.actionMode!==o.ALERT_ONLY)throw new TypeError("non-alert record cannot enter alert-only watch migration");let e=typeof t.active=="boolean"?t.active:r.has(String(t.status||"").toLowerCase());return{...t,active:e,actionMode:o.ALERT_ONLY}}export{o as ACTION_MODES,a as actionModeForVerb,u as assertActionRecord,c as createActionRecord,E as isActiveAlert,s as isActiveExecution,p as migrateLegacyWatchRecord};
|
package/dist/address-book.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import c from"node:fs";import d from"node:path";import{homedir as b}from"node:os";import{join as h}from"node:path";var w=h(b(),".config","oracle"),z=h(b(),".config","mad-desk");function m(e,r,t=""){let o=process.env[e];if(o!=null&&String(o).trim()!=="")return o;let n=r?process.env[r]:void 0;return n!=null&&String(n).trim()!==""?n:t}var g=/^0x[0-9a-fA-F]{40}$/,_=new Set(["privatekey","private_key","secret","seed","mnemonic","passphrase","signature","keystore"]),D=["privatekey","privkey","secretkey","secret","seedphrase","seed","mnemonic","passphrase","password","keystore","keymaterial","signature","wif","xprv","xpriv","apikey","bearer","credential"],O=[/\b[5KL][1-9A-HJ-NP-Za-km-z]{50,51}\b/,/\bxprv[0-9A-Za-z]{50,}\b/,/\b(?:[a-z]{3,8}\s+){11,}[a-z]{3,8}\b/i],y=/^\s*(?:0x)?[0-9a-fA-F]{64}\s*$/;function I(e){return String(e).toLowerCase().replace(/[^a-z0-9]/g,"")}function L(e,r){let t=I(e);if(_.has(String(e).toLowerCase())||D.some(o=>t.includes(o)))throw new Error(`address-book: ${r} is forbidden; the book stores labels, never key material`)}function N(e,r){if(typeof e=="string"&&(O.some(t=>t.test(e))||y.test(e)))throw new Error(`address-book: ${r} looks like key material; the book stores labels, never key material`)}function E(){let e=m("ORACLE_ADDRESS_BOOK","MAD_ADDRESS_BOOK","");if(e)return d.resolve(e);let r=m("ORACLE_CONFIG_DIR","MAD_CONFIG_DIR",w);return d.join(r,"address-book.json")}function p(e,r="field"){if(Array.isArray(e)){e.forEach((t,o)=>p(t,`${r}[${o}]`));return}if(!e||typeof e!="object"){N(e,r);return}for(let[t,o]of Object.entries(e))L(t,t),p(o,t)}function S(e){let r=String(e||"").trim();if(!g.test(r))throw new Error("address-book: address must be 0x + 40 hex characters");return r.toLowerCase()}function a(e,r){return e==null||e===""?null:String(e).slice(0,r)}function k(){return{version:1,updatedAt:null,entries:[]}}function x(e){return{address:String(e.address).toLowerCase(),label:a(e.label,80)||"unknown",who:a(e.who,120),role:a(e.role,40),chainIds:Array.isArray(e.chainIds)?e.chainIds.map(Number).filter(Number.isFinite):[],notes:a(e.notes,500),source:a(e.source,80),firstSeenAt:e.firstSeenAt||null,lastSeenAt:e.lastSeenAt||null}}function l(){try{let e=JSON.parse(c.readFileSync(E(),"utf8"));if(!e||typeof e!="object")return k();let r=Array.isArray(e.entries)?e.entries:[];return{version:1,updatedAt:e.updatedAt||null,entries:r.filter(t=>t&&typeof t=="object"&&g.test(String(t.address||""))).map(x)}}catch{return k()}}function v(e){let r=E();c.mkdirSync(d.dirname(r),{recursive:!0,mode:448});let t={...e,version:1,updatedAt:new Date().toISOString()},o=d.join(d.dirname(r),`.address-book.${process.pid}.tmp`);c.writeFileSync(o,`${JSON.stringify(t,null,2)}
|
|
2
|
-
`,{mode:384}),c.renameSync(o,r);try{c.chmodSync(r,384)}catch{}return t}function G(e={}){let r=l(),t=r.entries;if(e.role&&(t=t.filter(o=>o.role===String(e.role))),e.who){let o=String(e.who).toLowerCase();t=t.filter(n=>(n.who||"").toLowerCase().includes(o)||(n.label||"").toLowerCase().includes(o))}if(e.q){let o=String(e.q).toLowerCase();t=t.filter(n=>n.address.includes(o)||(n.label||"").toLowerCase().includes(o)||(n.who||"").toLowerCase().includes(o)||(n.notes||"").toLowerCase().includes(o))}return{updatedAt:r.updatedAt,count:t.length,entries:t}}function P(e){let r=S(e),t=l().entries.filter(o=>o.address===r);return{address:r,found:t.length>0,entries:t}}function q(e={}){p(e);let r=S(e.address),t=a(e.label??e.role,80)||"wallet",o=new Date().toISOString(),n=l(),i=n.entries.findIndex(s=>s.address===r&&s.label===t),u=x({address:r,label:t,who:e.who,role:e.role,chainIds:e.chainIds,notes:e.notes,source:e.source||"agent",firstSeenAt:i>=0&&n.entries[i].firstSeenAt||o,lastSeenAt:o});i>=0?n.entries[i]=u:n.entries.push(u);let A=s=>s==="agent"?0:s==="owner"?1:2;n.entries.sort((s,f)=>A(s.role)-A(f.role)||s.label.localeCompare(f.label)||s.address.localeCompare(f.address));let C=v(n);return{ok:!0,entry:u,count:C.entries.length}}function Y(e,r=null){let t=S(e),o=l(),n=o.entries.length;return o.entries=o.entries.filter(i=>i.address!==t?!0:r==null?!1:i.label!==String(r)),v(o),{ok:!0,removed:n-o.entries.length,count:o.entries.length}}export{E as addressBookPath,Y as forgetAddress,G as listAddresses,P as lookupAddress,l as readAddressBook,q as rememberAddress};
|