@oracle-agent/oracle 0.11.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/LICENSE +115 -201
- package/README.md +13 -516
- package/bin/oracle.mjs +19 -27
- package/package.json +15 -98
- package/CONTRIBUTING.md +0 -98
- package/SECURITY.md +0 -89
- package/SETUP.md +0 -381
- 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/bin/desk-server.mjs +0 -440
- package/bin/oracle-data-mcp.mjs +0 -1019
- package/bin/oracle-init.mjs +0 -496
- package/bin/oracle-public-server.mjs +0 -36
- package/bin/oracle-route.mjs +0 -254
- package/bin/oracle-scan.mjs +0 -192
- package/bin/oracle-upgrade.mjs +0 -42
- package/docs/adding-a-chain.md +0 -229
- package/docs/architecture.md +0 -138
- package/docs/cli.md +0 -47
- package/docs/connectors.md +0 -13
- package/docs/oracle-pack-standard.md +0 -29
- package/docs/profiles.md +0 -151
- package/docs/public-surface.md +0 -133
- package/examples/add-a-chain.mjs +0 -65
- package/examples/oracle-pack-template.mjs +0 -38
- package/examples/research-a-token.mjs +0 -70
- package/plugins/oracle-owner-gate/__init__.py +0 -227
- package/plugins/oracle-owner-gate/plugin.yaml +0 -9
- package/profiles/_template/SOUL.md +0 -54
- package/profiles/_template/profile.json +0 -22
- package/profiles/bitcoin-agent/SOUL.md +0 -31
- package/profiles/bitcoin-agent/profile.json +0 -32
- package/profiles/hyperliquid-agent/SOUL.md +0 -34
- package/profiles/hyperliquid-agent/profile.json +0 -37
- package/profiles/oracle/SOUL.md +0 -107
- package/profiles/oracle/profile.json +0 -39
- package/profiles/polymarket-agent/SOUL.md +0 -35
- package/profiles/polymarket-agent/profile.json +0 -34
- package/profiles/profile.schema.json +0 -90
- package/profiles/protocol-builder/SOUL.md +0 -57
- package/profiles/protocol-builder/profile.json +0 -39
- package/profiles/robinhood-agent/SOUL.md +0 -53
- package/profiles/robinhood-agent/profile.json +0 -40
- package/profiles/solana-agent/SOUL.md +0 -37
- package/profiles/solana-agent/profile.json +0 -37
- package/profiles/stable-agent/SOUL.md +0 -43
- package/profiles/stable-agent/profile.json +0 -37
- package/protocols/templates/safe-erc20/SECURITY.md +0 -16
- package/protocols/templates/safe-erc20/foundry.toml +0 -12
- package/protocols/templates/safe-erc20/remappings.txt +0 -2
- package/protocols/templates/safe-erc20/src/SafeERC20.sol +0 -53
- package/protocols/templates/safe-erc20/test/SafeERC20.t.sol +0 -72
- 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 -1558
- package/public/oracle-splash/mesh-graph.png +0 -0
- package/public/oracle-splash/mesh-graph.svg +0 -216
- package/scripts/adversarial-bench.mjs +0 -114
- package/scripts/build-inscription.py +0 -230
- package/scripts/check-doc-drift.mjs +0 -123
- package/scripts/check-test-count.mjs +0 -105
- package/scripts/e2e-hl-markets.mjs +0 -21
- package/scripts/e2e-hl-perps.mjs +0 -48
- package/scripts/e2e-hypercore-staking.mjs +0 -128
- package/scripts/e2e-solana-bitcoin.mjs +0 -183
- package/scripts/protocol-template-gate.mjs +0 -15
- package/scripts/public-api-scan.mjs +0 -23
- package/scripts/secret-scan.mjs +0 -181
- package/scripts/verify-v3-venues.mjs +0 -192
- package/skills/balance/SKILL.md +0 -176
- package/skills/oracle-action-semantics/SKILL.md +0 -40
- package/skills/oracle-best-execution/SKILL.md +0 -127
- package/skills/oracle-bitcoin/SKILL.md +0 -53
- package/skills/oracle-chain-graphs-telegram-cards/SKILL.md +0 -59
- package/skills/oracle-chat/SKILL.md +0 -61
- package/skills/oracle-chat/chain.SKILL.md +0 -31
- package/skills/oracle-chat/setup.SKILL.md +0 -37
- package/skills/oracle-circuit-breaker/SKILL.md +0 -51
- package/skills/oracle-contract-research/SKILL.md +0 -55
- package/skills/oracle-desk/SKILL.md +0 -58
- package/skills/oracle-dex-launch/SKILL.md +0 -38
- package/skills/oracle-grants/SKILL.md +0 -69
- package/skills/oracle-hypercore-staking/SKILL.md +0 -57
- package/skills/oracle-hyperliquid/SKILL.md +0 -56
- package/skills/oracle-meme-token-sniper/SKILL.md +0 -73
- package/skills/oracle-multichain-nft-launch/SKILL.md +0 -338
- package/skills/oracle-multichain-token-launch/SKILL.md +0 -300
- package/skills/oracle-nft-gacha-launch/SKILL.md +0 -48
- package/skills/oracle-nft-mint-gas-war/SKILL.md +0 -63
- package/skills/oracle-polymarket/SKILL.md +0 -60
- package/skills/oracle-protocol-builder/SKILL.md +0 -59
- package/skills/oracle-protocol-security/SKILL.md +0 -60
- package/skills/oracle-public-product/SKILL.md +0 -44
- package/skills/oracle-receipts/SKILL.md +0 -52
- package/skills/oracle-rfq-tokenized-assets/SKILL.md +0 -69
- package/skills/oracle-smart-wallet-scanner/SKILL.md +0 -49
- package/skills/oracle-solana/SKILL.md +0 -65
- package/skills/oracle-solana-nft/SKILL.md +0 -54
- package/skills/oracle-token-research/SKILL.md +0 -67
- package/skins/oracle.yaml +0 -56
- package/src/action-receipts.mjs +0 -265
- package/src/action-semantics.mjs +0 -62
- package/src/address-book.mjs +0 -208
- package/src/agent-auth.mjs +0 -206
- package/src/approval-guard.mjs +0 -282
- package/src/attestation-secret.mjs +0 -88
- package/src/audit-log.mjs +0 -196
- package/src/auth/oauth.mjs +0 -672
- package/src/auto-slippage.mjs +0 -378
- package/src/capability-posture.mjs +0 -125
- package/src/chains.mjs +0 -62
- package/src/cli/chain-catalog.mjs +0 -215
- package/src/cli/chain-state.mjs +0 -74
- package/src/cli/commands/auth.mjs +0 -193
- package/src/cli/commands/bootstrap.mjs +0 -87
- package/src/cli/commands/chain.mjs +0 -143
- package/src/cli/commands/chat.mjs +0 -434
- package/src/cli/commands/credential.mjs +0 -9
- package/src/cli/commands/data-mcp.mjs +0 -18
- package/src/cli/commands/data.mjs +0 -75
- package/src/cli/commands/doctor.mjs +0 -136
- package/src/cli/commands/help.mjs +0 -7
- package/src/cli/commands/init.mjs +0 -27
- package/src/cli/commands/mcp.mjs +0 -142
- package/src/cli/commands/model.mjs +0 -99
- package/src/cli/commands/prepare.mjs +0 -12
- package/src/cli/commands/public.mjs +0 -20
- package/src/cli/commands/route.mjs +0 -12
- package/src/cli/commands/runner.mjs +0 -9
- package/src/cli/commands/scan.mjs +0 -12
- package/src/cli/commands/setup.mjs +0 -275
- package/src/cli/commands/sign.mjs +0 -21
- package/src/cli/commands/signer.mjs +0 -9
- package/src/cli/commands/upgrade.mjs +0 -12
- package/src/cli/commands/vault.mjs +0 -9
- package/src/cli/commands/version.mjs +0 -22
- package/src/cli/first-run.mjs +0 -23
- package/src/cli/kernel.mjs +0 -239
- package/src/cli/mcp-targets/chatgpt.mjs +0 -51
- package/src/cli/mcp-targets/claude-code.mjs +0 -39
- package/src/cli/mcp-targets/claude-desktop.mjs +0 -24
- package/src/cli/mcp-targets/codex.mjs +0 -41
- package/src/cli/mcp-targets/shared.mjs +0 -61
- package/src/cli/messaging-platforms.mjs +0 -209
- package/src/cli/model-config.mjs +0 -70
- package/src/cli/operator-dispatch.mjs +0 -258
- package/src/cli/oracle-harness.py +0 -415
- package/src/cli/paths.mjs +0 -83
- package/src/cli/runtime.mjs +0 -351
- package/src/cli/setup-state.mjs +0 -168
- package/src/cli/spawn-child.mjs +0 -43
- package/src/data/catalog.mjs +0 -585
- package/src/data/desk-data.mjs +0 -695
- package/src/data/http.mjs +0 -253
- package/src/data/provider-endpoint.mjs +0 -94
- package/src/data/providers/aerodrome.mjs +0 -245
- package/src/data/providers/balancer.mjs +0 -209
- package/src/data/providers/bitcoin-esplora.mjs +0 -216
- package/src/data/providers/bitcoin-meta.mjs +0 -378
- package/src/data/providers/blockscout.mjs +0 -14
- package/src/data/providers/bridges.mjs +0 -242
- package/src/data/providers/cowswap.mjs +0 -415
- package/src/data/providers/curve.mjs +0 -201
- package/src/data/providers/defillama.mjs +0 -88
- package/src/data/providers/dexscreener.mjs +0 -43
- package/src/data/providers/evm-rpc.mjs +0 -225
- package/src/data/providers/geckoterminal.mjs +0 -34
- package/src/data/providers/gmx.mjs +0 -496
- package/src/data/providers/hl-assets.mjs +0 -165
- package/src/data/providers/hl-info.mjs +0 -108
- package/src/data/providers/hl-markets.mjs +0 -210
- package/src/data/providers/hl-outcome.mjs +0 -61
- package/src/data/providers/hl-perps.mjs +0 -387
- package/src/data/providers/hl-staking.mjs +0 -353
- package/src/data/providers/hl-ws.mjs +0 -119
- package/src/data/providers/hyperevm-dex.mjs +0 -49
- package/src/data/providers/jupiter-venues.mjs +0 -119
- package/src/data/providers/jupiter.mjs +0 -315
- package/src/data/providers/lifi.mjs +0 -151
- package/src/data/providers/magiceden-sol.mjs +0 -406
- package/src/data/providers/morpho.mjs +0 -177
- package/src/data/providers/nft-gallery.mjs +0 -163
- package/src/data/providers/nft-portfolio.mjs +0 -494
- package/src/data/providers/odos.mjs +0 -156
- package/src/data/providers/oneinch.mjs +0 -174
- package/src/data/providers/opensea-multichain.mjs +0 -136
- package/src/data/providers/opensea-nft.mjs +0 -371
- package/src/data/providers/paraswap.mjs +0 -118
- package/src/data/providers/pendle.mjs +0 -188
- package/src/data/providers/poly-clob.mjs +0 -283
- package/src/data/providers/poly-public.mjs +0 -96
- package/src/data/providers/poly-ws.mjs +0 -103
- package/src/data/providers/portfolio-history.mjs +0 -394
- package/src/data/providers/portfolio.mjs +0 -594
- package/src/data/providers/rfq.mjs +0 -15
- package/src/data/providers/rh-agent.mjs +0 -59
- package/src/data/providers/satflow.mjs +0 -341
- package/src/data/providers/signed-material-guard.mjs +0 -108
- package/src/data/providers/solana-rpc.mjs +0 -197
- package/src/data/providers/uniswap-v3.mjs +0 -349
- package/src/data/providers/uniswap-v4.mjs +0 -414
- package/src/data/providers/zerox.mjs +0 -167
- package/src/data/public-api-scan.mjs +0 -61
- package/src/data/quote-placeholder.mjs +0 -31
- package/src/exact-integer.mjs +0 -72
- package/src/exec-policy.mjs +0 -455
- package/src/flags.mjs +0 -15
- package/src/fresh-window.mjs +0 -76
- package/src/gmx-attestation.mjs +0 -176
- package/src/index.mjs +0 -100
- package/src/nft-gas-war-guard.mjs +0 -139
- package/src/onboarding/agent-keys.mjs +0 -161
- package/src/onboarding/harness-configs.mjs +0 -102
- package/src/onboarding/index.mjs +0 -18
- package/src/onboarding/tiers.mjs +0 -139
- package/src/oracle-env.mjs +0 -47
- package/src/portfolio-risk.mjs +0 -170
- package/src/prepare-envelope.mjs +0 -204
- package/src/profile-upgrade.mjs +0 -277
- package/src/protocol-execution.mjs +0 -84
- package/src/protocol-templates/gate.mjs +0 -179
- package/src/protocol-templates/prepare-deploy.mjs +0 -81
- package/src/public-api/buzz-integration.mjs +0 -256
- package/src/public-api/connect-agent.mjs +0 -416
- package/src/public-api/grants.mjs +0 -142
- package/src/public-api/http.mjs +0 -389
- package/src/public-control/aa-adapter.mjs +0 -402
- package/src/public-control/build-registry.mjs +0 -227
- package/src/public-control/bundler-client.mjs +0 -357
- package/src/public-control/grant-indexer.mjs +0 -296
- package/src/public-control/policy-render.mjs +0 -69
- package/src/public-control/policy-schema.mjs +0 -318
- package/src/public-control/runtime-config.mjs +0 -275
- package/src/public-control/session-key-model.mjs +0 -374
- package/src/public-control/session-orchestrator.mjs +0 -412
- package/src/rfq/intent.mjs +0 -180
- package/src/rfq/sources.mjs +0 -181
- package/src/route-attestation.mjs +0 -132
- package/src/router/best-execution.mjs +0 -326
- package/src/router/index.mjs +0 -226
- package/src/router/prepare-bridge.mjs +0 -289
- package/src/router/prepare-route.mjs +0 -398
- package/src/router/proposal.mjs +0 -311
- package/src/router/risk-classifier.mjs +0 -119
- package/src/router/route-sources.mjs +0 -364
- package/src/scanner/chains.config.mjs +0 -430
- package/src/scanner/contract.mjs +0 -270
- package/src/scanner/evm-scanner.mjs +0 -394
- package/src/scanner/index.mjs +0 -9
- package/src/scanner/v2-venue.mjs +0 -335
- package/src/scanner/v3-venue.mjs +0 -290
- package/src/scopes.mjs +0 -44
- package/src/sell-simulation.mjs +0 -167
- package/src/signals/engine.mjs +0 -146
- package/src/signals/index.mjs +0 -1
- package/src/token-transfer-guard.mjs +0 -188
- package/src/tui/app.mjs +0 -438
- package/src/tui/backend.mjs +0 -145
- package/src/tui/format.mjs +0 -272
- package/src/tui/gateway-client.mjs +0 -177
- package/src/tui/input.mjs +0 -501
- package/src/tui/renderer.mjs +0 -443
- package/src/tui/standalone-client.mjs +0 -666
- package/src/tui/theme.mjs +0 -81
- package/src/vault-attestation.mjs +0 -146
- package/src/venues.mjs +0 -206
- package/src/watch-preferences.mjs +0 -85
package/package.json
CHANGED
|
@@ -1,110 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oracle-agent/oracle",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Oracle
|
|
5
|
-
"license": "Apache-2.0",
|
|
3
|
+
"version": "0.13.0",
|
|
4
|
+
"description": "Oracle is distributed to Locals Only holders. This package is a pointer to the gate, not the product.",
|
|
6
5
|
"type": "module",
|
|
7
|
-
"
|
|
8
|
-
"access": "public"
|
|
9
|
-
},
|
|
10
|
-
"homepage": "https://github.com/demi-hl/oracle",
|
|
11
|
-
"repository": {
|
|
12
|
-
"type": "git",
|
|
13
|
-
"url": "https://github.com/demi-hl/oracle.git"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"ai-agent",
|
|
17
|
-
"multichain",
|
|
18
|
-
"evm",
|
|
19
|
-
"self-custody",
|
|
20
|
-
"defi",
|
|
21
|
-
"hermes",
|
|
22
|
-
"nous",
|
|
23
|
-
"mcp"
|
|
24
|
-
],
|
|
6
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
25
7
|
"engines": {
|
|
26
8
|
"node": ">=20.19.0"
|
|
27
9
|
},
|
|
28
10
|
"bin": {
|
|
29
|
-
"oracle": "
|
|
30
|
-
"oracle-data": "./bin/desk-server.mjs",
|
|
31
|
-
"oracle-public": "./bin/oracle-public-server.mjs",
|
|
32
|
-
"oracle-data-mcp": "./bin/oracle-data-mcp.mjs",
|
|
33
|
-
"oracle-init": "./bin/oracle-init.mjs",
|
|
34
|
-
"oracle-upgrade": "./bin/oracle-upgrade.mjs",
|
|
35
|
-
"oracle-scan": "./bin/oracle-scan.mjs",
|
|
36
|
-
"oracle-route": "./bin/oracle-route.mjs"
|
|
37
|
-
},
|
|
38
|
-
"exports": {
|
|
39
|
-
".": "./src/index.mjs",
|
|
40
|
-
"./data": "./src/data/desk-data.mjs",
|
|
41
|
-
"./policy": "./src/public-control/policy-schema.mjs",
|
|
42
|
-
"./chains": "./src/chains.mjs",
|
|
43
|
-
"./scanner": "./src/scanner/index.mjs",
|
|
44
|
-
"./router": "./src/router/index.mjs",
|
|
45
|
-
"./action-semantics": "./src/action-semantics.mjs",
|
|
46
|
-
"./address-book": "./src/address-book.mjs",
|
|
47
|
-
"./nft-gas-war": "./src/nft-gas-war-guard.mjs",
|
|
48
|
-
"./prepare-envelope": "./src/prepare-envelope.mjs",
|
|
49
|
-
"./connect": "./src/onboarding/harness-configs.mjs",
|
|
50
|
-
"./receipts": "./src/action-receipts.mjs",
|
|
51
|
-
"./risk": "./src/portfolio-risk.mjs",
|
|
52
|
-
"./watch": "./src/watch-preferences.mjs",
|
|
53
|
-
"./signals": "./src/signals/index.mjs"
|
|
54
|
-
},
|
|
55
|
-
"scripts": {
|
|
56
|
-
"test": "ORACLE_TEST_ISOLATE_SECRETS=1 ORACLE_ROUTE_ATTESTATION_SECRET=oracle-unit-test-secret node --test test/*.test.mjs",
|
|
57
|
-
"test:boundary": "ORACLE_TEST_ISOLATE_SECRETS=1 ORACLE_ROUTE_ATTESTATION_SECRET=oracle-unit-test-secret node --test test/custody-boundary.test.mjs",
|
|
58
|
-
"e2e:solana-bitcoin": "node scripts/e2e-solana-bitcoin.mjs",
|
|
59
|
-
"e2e:hypercore-staking": "node scripts/e2e-hypercore-staking.mjs",
|
|
60
|
-
"start:data": "node bin/desk-server.mjs",
|
|
61
|
-
"start:public": "node bin/oracle-public-server.mjs",
|
|
62
|
-
"scan:public-apis": "node scripts/public-api-scan.mjs",
|
|
63
|
-
"health": "node -e \"import('./src/data/desk-data.mjs').then(m=>m.data.health().then(h=>console.log(JSON.stringify(h,null,2))))\"",
|
|
64
|
-
"init": "node bin/oracle-init.mjs",
|
|
65
|
-
"init:apply": "node bin/oracle-init.mjs --apply",
|
|
66
|
-
"scan": "node bin/oracle-scan.mjs",
|
|
67
|
-
"verify:venues": "node scripts/verify-v3-venues.mjs",
|
|
68
|
-
"route": "node bin/oracle-route.mjs",
|
|
69
|
-
"scan:secrets": "node scripts/secret-scan.mjs",
|
|
70
|
-
"test:count": "node scripts/check-test-count.mjs",
|
|
71
|
-
"test:count:update": "node scripts/check-test-count.mjs --update",
|
|
72
|
-
"test:protocol-templates": "RUN_PROTOCOL_TEMPLATE_TESTS=1 node --test test/protocol-templates.test.mjs",
|
|
73
|
-
"protocol:gate": "node scripts/protocol-template-gate.mjs",
|
|
74
|
-
"gate:docs": "node scripts/check-doc-drift.mjs",
|
|
75
|
-
"gate:release": "npm run gate:docs && node --test test/flag-polarity.test.mjs"
|
|
76
|
-
},
|
|
77
|
-
"dependencies": {
|
|
78
|
-
"@msgpack/msgpack": "^3.1.3",
|
|
79
|
-
"@noble/curves": "^2.2.0",
|
|
80
|
-
"@noble/hashes": "^2.2.0",
|
|
81
|
-
"@scure/base": "^2.2.0",
|
|
82
|
-
"ethers": "^6.16.0",
|
|
83
|
-
"viem": "^2.55.8"
|
|
11
|
+
"oracle": "bin/oracle.mjs"
|
|
84
12
|
},
|
|
85
13
|
"files": [
|
|
86
14
|
"bin/",
|
|
87
|
-
"src/",
|
|
88
|
-
"!src/**/__pycache__/**",
|
|
89
|
-
"profiles/",
|
|
90
|
-
"skills/",
|
|
91
|
-
"skins/",
|
|
92
|
-
"plugins/",
|
|
93
|
-
"public/",
|
|
94
|
-
"artifacts/",
|
|
95
15
|
"README.md",
|
|
96
|
-
"
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"protocols/templates/**/SECURITY.md",
|
|
108
|
-
"src/protocol-templates/**"
|
|
109
|
-
]
|
|
16
|
+
"LICENSE"
|
|
17
|
+
],
|
|
18
|
+
"keywords": [
|
|
19
|
+
"oracle",
|
|
20
|
+
"locals-only"
|
|
21
|
+
],
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/demi-hl/oracle.git"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://oracle.demi.la"
|
|
110
27
|
}
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
# Contributing to Oracle
|
|
2
|
-
|
|
3
|
-
Thanks for looking. Oracle is a control plane for money movement, so the review
|
|
4
|
-
bar is about safety and honesty more than style.
|
|
5
|
-
|
|
6
|
-
## Before you start
|
|
7
|
-
|
|
8
|
-
Run the suite:
|
|
9
|
-
|
|
10
|
-
```bash
|
|
11
|
-
npm install
|
|
12
|
-
npm test
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
391 tests, all green. If they aren't green on a clean checkout, that's a bug —
|
|
16
|
-
please report it.
|
|
17
|
-
|
|
18
|
-
## The one rule that matters
|
|
19
|
-
|
|
20
|
-
**The public plane may never reach a private key or a house signer.**
|
|
21
|
-
|
|
22
|
-
Oracle ships the data plane, the policy plane, and the control plane. It does not
|
|
23
|
-
ship the executor. A PR that imports signer or keystore code into public modules
|
|
24
|
-
will fail `test/custody-boundary.test.mjs`, and the fix is not to edit the
|
|
25
|
-
forbidden list.
|
|
26
|
-
|
|
27
|
-
If your feature seems to need a key, restructure it: build an unsigned
|
|
28
|
-
transaction or a typed-data intent and hand it back to the caller to sign.
|
|
29
|
-
|
|
30
|
-
## What we want
|
|
31
|
-
|
|
32
|
-
- **Real bugs, fixed at the class level.** Reproduce it, point at the line, fix
|
|
33
|
-
every sibling call path — not just the one that was reported.
|
|
34
|
-
- **New chains and providers.** This is the most useful contribution. See below.
|
|
35
|
-
- **Honest capability tiers.** If a provider can only quote, mark it
|
|
36
|
-
`quote-only`. Do not mark it `prepare` because a prepare function exists but
|
|
37
|
-
was never validated against a live route.
|
|
38
|
-
- **Tests that assert invariants**, not snapshots. `assert` that a minimum output
|
|
39
|
-
is enforced; don't freeze today's provider list into an equality check.
|
|
40
|
-
- **Guards recomputed before signing.** A quote-time check that isn't re-verified
|
|
41
|
-
at broadcast is decoration.
|
|
42
|
-
|
|
43
|
-
## What gets rejected
|
|
44
|
-
|
|
45
|
-
- A signer, private key, or house-custody path in the public tree.
|
|
46
|
-
- A destination allowlist that defaults to permissive, or an empty allowlist read
|
|
47
|
-
as "allow all."
|
|
48
|
-
- Slippage widened past the 100 bps cap to make a trade go through. Block,
|
|
49
|
-
requote, or split instead.
|
|
50
|
-
- A claim of execution support with no live prepare/simulate evidence.
|
|
51
|
-
- Secrets in code, tests, fixtures, or docs — including a real wallet address as
|
|
52
|
-
a default `from` for quotes. Use `src/data/quote-placeholder.mjs`.
|
|
53
|
-
- "It worked when I ran it" with no test.
|
|
54
|
-
|
|
55
|
-
## Adding a provider
|
|
56
|
-
|
|
57
|
-
1. Create `src/data/providers/<name>.mjs`.
|
|
58
|
-
2. Export a `health()` plus the ops you actually implement.
|
|
59
|
-
3. Register it in `src/data/catalog.mjs` with truthful `chainIds`, `auth`, `ops`,
|
|
60
|
-
and `execution` tier.
|
|
61
|
-
4. Add a test with a mocked transport. Do not require a live network for CI.
|
|
62
|
-
5. If it needs a key, the health check must report
|
|
63
|
-
`{ ok: false, configured: false }` rather than throwing.
|
|
64
|
-
|
|
65
|
-
## Adding a chain
|
|
66
|
-
|
|
67
|
-
1. Add an entry to `CHAINS` in `src/chains.mjs` with its `rpcEnv` names.
|
|
68
|
-
2. Verify every router/venue address on-chain (`eth_getCode` must return real
|
|
69
|
-
bytecode) before adding it to `src/venues.mjs`.
|
|
70
|
-
3. Comment each venue addition with how you verified it and when.
|
|
71
|
-
4. An unverified chain stays fail-closed. That is a safe state, not a gap.
|
|
72
|
-
|
|
73
|
-
Never allowlist a router you found only in a blog post or a model's answer. The
|
|
74
|
-
destination allowlist is the highest-leverage control in the system.
|
|
75
|
-
|
|
76
|
-
## Commits and PRs
|
|
77
|
-
|
|
78
|
-
Conventional prefixes: `fix:`, `feat:`, `refactor:`, `docs:`, `test:`, `chore:`.
|
|
79
|
-
|
|
80
|
-
In the PR body, state:
|
|
81
|
-
|
|
82
|
-
- what broke or what's new
|
|
83
|
-
- how you verified it (paste the real command output)
|
|
84
|
-
- whether anything touches the custody boundary
|
|
85
|
-
|
|
86
|
-
Small, reviewable PRs get merged. A 3000-line PR mixing a refactor with a policy
|
|
87
|
-
change will sit.
|
|
88
|
-
|
|
89
|
-
## Style
|
|
90
|
-
|
|
91
|
-
- ES modules, Node 20+, no build step.
|
|
92
|
-
- No new runtime dependency without a reason in the PR description.
|
|
93
|
-
- Comments explain *why*, not *what*. If a line encodes a hard-won fact — a
|
|
94
|
-
provider's unit quirk, a revert cause — say so, and say how it was learned.
|
|
95
|
-
|
|
96
|
-
## License
|
|
97
|
-
|
|
98
|
-
Contributions are accepted under [Apache-2.0](LICENSE).
|
package/SECURITY.md
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# Security Policy
|
|
2
|
-
|
|
3
|
-
## Reporting a vulnerability
|
|
4
|
-
|
|
5
|
-
**Do not open a public issue for a live exploit.**
|
|
6
|
-
|
|
7
|
-
Email **security@demi.la** with:
|
|
8
|
-
|
|
9
|
-
- what the issue is
|
|
10
|
-
- how to reproduce it
|
|
11
|
-
- the impact you believe it has
|
|
12
|
-
- whether funds are at risk right now
|
|
13
|
-
|
|
14
|
-
You'll get an acknowledgement within 72 hours. If funds are actively at risk,
|
|
15
|
-
say so in the subject line and we'll treat it as urgent.
|
|
16
|
-
|
|
17
|
-
Please give us a reasonable window to ship a fix before public disclosure. We
|
|
18
|
-
will credit you unless you'd rather stay anonymous.
|
|
19
|
-
|
|
20
|
-
## Scope
|
|
21
|
-
|
|
22
|
-
In scope:
|
|
23
|
-
|
|
24
|
-
- custody-boundary escapes (public code reaching a signer or key material)
|
|
25
|
-
- destination-allowlist bypasses
|
|
26
|
-
- slippage/minimum-output guard bypasses
|
|
27
|
-
- grant forgery, replay, or scope escalation
|
|
28
|
-
- route/vault/order attestation forgery
|
|
29
|
-
- secret leakage through an API response or log
|
|
30
|
-
|
|
31
|
-
Out of scope:
|
|
32
|
-
|
|
33
|
-
- third-party provider outages and their rate limits
|
|
34
|
-
- economic risk inherent to a protocol you chose to trade
|
|
35
|
-
- issues that require the operator's own machine to already be compromised
|
|
36
|
-
- deployment hardening for an operator's separate private execution service
|
|
37
|
-
|
|
38
|
-
## Threat model
|
|
39
|
-
|
|
40
|
-
Oracle assumes the language model can be wrong or adversarially steered. The
|
|
41
|
-
model is treated as an untrusted proposer.
|
|
42
|
-
|
|
43
|
-
Consequences of that assumption, which are the invariants worth attacking:
|
|
44
|
-
|
|
45
|
-
1. **The public package never holds a key.** Signing happens in the user's
|
|
46
|
-
wallet. Source-only operator modules are excluded from public entrypoints and
|
|
47
|
-
the npm artifact.
|
|
48
|
-
2. **Model output is not authorization.** A grant is authorization, and a grant
|
|
49
|
-
is signed by the owner, scoped, and expiring.
|
|
50
|
-
3. **Destinations are allowlisted per chain and fail closed.** An empty allowlist
|
|
51
|
-
refuses everything. It never means "allow anything."
|
|
52
|
-
4. **Model-authored metadata is not trusted for routing.** Dynamic execution
|
|
53
|
-
targets require an attestation minted inside the trusted boundary.
|
|
54
|
-
5. **Guards are recomputed at sign and broadcast time**, not just at quote time,
|
|
55
|
-
because a stale minimum is not a minimum.
|
|
56
|
-
|
|
57
|
-
If you find a path where model-authored text becomes an authorized on-chain
|
|
58
|
-
action without an owner signature and a policy check, that is the bug we most
|
|
59
|
-
want to hear about.
|
|
60
|
-
|
|
61
|
-
## Enforcement in CI
|
|
62
|
-
|
|
63
|
-
`test/custody-boundary.test.mjs` walks the public import graph, and
|
|
64
|
-
`test/public-release-hardening.test.mjs` inspects the packed npm artifact. The
|
|
65
|
-
build fails if either public surface reaches wallet key material or a house
|
|
66
|
-
signer. The secret scanner also checks current files and Git history. CI runs
|
|
67
|
-
the boundary suite on every push and pull request.
|
|
68
|
-
|
|
69
|
-
A security claim that isn't enforced by a test is just a comment.
|
|
70
|
-
|
|
71
|
-
## Residual operator notes
|
|
72
|
-
|
|
73
|
-
These are not public-package custody holes. They are operator constraints that
|
|
74
|
-
still apply after the public boundary hardening:
|
|
75
|
-
|
|
76
|
-
1. **Owner-local signer modules live in the public companion**
|
|
77
|
-
[`@oracle-agent/operator`](https://github.com/demi-hl/oracle-operator)
|
|
78
|
-
(`hl-exec`, `key-vault`, `oracle-vault`). Keys stay on the operator's
|
|
79
|
-
machine. They must not be restored into this prepare-only package or its
|
|
80
|
-
npm artifact. CI fails if a pack of *this* repo includes those paths.
|
|
81
|
-
2. **Prepare helpers that validate executable routes require an attestation
|
|
82
|
-
secret** (`requireSigned`) so they cannot be used as a softer pre-broadcast
|
|
83
|
-
gate than `enforceTxPolicy`.
|
|
84
|
-
3. **Daily spend ledger locks are pid + TTL based.** A live owner holds the
|
|
85
|
-
lock; a dead pid or expired lock is reclaimed. Override TTL with
|
|
86
|
-
`ORACLE_LEDGER_LOCK_TTL_MS` only if you know you need a longer window.
|
|
87
|
-
4. **GitHub process controls** (branch protection, CodeQL, secret scanning,
|
|
88
|
-
Dependabot) are enabled on this public repo and are independent of the
|
|
89
|
-
package boundary tests.
|